From 732a46ed2b0640e14b607eb31138fd00a0d59015 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期六, 06 六月 2026 14:26:05 +0800
Subject: [PATCH] 【丽水】1:待随访(1 被领取、2 待发送、3 已发送、5 发送失败、7、超时);2:已完成( 6 已完成)、3:无需随访(4 不执行)

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |   86 +++++++++++++++++++++++++++++++------------
 1 files changed, 62 insertions(+), 24 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 e1bc0ae..8262c38 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -329,18 +329,41 @@
             }
 
             //鑾峰彇璇ユ偅鑰呮墍鏈夌殑鎵ц鐘舵��
-            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());
-                map.put("preachform", item.getPreachform());
-                map.put("compensateTime", item.getCompensateTime());
-                return map;
-            }).collect(Collectors.toList());
-            serviceTaskVO.setPreachformList(resultList);
+//            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());
+//                map.put("preachform", item.getPreachform());
+//                map.put("compensateTime", item.getCompensateTime());
+//                return map;
+//            }).collect(Collectors.toList());
+//            serviceTaskVO.setPreachformList(resultList);
 
 //            String result = resultList.stream().map(mapList1 -> mapList1.get("preachform")).map(String::valueOf).collect(Collectors.joining(","));
 //            serviceTaskVO.setPreachform(result);
+        }
+
+        if(StringUtils.isNotEmpty(serviceTaskVO.getPreachformDesc())){
+            //鐩存帴閫氳繃PreachformDesc鐢熸垚List杩斿洖
+            try {
+                List<Map<String, Object>> mapList = objectMapper.readValue(serviceTaskVO.getPreachformDesc(), List.class);
+                serviceTaskVO.setPreachformList(mapList);
+            }catch (Exception e) {
+            }
+        }else {
+            if(CollectionUtils.isNotEmpty(list)){
+                //鑾峰彇璇ユ偅鑰呮墍鏈夌殑鎵ц鐘舵��
+                List<ServiceSubtaskPreachform> serviceSubtaskPreachformList = serviceSubtaskPreachformLists.stream()
+                        .filter((item -> item.getSubid().equals(list.get(0).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());
+                    map.put("preachform", item.getPreachform());
+                    map.put("compensateTime", item.getCompensateTime());
+                    return map;
+                }).collect(Collectors.toList());
+                serviceTaskVO.setPreachformList(resultList);
+            }
         }
         serviceTaskVO.setPatTaskRelevances(patTaskRelevances);
         return serviceTaskVO;
@@ -349,16 +372,12 @@
     @Override
     public List<ServiceSubtaskRes> patItem(ServiceSubtaskEntity serviceSubtaskEntity) {
         if (serviceSubtaskEntity.getSendstateView() != null) {
-            //            1锛氬緟闅忚锛�2 寰呭彂閫侊級锛�2锛氶殢璁夸腑锛�3 宸插彂閫併��1 琚鍙栵級銆�3锛氭湭瀹屾垚锛�5 鍙戦�佸け璐ャ��7銆佽秴鏃讹級銆�4锛氬凡瀹屾垚锛� 6 宸插畬鎴愶級銆�5锛氭棤闇�闅忚锛�4 涓嶆墽琛岋級
+            //            1锛氬緟闅忚锛�1 琚鍙栥��2 寰呭彂閫併��3 宸插彂閫併��5 鍙戦�佸け璐ャ��7銆佽秴鏃讹級锛�2锛氬凡瀹屾垚锛� 6 宸插畬鎴愶級銆�3锛氭棤闇�闅忚锛�4 涓嶆墽琛岋級
             if (serviceSubtaskEntity.getSendstateView() == 1)
-                serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(2L)));
+                serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(1L, 2L, 3L, 5L, 7L)));
             if (serviceSubtaskEntity.getSendstateView() == 2)
-                serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(1L, 3L)));
-            if (serviceSubtaskEntity.getSendstateView() == 3)
-                serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(5L, 7L)));
-            if (serviceSubtaskEntity.getSendstateView() == 4)
                 serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(6L)));
-            if (serviceSubtaskEntity.getSendstateView() == 5)
+            if (serviceSubtaskEntity.getSendstateView() == 3)
                 serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(4L)));
         }
 
