From 1fb23cbeeaaeda0a66cf8fe8977c3f5915743cc7 Mon Sep 17 00:00:00 2001
From: fengjin <1435304038@qq.com>
Date: 星期五, 21 十月 2022 15:13:10 +0800
Subject: [PATCH] Merge branch 'zigonggao_dev' into huacheng_test

---
 flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java |  154 ++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 109 insertions(+), 45 deletions(-)

diff --git a/flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java b/flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java
index 2c2b017..31ed007 100644
--- a/flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java
+++ b/flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java
@@ -2,6 +2,7 @@
 
 import com.dg.core.ResultData;
 import com.dg.core.db.gen.entity.*;
+import com.dg.core.db.manual.pojo.AppletUserCount;
 import com.dg.core.service.*;
 import com.dg.core.util.TableDataInfo;
 import io.swagger.annotations.Api;
@@ -28,9 +29,6 @@
     @Autowired
     IGuideEvolveService iGuideEvolveService;
 
-    //分类
-    @Autowired
-    IClassifyAdministrationService iClassifyAdministrationService;
 
     @Autowired
     HomeStatisticsService homeStatisticsService;
@@ -44,48 +42,56 @@
     IOrganizationChartService iOrganizationChartService;
 
 
+    @Autowired
+    IAreaCodeService iAreaCodeService;
+
+    @Autowired
+    private ISysUserRecordService iSysUserRecordService;
+
+
     @ApiOperation("首页统计不同状态工单数")
     @GetMapping("/getWorkOrder")
-    public ResultData getWorkOrder()
+    public ResultData<WorkOrder> getWorkOrder()
     {
         WorkOrder workOrder=new WorkOrder();
-        //状态(1待分配  2 待办结 3 已办结 4 待评价 5 已取消  6未解决  7已解决)
-        workOrder.setAllNum(iGuideRepairOrderService.countStatisticsNum("",null,null,null,null,null));
-        workOrder.setWaitDistribution(iGuideRepairOrderService.countStatisticsNum("1",null,null,null,null,null));
-        workOrder.setWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",null,null,null,null,null));
-        workOrder.setHaveDealWith(iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null,null));
-        workOrder.setRemainEvaluated(iGuideRepairOrderService.countStatisticsNum("4",null,null,null,null,null));
-        workOrder.setCanceled(iGuideRepairOrderService.countStatisticsNum("5",null,null,null,null,null));
-        workOrder.setUnsolved(iGuideRepairOrderService.countStatisticsNum("6",null,null,null,null,null));
-        workOrder.setResolved(iGuideRepairOrderService.countStatisticsNum("7",null,null,null,null,null));
+        //状态(1待分配  2 待办结 3 已办结 4 待评价 5 已取消)
+        workOrder.setAllNum(iGuideRepairOrderService.countStatisticsNum("",null,null,null,null,null,null,null));
+        workOrder.setWaitDistribution(iGuideRepairOrderService.countStatisticsNum("1",null,null,null,null,null,null,null));
+        workOrder.setWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",null,null,null,null,null,null,null));
+        workOrder.setHaveDealWith(iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null,null,null,null));
+        workOrder.setRemainEvaluated(iGuideRepairOrderService.countStatisticsNum("4",null,null,null,null,null,null,null));
+        workOrder.setCanceled(iGuideRepairOrderService.countStatisticsNum("5",null,null,null,null,null,null,null));
+        // //服务状态(1.已解决 2.未解决)
+        workOrder.setUnsolved(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,null,"2",null));
+        workOrder.setResolved(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,null,"1",null));
 
         //是否超时 (1 未超时   2已超时) 超时未办结
-        workOrder.setOvertime(iGuideRepairOrderService.countStatisticsNum(null,null,null,"2",null,null));
+        workOrder.setOvertime(iGuideRepairOrderService.countStatisticsNum(null,null,null,"2",null,null,null,null));
 //        超时未办结
-        workOrder.setOvertimeWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",null,null,"2",null,null));
+        workOrder.setOvertimeWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",null,null,"2",null,null,null,null));
         return ResultData.success(workOrder);
     }
 
 
     @ApiOperation("首页统计不同时间段的工单数量")
     @GetMapping("/getTimeWorkOrder")
