From bbe0a2fd03063316e50cf141986bda984599bbda Mon Sep 17 00:00:00 2001 From: 935090232@qq.com <ak473600000> Date: Tue, 22 Feb 2022 23:41:42 +0800 Subject: [PATCH] Merge branch 'developer' --- zq-erp/src/main/java/com/matrix/system/hiveErp/action/DataAnalysisCustomer.java | 86 ++++++++++++++----------------------------- 1 files changed, 28 insertions(+), 58 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/hiveErp/action/DataAnalysisCustomer.java b/zq-erp/src/main/java/com/matrix/system/hiveErp/action/DataAnalysisCustomer.java index 401caeb..5fc7ecb 100644 --- a/zq-erp/src/main/java/com/matrix/system/hiveErp/action/DataAnalysisCustomer.java +++ b/zq-erp/src/main/java/com/matrix/system/hiveErp/action/DataAnalysisCustomer.java @@ -1,14 +1,16 @@ package com.matrix.system.hiveErp.action; +import com.matrix.component.redis.RedisClient; import com.matrix.core.constance.MatrixConstance; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.tools.WebUtil; import com.matrix.system.common.bean.SysUsers; +import com.matrix.system.common.tools.DataAuthUtil; import com.matrix.system.hive.bean.SysShopInfo; import com.matrix.system.hive.dao.SysShopInfoDao; +import com.matrix.system.hive.service.imp.DataAnalysisCustomerServiceImpl; import com.matrix.system.hiveErp.analysUtil.*; import com.matrix.system.hiveErp.dao.TjVipSumDao; -import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -30,7 +32,8 @@ @Autowired SysShopInfoDao shopInfoDao; - + @Autowired + DataAnalysisCustomerServiceImpl dataAnalysisCustomerService; /** * 会员人头数统计 @@ -42,9 +45,9 @@ */ @RequestMapping(value = "/customerHeadCompare") public @ResponseBody AjaxResult customerHeadCompare(StatisticsParamVo statisticsParam) { - return getAnalysisResult(statisticsParam, new Caculate() { + return dataAnalysisCustomerService.getAnalysisResult(statisticsParam, new Caculate<Integer>() { @Override - public Map<String, Integer> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId) { + public Map<String, Integer> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId, Long companyId) { //从员工业绩统计表中,按时间段,门店的维度统计人头数 return tjVipSumDao.customerHeadCompare(timeSpaceParam,shopId); } @@ -60,11 +63,30 @@ */ @RequestMapping(value = "/customerEnterCountCompare") public @ResponseBody AjaxResult customerEnterCountCompare(StatisticsParamVo statisticsParam) { - return getAnalysisResult(statisticsParam, new Caculate() { + return dataAnalysisCustomerService.getAnalysisResult(statisticsParam, new Caculate<Integer>() { @Override - public Map<String, Integer> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId) { + public Map<String, Integer> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId, Long companyId) { //从员工业绩统计表中,按时间段,门店的维度统计人次 return tjVipSumDao.customerEnterCountCompare(timeSpaceParam,shopId); + } + }); + } + + + /** + * 到店率 + * 业务说明: + * 门店所有客户人次数除以人头数 + * @param statisticsParam + * @return + */ + @RequestMapping(value = "/customerEnterRateCompare") + public @ResponseBody AjaxResult customerEnterRateCompare(StatisticsParamVo statisticsParam) { + return dataAnalysisCustomerService.getAnalysisResult(statisticsParam, new Caculate<Integer>() { + @Override + public Map<String, Integer> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId, Long companyId) { + //从员工业绩统计表中,按时间段,门店的维度统计人次 + return tjVipSumDao.customerEnterRateCompare(timeSpaceParam,shopId); } }); } @@ -73,58 +95,6 @@ - /** - * 按店铺查询数据通用格式执行方法,支持时、日、月、年维度 - * 如: A店铺 B店铺 - * 2020-01-01 12 13 - * 2020-02-02 10 11 - * @param statisticsParam 时间条件 - * @param caculate 循环调用caculate计算该店的数据 - * 查询的数据需满足 只有一个门店只有一行 列名称为 t0,t1,t2 - * @return - */ - private AjaxResult getAnalysisResult(StatisticsParamVo 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); - List<SysShopInfo> shops= shopInfoDao.selectShopInfo(user.getCompanyId()); - - //定义数据项内容 - List<SeriesVo> series=new ArrayList<>(); - - //定义数据主体 - String[] legendData=new String[shops.size()]; - - int i=0; - - //按门店统计数据 - List<StatisticsTimeDaoParam> timeSpaceParam = StatisticsTimeUtil.buidParam(xAxis); - for(SysShopInfo shop: shops){ - - legendData[i++]=shop.getShopName(); - //数据项内容 - SeriesVo storeInfoSeries=new SeriesVo(); - storeInfoSeries.setName(shop.getShopName()); - //调用计算器获取数据库统计的结果 - Map<String, Integer> yAxisMap = caculate.exec(timeSpaceParam,shop.getId()); - //把统计结果转成数组格式 - storeInfoSeries.setData(StatisticsTimeUtil.getSeries(yAxisMap)); - series.add(storeInfoSeries); - - } - //构造返回对象 - Map<Object,Object> data=new HashMap<>(); - data.put("legendData",legendData); - data.put("series",series); - data.put("xAxis", StatisticsTimeUtil.getFormartDateList(xAxis,statisticsParam)); - result.setMapInfo(data); - result.setStatus(AjaxResult.STATUS_SUCCESS); - return result; - } -- Gitblit v1.9.1