From a9f950c0d11a687a7a940443b8c765f6d87ae4f1 Mon Sep 17 00:00:00 2001
From: jyy <935090232@qq.com>
Date: Tue, 20 Apr 2021 00:26:22 +0800
Subject: [PATCH] 合并新的修改
---
zq-erp/src/main/java/com/matrix/system/hive/service/imp/DataAnalysisCustomerServiceImpl.java | 66 +++++++++++++++++++++++++++++++-
1 files changed, 63 insertions(+), 3 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/DataAnalysisCustomerServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/DataAnalysisCustomerServiceImpl.java
index 5b37ed0..1b11435 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/DataAnalysisCustomerServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/DataAnalysisCustomerServiceImpl.java
@@ -3,9 +3,11 @@
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.tools.WebUtil;
+import com.matrix.system.app.dto.VipStatisticsParamDto;
import com.matrix.system.common.bean.SysCompany;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.dao.SysCompanyDao;
+import com.matrix.system.common.dao.SysUsersDao;
import com.matrix.system.common.tools.DataAuthUtil;
import com.matrix.system.hive.bean.SysShopInfo;
import com.matrix.system.hive.dao.SysShopInfoDao;
@@ -28,6 +30,9 @@
@Autowired
private SysCompanyDao sysCompanyDao;
+ @Autowired
+ private SysUsersDao sysUsersDao;
+
/**
* 按店铺查询数据通用格式执行方法,支持时、日、月、年维度
* 如: A店铺 B店铺
@@ -49,7 +54,7 @@
SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
List<SysShopInfo> shops = null;
if (statisticsParam.getShopId() != null) {
- shops = Arrays.asList(shopInfoDao.selectById(statisticsParam.getShopId()));
+ shops = Arrays.asList(shopInfoDao.selectById(user.getShopId()));
} else {
if (DataAuthUtil.hasAllShopAuth()) {
shops = shopInfoDao.selectShopInfo(user.getCompanyId());
@@ -84,7 +89,8 @@
Map<Object, Object> data = new HashMap<>();
data.put("legendData", legendData);
data.put("series", series);
- data.put("xAxis", StatisticsTimeUtil.getFormartDateList(xAxis, statisticsParam));
+ String[] xData = StatisticsTimeUtil.getFormartDateList(xAxis, statisticsParam);
+ data.put("xAxis", Arrays.copyOf(xData, xData.length - 1));
result.setMapInfo(data);
result.setStatus(AjaxResult.STATUS_SUCCESS);
return result;
@@ -107,6 +113,8 @@
//定义数据主体
String[] legendData = new String[1];
+ int i = 0;
+
//按门店统计数据
List<StatisticsTimeDaoParam> timeSpaceParam = StatisticsTimeUtil.buidParam(xAxis);
@@ -124,7 +132,59 @@
Map<Object, Object> data = new HashMap<>();
data.put("legendData", legendData);
data.put("series", series);
- data.put("xAxis", StatisticsTimeUtil.getFormartDateList(xAxis, statisticsParam));
+ String[] xData = StatisticsTimeUtil.getFormartDateList(xAxis, statisticsParam);
+ data.put("xAxis", Arrays.copyOf(xData, xData.length - 1));
+ result.setMapInfo(data);
+ result.setStatus(AjaxResult.STATUS_SUCCESS);
+ return result;
+ }
+
+ public AjaxResult getStaffAnalysisResult(VipStatisticsParamDto statisticsParam, Caculate caculate) {
+ AjaxResult result = new AjaxResult();
+
+ //根据计算横坐标
+ List<Date> xAxis = StatisticsTimeUtil.getTimeSpace(statisticsParam.getBeginTime(), statisticsParam.getEndTime(), statisticsParam.getStatisticsUnit());
+
+ //获取所有门店
+ SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+
+ Long staffId = null;
+ if (statisticsParam.getStaffId() == null) {
+ staffId = user.getSuId();
+ } else {
+ staffId = statisticsParam.getStaffId();
+ }
+ SysUsers sysUsers = sysUsersDao.selectById(staffId);
+
+ //定义数据项内容
+ List<SeriesVo> series = new ArrayList<>();
+
+ //定义数据主体
+ String[] legendData = new String[1];
+
+ int i = 0;
+
+ //按门店统计数据
+ List<StatisticsTimeDaoParam> timeSpaceParam = StatisticsTimeUtil.buidParam(xAxis);
+
+ legendData[0] = sysUsers.getSuName();
+ //数据项内容
+ SeriesVo storeInfoSeries = new SeriesVo();
+ storeInfoSeries.setName(sysUsers.getSuName());
+ //调用计算器获取数据库统计的结果
+ Map<String, Integer> yAxisMap = caculate.exec(timeSpaceParam, null, sysUsers.getSuId());
+ //把统计结果转成数组格式
+ storeInfoSeries.setData(StatisticsTimeUtil.getSeries(yAxisMap));
+ series.add(storeInfoSeries);
+
+ //构造返回对象
+ Map<Object, Object> data = new HashMap<>();
+ data.put("legendData", legendData);
+ data.put("series", series);
+ StatisticsParamVo statisticsParam1 = new StatisticsParamVo();
+ statisticsParam1.setStatisticsUnit(statisticsParam.getStatisticsUnit());
+ String[] xData = StatisticsTimeUtil.getFormartDateList(xAxis, statisticsParam1);
+ data.put("xAxis", Arrays.copyOf(xData, xData.length - 1));
result.setMapInfo(data);
result.setStatus(AjaxResult.STATUS_SUCCESS);
return result;
--
Gitblit v1.9.1