From 28da7e877a08aaff967efa4adf9d2d4ab4b80c67 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 09 四月 2026 16:29:46 +0800
Subject: [PATCH] 省立同德满意度功能修改

---
 smartor/src/main/resources/mapper/smartor/ServiceSubtaskDetailTraceMapper.xml       |    5 +++--
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java |   32 +++++++++++++++++++++++++-------
 2 files changed, 28 insertions(+), 9 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
index 742e7f7..99ea692 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
@@ -903,7 +903,7 @@
             JSONObject patdescJson1 = new JSONObject();
             patdescJson1.put("sendname", selectServiceSubtaskList.get(0).getSendname());
             patdescJson1.put("phone", selectServiceSubtaskList.get(0).getPhone());
-            patdescJson1.put("sex", selectServiceSubtaskList.get(0).getSex() == null ? selectServiceSubtaskList.get(0).getSex() == 1 ? "鐢�" : "濂�" : null);
+            patdescJson1.put("sex", selectServiceSubtaskList.get(0).getSex() != null ? selectServiceSubtaskList.get(0).getSex() == 1 ? "鐢�" : "濂�" : null);
             patdescJson1.put("age", selectServiceSubtaskList.get(0).getAge());
             subtaskDetailTrace.setPatdesc(patdescJson1.toJSONString());
             subtaskDetailTrace.setTodeptcode(svyTaskTemplateScriptVO.getDutyDeptCode());
@@ -913,8 +913,18 @@
             subtaskDetailTrace.setCreateTime(new Date());
             subtaskDetailTrace.setUpdateTime(new Date());
             subtaskDetailTrace.setOrgid(selectServiceSubtaskList.get(0).getOrgid());
