From 9b601b29f82fe6c307b1032b23d445e7f04c42a8 Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期四, 20 十月 2022 10:14:24 +0800
Subject: [PATCH] 修改因状态改变统计数据  bug

---
 flower_city/src/main/java/com/dg/core/service/IGuideRepairOrderService.java         |    4 +
 flower_city/src/main/resources/mapper/GuideRepairOrderMapper.xml                    |    3 +
 flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java      |   54 +++++++++++++-------------
 flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideRepairOrderMapper.java     |    3 +
 flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java    |   22 +++++-----
 flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java |    5 +-
 6 files changed, 49 insertions(+), 42 deletions(-)

diff --git a/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java b/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java
index 940550a..68618f9 100644
--- a/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java
+++ b/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java
@@ -387,20 +387,20 @@
         WorkOrder workOrder=new WorkOrder();
         List<String> ids=iOrganizationChartService.getIds(sysUser.getDepartmentId());
         //状态(1待分配  2 待办结 3 已办结 4 待评价 5 已取消  )
-        workOrder.setAllNum(iGuideRepairOrderService.countStatisticsNum("",ids,null,null,null,null));
-        workOrder.setWaitDistribution(iGuideRepairOrderService.countStatisticsNum("1",ids,null,null,null,null));
-        workOrder.setWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",ids,null,null,null,null));
-        workOrder.setHaveDealWith(iGuideRepairOrderService.countStatisticsNum("3",ids,null,null,null,null));
-        workOrder.setRemainEvaluated(iGuideRepairOrderService.countStatisticsNum("4",ids,null,null,null,null));
-        workOrder.setCanceled(iGuideRepairOrderService.countStatisticsNum("5",ids,null,null,null,null));
-        //8未解决  9已解决
-        workOrder.setUnsolved(iGuideRepairOrderService.countStatisticsNum("6",ids,null,null,null,null));
-        workOrder.setResolved(iGuideRepairOrderService.countStatisticsNum("7",ids,null,null,null,null));
+        workOrder.setAllNum(iGuideRepairOrderService.countStatisticsNum("",ids,null,null,null,null,null));
+        workOrder.setWaitDistribution(iGuideRepairOrderService.countStatisticsNum("1",ids,null,null,null,null,null));
+        workOrder.setWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",ids,null,null,null,null,null));
+        workOrder.setHaveDealWith(iGuideRepairOrderService.countStatisticsNum("3",ids,null,null,null,null,null));
+        workOrder.setRemainEvaluated(iGuideRepairOrderService.countStatisticsNum("4",ids,null,null,null,null,null));
+        workOrder.setCanceled(iGuideRepairOrderService.countStatisticsNum("5",ids,null,null,null,null,null));
 
+        //服务状态(1.已解决 2.未解决)
+        workOrder.setUnsolved(iGuideRepairOrderService.countStatisticsNum(null,ids,null,null,null,null,"2"));
+        workOrder.setResolved(iGuideRepairOrderService.countStatisticsNum(null,ids,null,null,null,null,"1"));
 
         //是否超时 (1 未超时   2已超时) 超时未办结
