From 48bef1c8e51a2d8ac9c10197e1b5f2a1457d8692 Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Wed, 02 Dec 2020 23:31:22 +0800
Subject: [PATCH] 人次统计

---
 zq-erp/src/main/java/com/matrix/system/hiveErp/action/DataAnalysisCustomer.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 50 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..401caeb 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,50 @@
      * @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);
+            }
+        });
+    }
+
+
+
+
+
+    /**
+     *  按店铺查询数据通用格式执行方法,支持时、日、月、年维度
+     *  如:              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 +102,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