From 141eef1ac1e9111fb33f96a95b59ba69422f8688 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 14 九月 2026 17:02:17 +0800
Subject: [PATCH] 1.优化问卷详情的查询速度

---
 smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java |   32 ++++++++++++++++++++------------
 smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml         |    3 ---
 2 files changed, 20 insertions(+), 15 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..1e72519 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java
@@ -496,7 +496,7 @@
         }
 
 
-        //閫氳繃鎮h�呬俊鎭拰浠诲姟淇℃伅涓殑textParam瀵归棶棰樹腑鐨勫彉閲忚繘琛屽~鍏�
+        //閫氳繃鎮h�呬俊鎭拰浠诲姟淇℃伅涓殑 textParam 瀵归棶棰樹腑鐨勫彉閲忚繘琛屽~鍏�
         ObjectMapper objectMapper = new ObjectMapper();
         Map<String, Map<String, String>> ivrTaskMap = null;
         try {
@@ -504,28 +504,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());
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index 2a087a5..59997d4 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -213,7 +213,6 @@
                create_time,
                isupload,
                upload_time,
-               orgid,
                pid,
                guid,
                text_param,
@@ -236,8 +235,6 @@
                leaveicd10code,
                orgid,
                visit_type,
-               management_doctor,
-               management_doctor_code,
                continue_flag,
                continue_time_now,
                continue_content,

--
Gitblit v1.9.3