-    public ResultData getTimeWorkOrder()
+    public ResultData<TimeWorkOrder> getTimeWorkOrder()
     {
         //1 今天   2昨天   3本月   4本年度
         //累计全部 本年 本月 今日 昨日
         TimeWorkOrder timeWorkOrder=new TimeWorkOrder();
-        timeWorkOrder.setAllNum(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,null));
-        timeWorkOrder.setYearNum(iGuideRepairOrderService.countStatisticsNum(null,null,"4",null,null,null));
-        timeWorkOrder.setMonthNum(iGuideRepairOrderService.countStatisticsNum(null,null,"3",null,null,null));
-        timeWorkOrder.setTodayNum(iGuideRepairOrderService.countStatisticsNum(null,null,"1",null,null,null));
-        timeWorkOrder.setYesterdayNum(iGuideRepairOrderService.countStatisticsNum(null,null,"2",null,null,null));
+        timeWorkOrder.setAllNum(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,null,null,null));
+        timeWorkOrder.setYearNum(iGuideRepairOrderService.countStatisticsNum(null,null,"4",null,null,null,null,null));
+        timeWorkOrder.setMonthNum(iGuideRepairOrderService.countStatisticsNum(null,null,"3",null,null,null,null,null));
+        timeWorkOrder.setTodayNum(iGuideRepairOrderService.countStatisticsNum(null,null,"1",null,null,null,null,null));
+        timeWorkOrder.setYesterdayNum(iGuideRepairOrderService.countStatisticsNum(null,null,"2",null,null,null,null,null));
         return ResultData.success(timeWorkOrder);
     }
 
 
     @ApiOperation("根据选择的时间段 筛选导办工单数 timeType:1 本年度 15 近15天的   30 近30天的")
     @GetMapping("/getSelectionTimeOrder")
-    public ResultData getSelectionTimeOrder(@RequestParam("timeType") Integer timeType)
+    public ResultData<CountList> getSelectionTimeOrder(@RequestParam("timeType") Integer timeType)
     {
         if(timeType<1)
         {
@@ -111,52 +117,52 @@
 
     @ApiOperation("获取效率比值")
     @GetMapping("/getEfficiency")
-    public ResultData getEfficiency()
+    public ResultData<EfficiencyEntity> getEfficiency()
     {
         EfficiencyEntity entity=new EfficiencyEntity();
         //总工单数
-        int allNum=iGuideRepairOrderService.countStatisticsNum("",null,null,null,null,null);
+        int allNum=iGuideRepairOrderService.countStatisticsNum("",null,null,null,null,null,null,null);
 
         java.text.DecimalFormat weekDf=new java.text.DecimalFormat("##.##%");//传入格式模板
 
-        int bj=iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null,null);
+        int bj=iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null,null,null,null);
         if(bj!=0)
         {
             //        好评率=评价为满意的导办工单数量/已办结状态工单数量
-            String goodReputationEfficiency=weekDf.format((float)(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,"1",null)
-                    /bj));
+            String goodReputationEfficiency=weekDf.format((float)(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,"1",null,null,null)
+                    /(float)bj));
             entity.setGoodReputationEfficiency(goodReputationEfficiency);
 
             //      解决率=已解决状态的导办工单数量/已办结状态工单数量
-            String resolveEfficiency=weekDf.format((float)(iGuideRepairOrderService.countStatisticsNum("7",null,null,null,null,null)
-                    /bj));
+            String resolveEfficiency=weekDf.format((float)(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,null,"1",null)
+                    /(float)bj));
             entity.setResolveEfficiency(resolveEfficiency);
 
             if(allNum!=0)
             {
 //              办结率=待评价+已办结状态的导办工单数量/总工单数量
-                String workEfficiency=weekDf.format((float)((iGuideRepairOrderService.countStatisticsNum("4",null,null,null,null,null)
-                        +bj)/allNum));
+                String workEfficiency=weekDf.format((float)((iGuideRepairOrderService.countStatisticsNum("4",null,null,null,null,null,null,null)
+                        +bj)/(float)allNum));
                 entity.setWorkEfficiency(workEfficiency);
             }
         }
 
-        int cs=iGuideRepairOrderService.countStatisticsNum(null,null,null,"2",null,null);
+        int cs=iGuideRepairOrderService.countStatisticsNum(null,null,null,"2",null,null,null,null);
         if(cs!=0)
         {
             //        超时办结率=超时状态下的待评价+已办结状态的导办工单数量/超时状态的导办工单数量
-            String timeoutEfficiency=weekDf.format((float)((iGuideRepairOrderService.countStatisticsNum("4",null,null,"2",null,null)
-                    +iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null,null))
-                    /cs));
+            String timeoutEfficiency=weekDf.format((float)((iGuideRepairOrderService.countStatisticsNum("4",null,null,"2",null,null,null,null)
+                    +iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null,null,null,null))
+                    /(float)cs));
             entity.setTimeoutEfficiency(timeoutEfficiency);
 
         }
 
         if(allNum!=0)
         {
-            //        回复率=最新进展里0条回复的导办工单数量/总工单数量
+            //        回复率=最新进展里大于0条回复的导办工单数量/总工单数量
             //状态(1待分配  2 待办结 3 已办结 4 待评价 5 已取消 6未解决  7已解决  8 系统自动分配 9 回复   10转派    11手动分配)
-            String reversionRate=weekDf.format((float)(iGuideEvolveService.countStatisticsNum("9",null)/allNum));
+            String reversionRate=weekDf.format((float)(homeStatisticsService.reversionRate("9",null)/(float)allNum));
             entity.setReversionRate(reversionRate);
         }
 
@@ -165,21 +171,21 @@
 
     @ApiOperation("工单  办事指南饼状图数据")
     @GetMapping("/getPieChart")
