From de6b4819fab29c6a167916d66ed10ec99cfba7eb Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Sat, 05 Dec 2020 07:12:55 +0800
Subject: [PATCH] Merge branch 'master' into hive2.0
---
zq-erp/src/main/java/com/matrix/system/hiveErp/action/DataAnalysisCustomer.java | 81 +++++++++++++++++++++++++++++++++++-----
1 files changed, 71 insertions(+), 10 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 6703ad4..c25461f 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
@@ -6,10 +6,9 @@
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.hive.bean.SysShopInfo;
import com.matrix.system.hive.dao.SysShopInfoDao;
-import com.matrix.system.hiveErp.analysUtil.SeriesVo;
-import com.matrix.system.hiveErp.analysUtil.StatisticsParamVo;
+import com.matrix.system.hiveErp.analysUtil.*;
import com.matrix.system.hiveErp.dao.TjVipSumDao;
-import com.matrix.system.hiveErp.analysUtil.StatisticsTimeUtil;
+import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -41,9 +40,71 @@
* @param statisticsParam
* @return
*/
- @RequestMapping(value = "customerHeadCompare")
- public @ResponseBody AjaxResult vipVisitCompare(StatisticsParamVo statisticsParam) {
+ @RequestMapping(value = "/customerHeadCompare")
+ public @ResponseBody AjaxResult customerHeadCompare(StatisticsParamVo statisticsParam) {
+ return getAnalysisResult(statisticsParam, new Caculate() {
+ @Override
+ public Map<String, Integer> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId) {
+ //从员工业绩统计表中,按时间段,门店的维度统计人头数
+ return tjVipSumDao.customerHeadCompare(timeSpaceParam,shopId);
+ }
+ });
+ }
+ /**
+ * 会员人次统计
+ * 业务说明:
+ * 一个会员在一天进店一次或者多次即为一个人次
+ * @param statisticsParam
+ * @return
+ */
+ @RequestMapping(value = "/customerEnterCountCompare")
+ public @ResponseBody AjaxResult customerEnterCountCompare(StatisticsParamVo statisticsParam) {
+ return getAnalysisResult(statisticsParam, new Caculate() {
+ @Override
+ public Map<String, Integer> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId) {
+ //从员工业绩统计表中,按时间段,门店的维度统计人次
+ return tjVipSumDao.customerEnterCountCompare(timeSpaceParam,shopId);
+ }
+ });
+ }
+
+
+ /**
+ * 到店率
+ * 业务说明:
+ * 门店所有客户人次数除以人头数
+ * @param statisticsParam
+ * @return
+ */
+ @RequestMapping(value = "/customerEnterRateCompare")
+ public @ResponseBody AjaxResult customerEnterRateCompare(StatisticsParamVo statisticsParam) {
+ return getAnalysisResult(statisticsParam, new Caculate() {
+ @Override
+ public Map<String, Integer> exec(List<StatisticsTimeDaoParam> timeSpaceParam, Long shopId) {
+ //从员工业绩统计表中,按时间段,门店的维度统计人次
+ return tjVipSumDao.customerEnterRateCompare(timeSpaceParam,shopId);
+ }
+ });
+ }
+
+
+
+
+
+
+
+ /**
+ * 按店铺查询数据通用格式执行方法,支持时、日、月、年维度
+ * 如: 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();
//根据计算横坐标
@@ -62,16 +123,16 @@
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 = tjVipSumDao.countVisitByTime(StatisticsTimeUtil.buidParam(xAxis),shop.getId());
-
+ //调用计算器获取数据库统计的结果
+ Map<String, Integer> yAxisMap = caculate.exec(timeSpaceParam,shop.getId());
+ //把统计结果转成数组格式
storeInfoSeries.setData(StatisticsTimeUtil.getSeries(yAxisMap));
series.add(storeInfoSeries);
--
Gitblit v1.9.1