From 1eedb8a57c2eb5c9953dcf058184ebdc6987fbf5 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 24 May 2022 15:14:21 +0800
Subject: [PATCH] Merge branch 'feature/订单服务单代码改造' into alpha
---
zq-erp/src/main/java/com/matrix/system/hive/statistics/SysBusinessDataAction.java | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 103 insertions(+), 2 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/statistics/SysBusinessDataAction.java b/zq-erp/src/main/java/com/matrix/system/hive/statistics/SysBusinessDataAction.java
index 1cd802f..a0e5f4f 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/statistics/SysBusinessDataAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/statistics/SysBusinessDataAction.java
@@ -1,17 +1,27 @@
package com.matrix.system.hive.statistics;
+import cn.hutool.core.util.StrUtil;
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.pojo.PaginationVO;
+import com.matrix.core.tools.DateUtil;
import com.matrix.core.tools.WebUtil;
+import com.matrix.system.app.dto.BusinessesDto;
+import com.matrix.system.app.vo.BusinessesDataShowVo;
import com.matrix.system.common.bean.SysUsers;
-import com.matrix.system.common.constance.AppConstance;
+import com.matrix.system.common.tools.DataAuthUtil;
+import com.matrix.system.hive.bean.SysBusinessData;
import com.matrix.system.hive.dao.SysBusinessDataDao;
+import com.matrix.system.hiveErp.analysUtil.StatisticsTimeDaoParam;
+import com.matrix.system.hiveErp.analysUtil.StatisticsTimeUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
import java.util.List;
/**
@@ -33,7 +43,7 @@
public @ResponseBody
AjaxResult showList(BusinessDataShowVo businessDataShowVo, PaginationVO pageVo) {
SysUsers sysUsers = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
- if(!AppConstance.ZONGDIAN.equals(sysUsers.getShopName())){
+ if (!DataAuthUtil.hasAllShopAuth()) {
businessDataShowVo.setShopId(sysUsers.getShopId()+"");
}
pageVo.setSort("createTime");
@@ -44,5 +54,96 @@
return result;
}
+ /**
+ * 日销售汇总
+ *
+ * @param dailySaleVo
+ * @param pageVo
+ * @return
+ */
+ @RequestMapping(value = "/findDailySaleData")
+ @ResponseBody
+ public AjaxResult findDailySaleData(DailySaleVo dailySaleVo, PaginationVO pageVo) {
+ SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+ Calendar calendar = Calendar.getInstance();
+ int total = 999;
+
+ Date endDate = new Date();
+ if (dailySaleVo.getEndTime() != null) {
+ if (!dailySaleVo.getEndTime().after(new Date())) {
+ calendar.setTime(dailySaleVo.getEndTime());
+ endDate = DateUtil.nextNDate(dailySaleVo.getEndTime(), 1);
+ }
+ }
+
+ calendar.add(Calendar.DATE, 1);
+ calendar.add(Calendar.DATE, -pageVo.getOffset());
+ String endTime = DateUtil.dateToString(calendar.getTime(), DateUtil.DATE_FORMAT_DD);
+ calendar.add(Calendar.DATE, -pageVo.getLimit());
+ String startTime = DateUtil.dateToString(calendar.getTime(), DateUtil.DATE_FORMAT_DD);
+
+ if (dailySaleVo.getBeginTime() != null) {
+ Date startDate = DateUtil.stringToDate(startTime, DateUtil.DATE_FORMAT_DD);
+ if(dailySaleVo.getBeginTime().after(startDate)) {
+ startTime = DateUtil.dateFormatStr(dailySaleVo.getBeginTime(), DateUtil.DATE_FORMAT_DD);
+ }
+ long sub = DateUtil.getTimeSpan(dailySaleVo.getBeginTime(), endDate, null);
+ Long l = sub / (1000 * 3600 * 24);
+ total = l.intValue();
+ }
+ List<Date> xAxis = StatisticsTimeUtil.getTimeSpace(startTime, endTime, "日");
+ List<StatisticsTimeDaoParam> timeSpaceParam = StatisticsTimeUtil.buidParam(xAxis);
+ List<StatisticsTimeDaoParam> statisticsTimeDaoParams = timeSpaceParam.subList(0, timeSpaceParam.size() - 2);
+
+ if (dailySaleVo.getShopId() == null) {
+ dailySaleVo.setShopId(user.getShopId());
+ }
+ List<DailySaleVo> dailySaleVos = sysBusinessDataDao.selectDailySaleData(statisticsTimeDaoParams, dailySaleVo.getShopId());
+ List<DailySaleVo> result = new ArrayList<>();
+ for (int i = dailySaleVos.size() - 1; i >= 0; i--) {
+ result.add(dailySaleVos.get(i));
+ }
+ return AjaxResult.buildSuccessInstance(result, total);
+ }
+
+ @RequestMapping(value = "/findShopBusinessesData")
+ @ResponseBody
+ public AjaxResult findShopBusinessesData(BusinessDataShowVo businessDataShowVo, PaginationVO pageVo) {
+ int start = pageVo.getOffset();
+ int size = pageVo.getLimit();
+ int calenderUnit = Calendar.DATE;
+ Long shopId = null;
+ SysUsers sysUsers = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
+
+ if (StrUtil.isNotBlank(businessDataShowVo.getShopId())) {
+ shopId = Long.parseLong(businessDataShowVo.getShopId());
+ } else {
+ shopId = sysUsers.getShopId();
+ }
+ Calendar calendar = Calendar.getInstance();
+ if (businessDataShowVo.getBeginTime() != null) {
+ calendar.setTime(businessDataShowVo.getBeginTime());
+ }
+ calendar.add(calenderUnit, 1);
+ calendar.add(calenderUnit, -start);
+ String endTime = DateUtil.dateToString(calendar.getTime(), DateUtil.DATE_FORMAT_DD);
+ calendar.add(calenderUnit, -size);
+ String startTime = DateUtil.dateToString(calendar.getTime(), DateUtil.DATE_FORMAT_DD);
+
+ List<Date> xAxis = StatisticsTimeUtil.getTimeSpace(startTime, endTime, "日");
+ List<StatisticsTimeDaoParam> timeSpaceParam = StatisticsTimeUtil.buidParam(xAxis);
+ List<StatisticsTimeDaoParam> statisticsTimeDaoParams = timeSpaceParam.subList(0, timeSpaceParam.size() - 2);
+ List<BusinessesDataShowVo> list = sysBusinessDataDao.selectApiBusinessData(statisticsTimeDaoParams, shopId, sysUsers.getCompanyId());
+
+
+ List<BusinessesDataShowVo> result = new ArrayList<>();
+ for (int i = list.size() - 1; i >= 0; i--) {
+ BusinessesDataShowVo item = list.get(i);
+ String dataTime = item.getDataTime();
+ item.setDataTime(DateUtil.dateToString(DateUtil.stringToDate(dataTime, DateUtil.DATE_FORMAT_DD), DateUtil.DATE_FORMAT_DD));
+ result.add(item);
+ }
+ return AjaxResult.buildSuccessInstance(result, 100);
+ }
}
\ No newline at end of file
--
Gitblit v1.9.1