@@ -371,13 +390,9 @@
                 serviceSubtaskRes.setContinueContent(serviceSubtask.getContinueContent());
             }
 //            1锛氬緟闅忚锛�2 寰呭彂閫侊級锛�2锛氶殢璁夸腑锛�3 宸插彂閫併��1 琚鍙栵級銆�3锛氭湭瀹屾垚锛�5 鍙戦�佸け璐ャ��7銆佽秴鏃讹級銆�4锛氬凡瀹屾垚锛� 6 宸插畬鎴愶級銆�5锛氭棤闇�闅忚锛�4 涓嶆墽琛岋級
-            if (serviceSubtaskRes.getSendstate() == 2) serviceSubtaskRes.setSendstateView(1L);
-            if (serviceSubtaskRes.getSendstate() == 1 || serviceSubtaskRes.getSendstate() == 3L)
-                serviceSubtaskRes.setSendstateView(2L);
-            if (serviceSubtaskRes.getSendstate() == 5 || serviceSubtaskRes.getSendstate() == 7L)
-                serviceSubtaskRes.setSendstateView(3L);
-            if (serviceSubtaskRes.getSendstate() == 6) serviceSubtaskRes.setSendstateView(4L);
-            if (serviceSubtaskRes.getSendstate() == 4) serviceSubtaskRes.setSendstateView(5L);
+            if (serviceSubtaskRes.getSendstate() == 1 || serviceSubtaskRes.getSendstate() == 2L || serviceSubtaskRes.getSendstate() == 3L || serviceSubtaskRes.getSendstate() == 5 || serviceSubtaskRes.getSendstate() == 7L) serviceSubtaskRes.setSendstateView(1L);
+            if (serviceSubtaskRes.getSendstate() == 6) serviceSubtaskRes.setSendstateView(2L);
+            if (serviceSubtaskRes.getSendstate() == 4) serviceSubtaskRes.setSendstateView(3L);
             serviceSubtaskResList.add(serviceSubtaskRes);
         }
         return serviceSubtaskResList;
@@ -493,6 +508,7 @@
         if (patMedInhospList.size() > 0) {
             serviceSubtask1.setIsVisitAgain(2);
             serviceSubtask1.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + ";鎮h�呭啀鍏ラ櫌浜�" : "鎮h�呭啀鍏ラ櫌浜�");
+            serviceSubtask1.setSendstate(4L);
             serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1);
             return "鏃犻渶鍐嶆闅忚锛屾偅鑰呭啀鍏ラ櫌浜�";
         } else if (serviceSubtask1.getSendstate() == 4L) {
@@ -2527,6 +2543,29 @@
     }
 
     /**
+     * 鑾峰彇涓撶梾闅忚缁熻姣斾緥
+     *
+     * @param serviceSubtaskCountReq
+     * @return
+     */
+    @Override
+//    @Cacheable(value = "specialSfStatistics", key = "T(org.springframework.util.DigestUtils).md5DigestAsHex(#serviceSubtaskCountReq.toString().getBytes())", unless = "#result == null or #result.isEmpty()")
+    public List<ServiceSubtaskStatistic> getSpecialSfStatistics(ServiceSubtaskCountReq serviceSubtaskCountReq) {
+        log.info("getSpecialSfStatistics鐨勫叆鍙備负锛歿}", serviceSubtaskCountReq);
+        String groupKey = "drcode";
+        if (serviceSubtaskCountReq.getDrcode() != null && !serviceSubtaskCountReq.getDrcode().isEmpty()) {
+            groupKey = "drcode";
+        } else {
+            groupKey = "task_name";
+        }
+        List<ServiceSubtaskStatistic> serviceSubtaskStatistics = new ArrayList<>();
+        serviceSubtaskCountReq.setGroupKey(groupKey);
+        serviceSubtaskStatistics = serviceSubtaskMapper.getSpecialSfStatistics(serviceSubtaskCountReq);
+
+        return serviceSubtaskStatistics;
+    }
+
+    /**
      * 闅忚缁熻-鍙婃椂鐜囩粺璁�
      *
      * @param serviceSubtaskCountReq
@@ -3002,7 +3041,6 @@
         }
         return serviceSubtaskStatistic;
     }
-
     /**
      * 棣栨闅忚缁熻
      *

--
Gitblit v1.9.3