From 30c41afb4fe4fd4b857f579e98543da211c11989 Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期六, 11 十月 2025 11:35:31 +0800
Subject: [PATCH] 新增随访情况统计

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |   36 ++++++++++++++++++++++++++++++------
 1 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index 643e2cb..c41df45 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -2316,7 +2316,10 @@
                 continue;
             }
             ServiceSubtaskStatistic statistic = getStatisticJoy(serviceSubtaskList,joySubCount);
-
+            if(statistic.getJoyCount()!=0&&statistic.getJoyAllCount()!=0) {
+                Double joyTotal = Double.parseDouble(statistic.getJoyCount() + "") / Double.parseDouble(statistic.getJoyAllCount() + "") * 100;
+                statistic.setJoyTotal(String.format("%.2f", joyTotal)+"%");
+            }
             //鍙婃椂鐜�
             ServiceSubtask ss = new ServiceSubtask();
             ss.setOrgid(serviceSubtaskList.get(0).getOrgid());
@@ -2434,8 +2437,25 @@
                     serviceSubtaskStatistic.setAbnormalAgain(serviceSubtaskStatistic.getAbnormalAgain() + 1L);
                 }
             }
-
-
+            //闅忚鎯呭喌
+            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() ==1) {
+                serviceSubtaskStatistic.setTaskSituation1(serviceSubtaskStatistic.getTaskSituation1() + 1);
+            }
+            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() ==2) {
+                serviceSubtaskStatistic.setTaskSituation2(serviceSubtaskStatistic.getTaskSituation2() + 1);
+            }
+            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() ==3) {
+                serviceSubtaskStatistic.setTaskSituation3(serviceSubtaskStatistic.getTaskSituation3() + 1);
+            }
+            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() ==4) {
+                serviceSubtaskStatistic.setTaskSituation4(serviceSubtaskStatistic.getTaskSituation4() + 1);
+            }
+            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() ==5) {
+                serviceSubtaskStatistic.setTaskSituation5(serviceSubtaskStatistic.getTaskSituation5() + 1);
+            }
+            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() ==6) {
+                serviceSubtaskStatistic.setTaskSituation6(serviceSubtaskStatistic.getTaskSituation6() + 1);
+            }
         }
 
 
@@ -2454,15 +2474,15 @@
         serviceSubtaskStatistic.setDrname(serviceSubtaskList.get(0).getDrname());
         //鍑洪櫌浜烘
         serviceSubtaskStatistic.setDischargeCount(serviceSubtaskList.size());
-        serviceSubtaskStatistic.setJoyCount(0L);
-        serviceSubtaskStatistic.setJoyAllCount(0L);
+        serviceSubtaskStatistic.setJoyCount(0);
+        serviceSubtaskStatistic.setJoyAllCount(0);
         for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
             //婊℃剰搴�
             List<ServiceSubtaskCount> joyCountTemp= joySubCount.stream().filter(r->r.getSubTaskId().equals(serviceSubtask.getId()))
                     .collect(Collectors.toList());
             if(joyCountTemp!=null&&joyCountTemp.size()>0){
                 if(ObjectUtils.isNotEmpty(joyCountTemp.get(0).getJoyCount()))
-                serviceSubtaskStatistic.setJoyCount(serviceSubtaskStatistic.getJoyCount()+joyCountTemp.get(0).getJoyCount());
+                    serviceSubtaskStatistic.setJoyCount(serviceSubtaskStatistic.getJoyCount()+joyCountTemp.get(0).getJoyCount());
                 if(ObjectUtils.isNotEmpty(joyCountTemp.get(0).getJoyAllCount()))
                     serviceSubtaskStatistic.setJoyAllCount(serviceSubtaskStatistic.getJoyAllCount()+joyCountTemp.get(0).getJoyAllCount());
             }
@@ -2660,4 +2680,8 @@
         int remainingCalls = (int) (remainingHours * phoneUpEveryHour);
         return remainingCalls;
     }
+
+    public List<ServiceSubtaskCount> getSfStatisticsJoydetails(ServiceSubtaskCountReq serviceSubtaskCountReq) {
+       return serviceSubtaskMapper.getSfStatisticsJoydetails(serviceSubtaskCountReq);
+    }
 }

--
Gitblit v1.9.3