From a795416526f617d39d7c022800fbc84d975f70a1 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期五, 24 七月 2026 17:47:00 +0800
Subject: [PATCH] 【省立同德】查询问卷列表优化

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |   54 ++++++++++++++++++++++++++++++++----------------------
 1 files changed, 32 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 ad34f8d..d211e97 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -655,9 +655,16 @@
         ServiceSubtask serviceSubtask = serviceSubtaskMapper.selectServiceSubtaskById(serviceSubtaskTemplateVO.getSubId());
         if (serviceSubtask == null || serviceSubtask.getSendstate() != 2L)
             throw new BaseException("璇ヤ换鍔″凡鍙戦�佺粰鎮h�咃紝涓嶈兘鍐嶈繘琛屼慨鏀规ā鏉�");
-
+        serviceSubtaskTemplateVO.getSvyTaskTemplateVO().setIntroduce("璇ラ棶鍗锋槸鏇挎崲鍚庣殑闂锛屾浛鎹㈠墠鐨勯棶棰樻槸锛�" + serviceSubtask.getTemplateid());
         Integer taskTempid = svyTaskTemplateService.saveOrUpdateTemplate(serviceSubtaskTemplateVO.getSvyTaskTemplateVO());
         if (taskTempid == null) return false;
+
+        //姣忔閮芥柊寤轰竴涓篃鍙互锛屼絾鏂板缓涔嬪悗瑕佹妸涔嬪墠鐨勫垹闄�
+        if (serviceSubtask.getType().equals("2")) {
+            svyTaskTemplateService.deleteSvyTaskTemplateBySvyid(serviceSubtask.getTemplateid());
+        } else if (serviceSubtask.getType().equals("1"))
+            ivrTaskTemplateService.deleteIvrTaskTemplateByID(serviceSubtask.getTemplateid());
+
 
         String tempName = svyTaskTemplateService.selectSvyTaskTemplateBySvyid(Long.valueOf(taskTempid)).getSvyname();
         serviceSubtask.setTemplateid(taskTempid.longValue());
@@ -1731,19 +1738,19 @@
                         continue;
                     }
                     //2-AI璇嗗埆
-                    SysConfig configVoiceMatchType = new SysConfig();
-                    configVoiceMatchType.setOrgid(phoneCallReqYQVO.getOrgid());
-                    configVoiceMatchType.setConfigKey("sys.voice.match.type");
-                    SysConfig matchType = sysConfigMapper.selectConfig(configVoiceMatchType);
+//                    SysConfig configVoiceMatchType = new SysConfig();
+//                    configVoiceMatchType.setOrgid(phoneCallReqYQVO.getOrgid());
+//                    configVoiceMatchType.setConfigKey("sys.voice.match.type");
+//                    SysConfig matchType = sysConfigMapper.selectConfig(configVoiceMatchType);
                     boolean matchedFlag = false;
-                    if(ObjectUtils.isNotEmpty(matchType) && StringUtils.isNotEmpty(matchType.getConfigValue()) && matchType.getConfigValue().equals("2")){
-                        int checkFlag = DeepSeekApi.matchQuestionAnswer(ivrTaskTemplateScriptVO.getScriptContent(),
-                                phoneCallReqYQVO.getAsrtext(),
-                                ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList().get(j).getTargetvalue());
-                        if(checkFlag == 1){
-                            matchedFlag = true;
-                        }
-                    }else {
+//                    if (ObjectUtils.isNotEmpty(matchType) && StringUtils.isNotEmpty(matchType.getConfigValue()) && matchType.getConfigValue().equals("2")) {
+//                        int checkFlag = DeepSeekApi.matchQuestionAnswer(ivrTaskTemplateScriptVO.getScriptContent(),
+//                                phoneCallReqYQVO.getAsrtext(),
+//                                ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList().get(j).getTargetvalue());
+//                        if (checkFlag == 1) {
+//                            matchedFlag = true;
+//                        }
+//                    } else {
                         //鍖呭惈
                         Matcher matcher = null;
                         if (StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList().get(j).getTargetregex())) {
@@ -1760,7 +1767,7 @@
                         if (StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList().get(j).getTargetregex2()) && matcher2.matches() && StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList().get(j).getTargetregex()) && matcher.matches() || StringUtils.isEmpty(ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList().get(j).getTargetregex()) && StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList().get(j).getTargetregex2()) && matcher2.matches() || StringUtils.isEmpty(ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList().get(j).getTargetregex2()) && StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList().get(j).getTargetregex()) && matcher.matches()) {
                             matchedFlag = true;
                         }