-        workOrder.setOvertime(iGuideRepairOrderService.countStatisticsNum(null,ids,null,"2",null,null));
-        workOrder.setOvertimeWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",ids,null,"2",null,null));
+        workOrder.setOvertime(iGuideRepairOrderService.countStatisticsNum(null,ids,null,"2",null,null,null));
+        workOrder.setOvertimeWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",ids,null,"2",null,null,null));
         return ResultData.success(workOrder);
     }
 
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 29b8bd6..b1b3a6b 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
@@ -55,20 +55,20 @@
     {
         WorkOrder workOrder=new WorkOrder();
         //状态(1待分配  2 待办结 3 已办结 4 待评价 5 已取消)
-        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));
+        workOrder.setAllNum(iGuideRepairOrderService.countStatisticsNum("",null,null,null,null,null,null));
+        workOrder.setWaitDistribution(iGuideRepairOrderService.countStatisticsNum("1",null,null,null,null,null,null));
+        workOrder.setWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",null,null,null,null,null,null));
+        workOrder.setHaveDealWith(iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null,null,null));
+        workOrder.setRemainEvaluated(iGuideRepairOrderService.countStatisticsNum("4",null,null,null,null,null,null));
+        workOrder.setCanceled(iGuideRepairOrderService.countStatisticsNum("5",null,null,null,null,null,null));
+        // //服务状态(1.已解决 2.未解决)
+        workOrder.setUnsolved(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,null,"2"));
+        workOrder.setResolved(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,null,"1"));
 
         //是否超时 (1 未超时   2已超时) 超时未办结
-        workOrder.setOvertime(iGuideRepairOrderService.countStatisticsNum(null,null,null,"2",null,null));
+        workOrder.setOvertime(iGuideRepairOrderService.countStatisticsNum(null,null,null,"2",null,null,null));
 //        超时未办结
-        workOrder.setOvertimeWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",null,null,"2",null,null));
+        workOrder.setOvertimeWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",null,null,"2",null,null,null));
         return ResultData.success(workOrder);
     }
 
@@ -80,11 +80,11 @@
         //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));
+        timeWorkOrder.setYearNum(iGuideRepairOrderService.countStatisticsNum(null,null,"4",null,null,null,null));
+        timeWorkOrder.setMonthNum(iGuideRepairOrderService.countStatisticsNum(null,null,"3",null,null,null,null));
+        timeWorkOrder.setTodayNum(iGuideRepairOrderService.countStatisticsNum(null,null,"1",null,null,null,null));
+        timeWorkOrder.setYesterdayNum(iGuideRepairOrderService.countStatisticsNum(null,null,"2",null,null,null,null));
         return ResultData.success(timeWorkOrder);
     }
 
