From 88d4cd31fa5b197a91ed081ba1df292420af2d05 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期四, 22 十月 2026 16:48:52 +0800
Subject: [PATCH] 【丽水】随访统计增加一列,及时随访,统计未超时且已完成的随访人次

---
 smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java |   49 ++++++++++++++++++++-----------------------------
 1 files changed, 20 insertions(+), 29 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java
index 5ec965b..3fd1a08 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java
@@ -255,23 +255,6 @@
             }
         }
 
-        if (CollectionUtils.isNotEmpty(selectServiceSubtaskList)) {
-            //灏嗗綋鍓嶆柟寮忕殑鍙戦�佺姸鎬佹敼鎴愬凡棰嗗彇
-            ServiceSubtask serviceSubtask = selectServiceSubtaskList.get(0);
-            ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
-            serviceSubtaskPreachform.setPreachform(serviceSubtask.getCurrentPreachform());
-            serviceSubtaskPreachform.setSubid(serviceSubtask.getId());
-            serviceSubtaskPreachform.setTaskid(serviceTask.getTaskid());
-            List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
-            if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) {
-                ServiceSubtaskPreachform ssp = serviceSubtaskPreachforms.get(0);
-                //浜哄伐鏃�-3宸查鍙栫姸鎬�(service_subtask_preachform.sendstate = 3)
-                if(StringUtils.isNotEmpty(ssp.getPreachform()) && !ssp.getPreachform().equals("1")){
-                    ssp.setSendstate("3");
-                    serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(ssp);
-                }
-            }
-        }
         if (serviceTask != null) {
             if (StringUtils.isNotEmpty(serviceTask.getKcb())) map.put("kcb", serviceTask.getKcb());
             map.put("script", info);
@@ -496,7 +479,7 @@
         }
 
 
-        //閫氳繃鎮h�呬俊鎭拰浠诲姟淇℃伅涓殑textParam瀵归棶棰樹腑鐨勫彉閲忚繘琛屽~鍏�
+        //閫氳繃鎮h�呬俊鎭拰浠诲姟淇℃伅涓殑 textParam 瀵归棶棰樹腑鐨勫彉閲忚繘琛屽~鍏�
         ObjectMapper objectMapper = new ObjectMapper();
         Map<String, Map<String, String>> ivrTaskMap = null;
         try {
@@ -504,28 +487,36 @@
         } catch (JsonProcessingException e) {
             e.printStackTrace();
         }
-        List<Map<String, String>> mapList = new ArrayList<>();
 
+        // 浼樺寲 1: 棰勫厛鍚堝苟鎵�鏈夋浛鎹㈣鍒欎负涓�涓� Map锛岄伩鍏嶅娆¢亶鍘�
+        Map<String, String> replaceMap = new HashMap<>();
         if (ivrTaskMap != null) {
             for (Map<String, String> map : ivrTaskMap.values()) {
-                mapList.add(map);
+                replaceMap.putAll(map);
             }
         }
+
         //灏嗘ā鏉块棶棰樿瘽鏈噷鐨勯�氶厤绗︽浛鎹�
         for (SvyTaskTemplateScriptVO svyTaskTemplateScriptVO : svyTaskTemplateScriptVOS) {
             if (StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getScriptContent())) {
-                for (Map<String, String> map : mapList) {
-                    for (String key : map.keySet()) {
-                        svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : ""));
-                    }
+                // 浼樺寲 2: 浣跨敤姝e垯 PatternMatcher 鎵归噺鏇挎崲锛屾彁鍗囨�ц兘
+                String scriptContent = svyTaskTemplateScriptVO.getScriptContent();
+
+                // 鎵归噺鏇挎崲 IVR 浠诲姟鍙傛暟
+                for (Map.Entry<String, String> entry : replaceMap.entrySet()) {
+                    String value = StringUtils.isNotEmpty(entry.getValue()) ? entry.getValue() : "";
+                    scriptContent = scriptContent.replace(entry.getKey(), value);
                 }
+
                 //鏇挎崲鎮h�呬釜浜轰俊鎭暟鎹�
-                log.info("闂id锛歿},   闂鍐呭锛歿}", svyTaskTemplateScriptVO.getId(), svyTaskTemplateScriptVO.getScriptContent());
-                if (StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getScriptContent()) && ObjectUtils.isNotEmpty(patArchive)) {
-                    svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : ""));
-                    svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : ""));
-                    svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : ""));
+                log.info("闂 id锛歿},   闂鍐呭锛歿}", svyTaskTemplateScriptVO.getId(), scriptContent);
+                if (ObjectUtils.isNotEmpty(patArchive)) {
+                    // 浼樺寲 3: 鍑忓皯涓嶅繀瑕佺殑闈炵┖鍒ゆ柇锛坧atArchive 宸茬粡鍒よ繃锛�
+                    scriptContent = scriptContent.replace("${name}", StringUtils.defaultString(patArchive.getName()));
+                    scriptContent = scriptContent.replace("${dzz}", StringUtils.defaultString(patArchive.getPlaceOfResidence()));
+                    scriptContent = scriptContent.replace("${dhh}", StringUtils.defaultString(patArchive.getTelcode()));
                 }
+                svyTaskTemplateScriptVO.setScriptContent(scriptContent);
                 //鑾峰彇闂閫夐」
                 SvyTaskTemplateTargetoption svyTaskTemplateTargetoption = new SvyTaskTemplateTargetoption();
                 svyTaskTemplateTargetoption.setScriptid(svyTaskTemplateScriptVO.getId());

--
Gitblit v1.9.3