-    public ResultData getPieChart()
+    public ResultData<PieChartAll> getPieChart()
     {
         PieChartAll pieChartAll=new PieChartAll();
-        pieChartAll.setWorkOrderNum(iGuideRepairOrderService.countStatisticsNum("",null,null,null,null,null)+"");
+        pieChartAll.setWorkOrderNum(iGuideRepairOrderService.countStatisticsNum("",null,null,null,null,null,null,null)+"");
         pieChartAll.setFingerpostNum(homeStatisticsService.countStatisticsNum(null)+"");
         List<PieChart> workOrderList=new ArrayList<>();
         List<PieChart> fingerpostList=new ArrayList<>();
-        List<ClassifyAdministration> oneIds=iClassifyAdministrationService.getClassify(null,"1");
+        List<ClassifyAdministration> oneIds=homeStatisticsService.getClassify(null,"1");
         for (ClassifyAdministration oneClassify:oneIds)
         {
             PieChart workOrder=new PieChart();
             PieChart fingerpost=new PieChart();
             workOrder.setName(oneClassify.getClassifyName());
             fingerpost.setName(oneClassify.getClassifyName());
-            List<ClassifyAdministration> twoIds = iClassifyAdministrationService.getClassify(oneClassify.getId()+"",null);
+            List<ClassifyAdministration> twoIds = homeStatisticsService.getClassify(oneClassify.getId()+"",null);
 
             List clasIds=new ArrayList();
 
@@ -192,7 +198,7 @@
             int fingerpostNum=0;
             if(clasIds.size()>0)
             {
-                workOrderNum=iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,clasIds);
+                workOrderNum=iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,clasIds,null,null);
                 fingerpostNum=homeStatisticsService.countStatisticsNum(clasIds);
             }
             workOrder.setNum(workOrderNum+"");
@@ -213,7 +219,7 @@
 
     @ApiOperation("组织排行榜  type 1 安评价   2 按办结量")
     @GetMapping("/getOrganization")
-    public TableDataInfo getOrganization(@RequestParam("type") String type)
+    public TableDataInfo<OrganizationEntity> getOrganization(@RequestParam("type") String type)
     {
         List<OrganizationEntity> guidePlates=homeStatisticsService.getDepartment();
 
@@ -280,7 +286,7 @@
 
     @ApiOperation("导办人员排行榜 type 1 安评价   2 按办结量 3 按超时")
     @GetMapping("/getGuidePlate")
-    public TableDataInfo getGuidePlate(@RequestParam("type") String type)
+    public TableDataInfo<GuidePlate> getGuidePlate(@RequestParam("type") String type)
     {
         int allNum=homeStatisticsService.staffNum();
 
@@ -304,7 +310,7 @@
 
     @ApiOperation("办事指南排行榜 type 1 按浏览量   2 按办结量")
     @GetMapping("/getGuidance")
-    public TableDataInfo getGuidance(@RequestParam("type") String type)
+    public TableDataInfo<Guidance> getGuidance(@RequestParam("type") String type)
     {
         int allNum=homeStatisticsService.countWork();
         if(StringUtils.equals("1",type))
@@ -320,6 +326,64 @@
 
 
 
+    @ApiOperation("导办工单按区域统计")
+    @GetMapping("/getRangeStatistics")
+    public TableDataInfo<RangeStatistics> getRangeStatistics()
+    {
+        List<AreaCode2022> code2022s=iAreaCodeService.getListByPCode("510400000000");
+
+        List<RangeStatistics> rangeStatistics=new ArrayList<>();
+
+        for (AreaCode2022 bean:code2022s)
+        {
+            RangeStatistics range=new RangeStatistics();
+            range.setName(bean.getName());
+
+            List<String> ids;
+
+            if(bean.getCode()==510401000000L)
+            {
+                ids=homeStatisticsService.countId("");
+            }
+            else
+            {
+                ids=homeStatisticsService.countId(bean.getCode()+"");
+            }
+            int num=0;
+            if(ids!=null&&ids.size()>0)
+            {
+                num=iGuideRepairOrderService.countStatisticsNum(null,ids,null,null,null,null,null,null);
+            }
+            range.setNum(num+"");
+            rangeStatistics.add(range);
+        }
+
+
+        return getDataTable(rangeStatistics);
+    }
+
+
+    /**
+     * 小程序用户访问量统计1.累计访问量2.本年访问量 3.本月访问量 4.今日访问量 5.昨日访问
+     * @return
+     */
+    @ApiOperation(value = "小程序用户访问量统计1.累计访问量2.本年访问量 3.本月访问量 4.今日访问量 5.昨日访问",response = AppletUserCount.class)
+    @GetMapping("/selectUserRecordCount")
+    public ResultData selectUserRecordCount(){
+        return  iSysUserRecordService.selectUserRecordCount();
+    }
+
+    /**
+     * 小程序用户访问量统计1.近15天 2.近30天 3.近一年
+     * @return
+     */
+    @ApiOperation(value = "小程序用户访问量统计1.近15天 2.近30天 3.近一年",response = AppletUserCount.class)
+    @GetMapping("/selectByDateType")
+    public ResultData selectByDateType(@RequestParam("dateType") Integer dateType){
+        return  iSysUserRecordService.selectByDateType(dateType);
+    }
+
+
 
 
 

--
Gitblit v1.7.1