@@ -121,38 +121,38 @@
     {
         EfficiencyEntity entity=new EfficiencyEntity();
         //总工单数
-        int allNum=iGuideRepairOrderService.countStatisticsNum("",null,null,null,null,null);
+        int allNum=iGuideRepairOrderService.countStatisticsNum("",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);
         if(bj!=0)
         {
             //        好评率=评价为满意的导办工单数量/已办结状态工单数量
-            String goodReputationEfficiency=weekDf.format((float)(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,"1",null)
+            String goodReputationEfficiency=weekDf.format((float)(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,"1",null,null)
                     /(float)bj));
             entity.setGoodReputationEfficiency(goodReputationEfficiency);
 
             //      解决率=已解决状态的导办工单数量/已办结状态工单数量
-            String resolveEfficiency=weekDf.format((float)(iGuideRepairOrderService.countStatisticsNum("7",null,null,null,null,null)
+            String resolveEfficiency=weekDf.format((float)(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,null,"1")
                     /(float)bj));
             entity.setResolveEfficiency(resolveEfficiency);
 
             if(allNum!=0)
             {
 //              办结率=待评价+已办结状态的导办工单数量/总工单数量
-                String workEfficiency=weekDf.format((float)((iGuideRepairOrderService.countStatisticsNum("4",null,null,null,null,null)
+                String workEfficiency=weekDf.format((float)((iGuideRepairOrderService.countStatisticsNum("4",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);
         if(cs!=0)
         {
             //        超时办结率=超时状态下的待评价+已办结状态的导办工单数量/超时状态的导办工单数量
-            String timeoutEfficiency=weekDf.format((float)((iGuideRepairOrderService.countStatisticsNum("4",null,null,"2",null,null)
-                    +iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null,null))
+            String timeoutEfficiency=weekDf.format((float)((iGuideRepairOrderService.countStatisticsNum("4",null,null,"2",null,null,null)
+                    +iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null,null,null))
                     /(float)cs));
             entity.setTimeoutEfficiency(timeoutEfficiency);
 
@@ -174,7 +174,7 @@
     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)+"");
         pieChartAll.setFingerpostNum(homeStatisticsService.countStatisticsNum(null)+"");
         List<PieChart> workOrderList=new ArrayList<>();
         List<PieChart> fingerpostList=new ArrayList<>();
@@ -198,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);
                 fingerpostNum=homeStatisticsService.countStatisticsNum(clasIds);
             }
             workOrder.setNum(workOrderNum+"");
@@ -352,7 +352,7 @@
             int num=0;
             if(ids!=null&&ids.size()>0)
             {
-                num=iGuideRepairOrderService.countStatisticsNum(null,ids,null,null,null,null);
+                num=iGuideRepairOrderService.countStatisticsNum(null,ids,null,null,null,null,null);
             }
             range.setNum(num+"");
             rangeStatistics.add(range);
diff --git a/flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideRepairOrderMapper.java b/flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideRepairOrderMapper.java
index a0a10d1..1718b76 100644
--- a/flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideRepairOrderMapper.java
+++ b/flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideRepairOrderMapper.java
@@ -84,7 +84,8 @@
                            @Param("time") String time,
                            @Param("isTimeout") String isTimeout,
                            @Param("evaluateState") String evaluateState,
-                           @Param("classifyIds") List<String> classifyIds);
+                           @Param("classifyIds") List<String> classifyIds,
+                           @Param("serviceState") String serviceState);
 
     /**
      * 统计工单用
diff --git a/flower_city/src/main/java/com/dg/core/service/IGuideRepairOrderService.java b/flower_city/src/main/java/com/dg/core/service/IGuideRepairOrderService.java
index e8f14d5..682f76b 100644
--- a/flower_city/src/main/java/com/dg/core/service/IGuideRepairOrderService.java
+++ b/flower_city/src/main/java/com/dg/core/service/IGuideRepairOrderService.java
@@ -67,7 +67,9 @@
      * 统计工单用  1 今天   2昨天   3本月   4本年度 String time
      * @return
      */
-    int countStatisticsNum(String state,List<String> ids,String time,String isTimeout,String evaluateState,List<String> classifyIds);
+    int countStatisticsNum(String state,List<String> ids,String time,String isTimeout,
+                           String evaluateState,List<String> classifyIds,
+                           String serviceState);
 
     /**
      * 统计数据
diff --git a/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java
index ce3ba60..bbd6ac4 100644
--- a/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java
+++ b/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java
@@ -260,8 +260,9 @@
      */
     @Override
     public int countStatisticsNum(String state, List<String> ids, String time,
-                                  String isTimeout, String evaluateState, List<String> classifyIds) {
-        return baseMapper.countStatisticsNum(state, ids, time, isTimeout, evaluateState, classifyIds);
+                                  String isTimeout, String evaluateState,
+                                  List<String> classifyIds,String serviceState) {
+        return baseMapper.countStatisticsNum(state, ids, time, isTimeout, evaluateState, classifyIds,serviceState);
     }
 
     @Override
diff --git a/flower_city/src/main/resources/mapper/GuideRepairOrderMapper.xml b/flower_city/src/main/resources/mapper/GuideRepairOrderMapper.xml
index 977e4d2..8269955 100644
--- a/flower_city/src/main/resources/mapper/GuideRepairOrderMapper.xml
+++ b/flower_city/src/main/resources/mapper/GuideRepairOrderMapper.xml
@@ -198,6 +198,9 @@
                     #{param}
                 </foreach>
             </if>
+            <if test="serviceState != null and serviceState != ''">
+                and automessage_guide_repair_order.service_state=#{serviceState}
+            </if>
             <if test="time != null and time == 1 ">
                 and to_days(automessage_guide_repair_order.create_time) = to_days(now())
             </if>

--
Gitblit v1.7.1