-            traceService.insertServiceSubtaskDetailTtrace(subtaskDetailTrace);
-        } else if (ObjectUtils.isNotEmpty(stt) && stt.getIsabnormal() == 1L) {
+
+            ServiceSubtaskDetailTraceVO ssdt = new ServiceSubtaskDetailTraceVO();
+            ssdt.setSubId(subtaskDetailTrace.getSubId());
+            ssdt.setScriptid(subtaskDetailTrace.getScriptid());
+            ssdt.setTemplateType(subtaskDetailTrace.getTemplateType());
+            List<ServiceSubtaskDetailTrace> serviceSubtaskDetailTraces = traceService.selectServiceSubtaskDetailTtraceList(ssdt);
+            if (CollectionUtils.isNotEmpty(serviceSubtaskDetailTraces)) {
+                subtaskDetailTrace.setId(serviceSubtaskDetailTraces.get(0).getId());
+                traceService.updateServiceSubtaskDetailTtrace(subtaskDetailTrace);
+            }
+            else traceService.insertServiceSubtaskDetailTtrace(subtaskDetailTrace);
+        } else if (ObjectUtils.isNotEmpty(stt) && stt.getIsabnormal() != 1L) {
             //杩欓噷涓昏鏄�曞尰鎶や汉鍛樻妸寮傚父閫夐」鏀规垚浜嗛潪寮傚父鐨勶紝杩欓噷灏遍渶瑕佹煡涓�涓嬭繖鏉℃暟鎹槸涓嶆槸鍦ㄦ弧鎰忓害寮傚父琛紝濡傛灉鍦紝鍒欒鍒犻櫎
             ServiceSubtaskDetailTraceVO subtaskDetailTraceVO = new ServiceSubtaskDetailTraceVO();
             subtaskDetailTraceVO.setSubId(serviceSubtaskDetailVO.getSubId());
@@ -1131,9 +1141,7 @@
             subtaskDetailTrace.setGuid(ivrTaskTemplateScriptVO.getGuid());
             subtaskDetailTrace.setValueType(serviceSubtaskDetail.getValueType());
             subtaskDetailTrace.setTemplateType(1);
-
             subtaskDetailTrace.setType(ivrLibaScriptAssort != null ? ivrLibaScriptAssort.getType() : null);
-
             subtaskDetailTrace.setScriptid(ivrTaskTemplateScriptVO.getId() == null ? ivrTaskTemplateScriptVO.getScriptID() : ivrTaskTemplateScriptVO.getId());
             subtaskDetailTrace.setAsrtext(ivrTaskTemplateScriptVO.getIvrtext());
             subtaskDetailTrace.setRecordpath(null);
@@ -1141,7 +1149,7 @@
             JSONObject patdescJson2 = new JSONObject();
             patdescJson2.put("sendname", selectServiceSubtaskList.get(0).getSendname());
             patdescJson2.put("phone", selectServiceSubtaskList.get(0).getPhone());
-            patdescJson2.put("sex", selectServiceSubtaskList.get(0).getSex() == null ? selectServiceSubtaskList.get(0).getSex() == 1 ? "鐢�" : "濂�" : null);
+            patdescJson2.put("sex", selectServiceSubtaskList.get(0).getSex() != null ? selectServiceSubtaskList.get(0).getSex() == 1 ? "鐢�" : "濂�" : null);
             patdescJson2.put("age", selectServiceSubtaskList.get(0).getAge());
             subtaskDetailTrace.setPatdesc(patdescJson2.toJSONString());
             subtaskDetailTrace.setTodeptcode(ivrTaskTemplateScriptVO.getDutyDeptCode());
@@ -1151,7 +1159,17 @@
             subtaskDetailTrace.setCreateTime(new Date());
             subtaskDetailTrace.setUpdateTime(new Date());
             subtaskDetailTrace.setOrgid(selectServiceSubtaskList.get(0).getOrgid());
-            traceService.insertServiceSubtaskDetailTtrace(subtaskDetailTrace);
+
+            ServiceSubtaskDetailTraceVO ssdt = new ServiceSubtaskDetailTraceVO();
+            ssdt.setSubId(subtaskDetailTrace.getSubId());
+            ssdt.setScriptid(subtaskDetailTrace.getScriptid());
+            ssdt.setTemplateType(subtaskDetailTrace.getTemplateType());
+            List<ServiceSubtaskDetailTrace> serviceSubtaskDetailTraces = traceService.selectServiceSubtaskDetailTtraceList(ssdt);
+            if (CollectionUtils.isNotEmpty(serviceSubtaskDetailTraces)) {
+                subtaskDetailTrace.setId(serviceSubtaskDetailTraces.get(0).getId());
+                traceService.updateServiceSubtaskDetailTtrace(subtaskDetailTrace);
+            }
+            else traceService.insertServiceSubtaskDetailTtrace(subtaskDetailTrace);
         } else if (stt.getIsabnormal() != null && stt.getIsabnormal() != 1L) {
             //杩欓噷涓昏鏄�曞尰鎶や汉鍛樻妸寮傚父閫夐」鏀规垚浜嗛潪寮傚父鐨勶紝杩欓噷灏遍渶瑕佹煡涓�涓嬭繖鏉℃暟鎹槸涓嶆槸鍦ㄦ弧鎰忓害寮傚父琛紝濡傛灉鍦紝鍒欒鍒犻櫎
             ServiceSubtaskDetailTraceVO subtaskDetailTraceVO = new ServiceSubtaskDetailTraceVO();
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskDetailTraceMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskDetailTraceMapper.xml
index 4595c28..a7c9511 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskDetailTraceMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskDetailTraceMapper.xml
@@ -160,6 +160,9 @@
         <if test="valueType != null  and valueType != ''">
             and value_type = #{valueType}
         </if>
+        <if test="scriptid != null and scriptids==null ">
+            and scriptid = #{scriptid}
+        </if>
         <if test="scriptids != null ">
             and scriptid in
             <foreach item="scriptid" collection="scriptids" open="(" separator="," close=")">
@@ -275,8 +278,6 @@
             and template_type = #{templateType}
         </if>
     </select>
-
-
 
 
     <select id="selectServiceSubtaskDetailTtraceById" parameterType="Long"

--
Gitblit v1.9.3