-                    }
+//                    }
                     //璇存槑鍖归厤姝g‘浜�
                     if(matchedFlag){
                         //杩欓噷搴旇鍏堝垽鏂被鍨嬶紝鍘诲啀淇敼锛岃缃甀sUserOperation鏄崟閫夐鐨勬敼娉�
@@ -4862,7 +4869,7 @@
                 ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
                 if (ObjectUtils.isNotEmpty(serviceTaskVo.getDeptcode())) {
                     serviceTaskdept.setDeptType("1");
-                    serviceTaskdept.setDeptCode(serviceTask.getDeptcode());
+                    serviceTaskdept.setDeptCode(serviceTaskVo.getDeptcode());
                 }
                 if (ObjectUtils.isNotEmpty(serviceTaskVo.getLeavehospitaldistrictcode())) {
                     serviceTaskdept.setDeptType("2");
@@ -4875,10 +4882,10 @@
 
                 if (!CollectionUtils.isEmpty(serviceTaskdepts)) {
                     PatArchive patArchive = new PatArchive();
-                    patArchive.setId(-1L);
+                    patArchive.setId(999999999L);
                     patArchive.setName("铏氭嫙鎮h��");
                     //灏佽serviceSubtask
-                    ServiceSubtask serviceSubtask = boxedServiceSubtask(serviceTask, patArchive);
+                    ServiceSubtask serviceSubtask = boxedServiceSubtask(serviceTask, serviceTaskdepts.get(0), patArchive);
                     int i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
                     //鏍规嵁鐢熸垚澶栭摼
                     if (ObjectUtils.isNotEmpty(serviceSubtask.getTaskid()) && ObjectUtils.isNotEmpty(serviceSubtask.getPatid()) && ObjectUtils.isNotEmpty(serviceSubtask.getId())) {
@@ -4912,7 +4919,7 @@
         return content;
     }
 
-    public ServiceSubtask boxedServiceSubtask(ServiceTask serviceTask, PatArchive patArchive) {
+    public ServiceSubtask boxedServiceSubtask(ServiceTask serviceTask, ServiceTaskdept serviceTaskdept, PatArchive patArchive) {
         ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTask, ServiceSubtask.class);
         serviceSubtask.setTaskid(serviceTask.getTaskid());
         if (StringUtils.isNotEmpty(serviceTask.getLibtemplateid()))
@@ -4921,10 +4928,13 @@
 //        serviceSubtask.setNurseName(patMedInhosp1.getNurseName());
 //        serviceSubtask.setDrcode(patMedInhosp1.getDrcode());
 //        serviceSubtask.setDrname(patMedInhosp1.getDrname());
-        serviceSubtask.setDeptcode(serviceTask.getDeptcode());
-        serviceSubtask.setDeptname(serviceTask.getDeptname());
-        serviceSubtask.setLeavehospitaldistrictcode(serviceTask.getLeavehospitaldistrictcode());
-        serviceSubtask.setLeavehospitaldistrictname(serviceTask.getLeavehospitaldistrictname());
+        if(StringUtils.isNotEmpty(serviceTaskdept.getDeptType()) && serviceTaskdept.getDeptType().equals("1")){
+            serviceSubtask.setDeptcode(serviceTaskdept.getDeptCode());
+            serviceSubtask.setDeptname(serviceTaskdept.getDeptName());
+        }else {
+            serviceSubtask.setLeavehospitaldistrictcode(serviceTaskdept.getDeptCode());
+            serviceSubtask.setLeavehospitaldistrictname(serviceTaskdept.getDeptName());
+        }
         serviceSubtask.setTemplateid(serviceTask.getTemplateid());
         serviceSubtask.setTemplatename(serviceTask.getTemplatename());
         serviceSubtask.setPatid(patArchive.getId());

--
Gitblit v1.9.3