From 9cf5ea33a17c3f16c3c864ff5ff3182d29dea8f5 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 20 一月 2026 16:00:52 +0800
Subject: [PATCH] 【丽水】随访统计(人工、短信、微信)不统计不执行的数据

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |   56 ++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 34 insertions(+), 22 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 ee3ab44..eb76dd5 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -231,7 +231,8 @@
         } catch (JsonProcessingException e) {
             e.printStackTrace();
         }
-
+        List<ServiceSubtaskPreachform> serviceSubtaskPreachformLists =
+                    serviceSubtaskPreachformMapper.selectBySubtask(serviceSubtask);
         for (ServiceSubtask serviceSubtask1 : list) {
             PatTaskRelevance patTaskRelevance = new PatTaskRelevance();
             if (!serviceSubtask1.getHospType().equals("2")) {
@@ -288,10 +289,9 @@
             }
 
             //鑾峰彇璇ユ偅鑰呮墍鏈夌殑鎵ц鐘舵��
-            ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
-            serviceSubtaskPreachform.setTaskid(serviceTask.getTaskid());
-            serviceSubtaskPreachform.setSubid(serviceSubtask1.getId());
-            List<ServiceSubtaskPreachform> serviceSubtaskPreachformList = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
+            List<ServiceSubtaskPreachform> serviceSubtaskPreachformList =
+                serviceSubtaskPreachformLists.stream().filter((item -> item.getSubid().equals(serviceSubtask1.getId())
+                            && item.getTaskid().equals(serviceTask.getTaskid()))).collect(Collectors.toList());
             List<Map<String, Object>> resultList = serviceSubtaskPreachformList.stream().map(item -> {
                 Map<String, Object> map = new HashMap<>();
                 map.put("sort", item.getSort());
@@ -2566,18 +2566,24 @@
                 } else {
                     serviceSubtaskStatistic.setFollowUpRate("0.00%");
                 }
-                //棣栨闅忚浜哄伐
-                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("1")) {
+                //棣栨闅忚浜哄伐 (涓嶇粺璁′笉鎵ц)
+                if (serviceSubtask.getSendstate() != null
+                        && !serviceSubtask.getSendstate().equals(4L)
+                        && serviceSubtask.getPreachform().equals("1")) {
                     serviceSubtaskStatistic.setManual(serviceSubtaskStatistic.getManual() + 1L);
                     manualInfo.add(serviceSubtask);
                 }
-                //棣栨闅忚鐭俊
-                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("4")) {
+                //棣栨闅忚鐭俊(涓嶇粺璁′笉鎵ц)
+                if (serviceSubtask.getSendstate() != null
+                        && !serviceSubtask.getSendstate().equals(4L)
+                        && serviceSubtask.getPreachform().equals("4")) {
                     serviceSubtaskStatistic.setSms(serviceSubtaskStatistic.getSms() + 1L);
                     smsInfo.add(serviceSubtask);
                 }
-                //棣栨闅忚寰俊
-                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("5")) {
+                //棣栨闅忚寰俊(涓嶇粺璁′笉鎵ц)
+                if (serviceSubtask.getSendstate() != null
+                        && !serviceSubtask.getSendstate().equals(4L)
+                        && serviceSubtask.getPreachform().equals("5")) {
                     serviceSubtaskStatistic.setWeChat(serviceSubtaskStatistic.getWeChat() + 1L);
                     wechatInfo.add(serviceSubtask);
                 }
@@ -2613,18 +2619,24 @@
                 } else {
                     serviceSubtaskStatistic.setFollowUpRateAgain("0.00%");
                 }
-                //鍐嶆闅忚浜哄伐
-                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("1")) {
+                //鍐嶆闅忚浜哄伐(涓嶇粺璁′笉鎵ц)
+                if (serviceSubtask.getSendstate() != null
+                        && !serviceSubtask.getSendstate().equals(4L)
+                        && serviceSubtask.getPreachform().equals("1")) {
                     serviceSubtaskStatistic.setManualAgain(serviceSubtaskStatistic.getManualAgain() + 1L);
                     manualAgainInfo.add(serviceSubtask);
                 }
-                //鍐嶆闅忚鐭俊
-                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("4")) {
+                //鍐嶆闅忚鐭俊(涓嶇粺璁′笉鎵ц)
+                if (serviceSubtask.getSendstate() != null
+                        && !serviceSubtask.getSendstate().equals(4L)
+                        && serviceSubtask.getPreachform().equals("4")) {
                     serviceSubtaskStatistic.setSmsAgain(serviceSubtaskStatistic.getSmsAgain() + 1L);
                     smsAgainInfo.add(serviceSubtask);
                 }
-                //鍐嶆闅忚寰俊
-                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("5")) {
+                //鍐嶆闅忚寰俊(涓嶇粺璁′笉鎵ц)
+                if (serviceSubtask.getSendstate() != null
+                        && !serviceSubtask.getSendstate().equals(4L)
+                        && serviceSubtask.getPreachform().equals("5")) {
                     serviceSubtaskStatistic.setWeChatAgain(serviceSubtaskStatistic.getWeChatAgain() + 1L);
                     wechatAgainInfo.add(serviceSubtask);
                 }
@@ -3069,7 +3081,7 @@
      * @return
      */
     @Override
-    @Cacheable(value = "sfStatisticsJoy", key = "T(org.springframework.util.DigestUtils).md5DigestAsHex(#serviceSubtaskCountReq.toString().getBytes())", unless = "#result == null or #result.isEmpty()")
+    @Cacheable(value = "getSfStatisticsScript", key = "T(org.springframework.util.DigestUtils).md5DigestAsHex(#serviceSubtaskCountReq.toString().getBytes())", unless = "#result == null or #result.isEmpty()")
     public List<ServiceSubtaskStatistic> getSfStatisticsScript(ServiceSubtaskCountReq serviceSubtaskCountReq) {
         log.error("getSfStatisticsScript鐨勫叆鍙備负锛歿}", serviceSubtaskCountReq);
         List<ServiceSubtaskStatistic> serviceSubtaskStatistics = new ArrayList<>();
@@ -3132,12 +3144,12 @@
                 BigDecimal finishedSum = new BigDecimal(0);
                 //瀹屾垚姣斾緥
                 Double finishedPercentage = null;
-                if(ObjectUtils.isNotEmpty(serviceSubtaskStatistic.getJoyAllCount())){
-                    finishedSum = new BigDecimal(serviceSubtaskStatistic.getJoyAllCount());
+                if(ObjectUtils.isNotEmpty(serviceSubtaskStatistic.getJoyCount())){
+                    finishedSum = new BigDecimal(serviceSubtaskStatistic.getJoyCount());
                 }
 
-                if(ObjectUtils.isNotEmpty(serviceSubtaskStatistic.getJoyCount())){
-                    sum = new BigDecimal(serviceSubtaskStatistic.getJoyCount());
+                if(ObjectUtils.isNotEmpty(serviceSubtaskStatistic.getJoyAllCount())){
+                    sum = new BigDecimal(serviceSubtaskStatistic.getJoyAllCount());
                 }
                 if(sum.intValue() != 0){
                     finishedPercentage = finishedSum.divide(sum, 2, RoundingMode.HALF_UP).doubleValue();

--
Gitblit v1.9.3