From 2e3c12ca3a7241f498c32121cb1572502c998d0d Mon Sep 17 00:00:00 2001 From: 935090232@qq.com <ak473600000> Date: Sat, 09 Jan 2021 00:42:00 +0800 Subject: [PATCH] 公众号模板消息demo --- 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