From c62e26954e41360fc6a2efc874815aa84f8b0073 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 21 五月 2025 14:45:10 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java |   42 +++++++++++++++++++++++++++++++-----------
 1 files changed, 31 insertions(+), 11 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 4563bcd..383e489 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
@@ -287,7 +287,7 @@
                 tid = Long.valueOf(serviceSubTaskCacheReq.getParam1());
                 pid = Long.valueOf(serviceSubTaskCacheReq.getParam2());
             }
-            if (serviceSubTaskCacheReq.getType() != null && serviceSubTaskCacheReq.getType() == 2) {
+            if (CollectionUtils.isNotEmpty(serviceSubTaskCacheReq.getSvyLibTemplateScriptVOS()) &&  serviceSubTaskCacheReq.getSvyLibTemplateScriptVOS().size() > 0) {
                 //闂嵎
                 redisCache.deleteObject(pid + "-" + tid + "-WJscriptCache");
                 redisCache.setCacheListRight(pid + "-" + tid + "-WJscriptCache", serviceSubTaskCacheReq.getSvyLibTemplateScriptVOS());
@@ -295,7 +295,7 @@
                 Long tims = Long.valueOf(3 * 24 * 3600);
                 boolean expire = redisCache.expire(pid + "-" + tid + "-WJscriptCache", tims);
                 return 1;
-            } else if (serviceSubTaskCacheReq.getType() != null && serviceSubTaskCacheReq.getType() == 1) {
+            } else if (CollectionUtils.isNotEmpty(serviceSubTaskCacheReq.getIvrLibaTemplateScriptVOList()) && serviceSubTaskCacheReq.getIvrLibaTemplateScriptVOList().size() > 0) {
                 //闂嵎
                 redisCache.deleteObject(pid + "-" + tid + "-SFscriptCache");
                 redisCache.setCacheListRight(pid + "-" + tid + "-SFscriptCache", serviceSubTaskCacheReq.getIvrLibaTemplateScriptVOList());
@@ -358,13 +358,35 @@
         log.error("selectPatQuesTionResult鐨勫叆鍙備负锛歿}", serviceSubTaskQueryReq);
         Map<String, Object> map = new HashMap<>();
 
+        //鑾峰彇鏈鐨勯棶绛旂粨鏋�
         Map<String, Object> scriptInfoByCondition = serviceTaskService.getScriptInfoByCondition(serviceSubTaskQueryReq.getTaskid(), serviceSubTaskQueryReq.getPatid(), serviceSubTaskQueryReq.getIsFinish(), serviceSubTaskQueryReq.getPatfrom());
+        map = getMap(scriptInfoByCondition, serviceSubTaskQueryReq.getSubId(), serviceSubTaskQueryReq.getPatid());
+
+        //鑾峰彇涓婃鐨勯棶绛旂粨鏋�
+        ServiceSubtask serviceSubtask = serviceSubtaskMapper.selectServiceSubtaskById(serviceSubTaskQueryReq.getSubId());
+        map.put("upScriptResult", null);
+        map.put("upTaskName", null);
+        if (ObjectUtils.isNotEmpty(serviceSubtask) && serviceSubtask.getUpid() != null) {
+            Map<String, Object> scriptInfoByCondition2 = serviceTaskService.getScriptInfoByCondition(serviceSubTaskQueryReq.getTaskid(), serviceSubTaskQueryReq.getPatid(), serviceSubTaskQueryReq.getIsFinish(), serviceSubTaskQueryReq.getPatfrom());
+            Map<String, Object> map1 = getMap(scriptInfoByCondition2, Long.valueOf(serviceSubtask.getUpid()), serviceSubTaskQueryReq.getPatid());
+            if (!map1.isEmpty()) {
+                map.put("upScriptResult", map1.get("scriptResult"));
+                map.put("upTaskName", map1.get("taskName"));
+            }
+        }
+
+        return map;
+    }
+
+
+    private Map<String, Object> getMap(Map<String, Object> scriptInfoByCondition, Long subid, Long patid) {
+        Map<String, Object> map = new HashMap<>();
         if (ObjectUtils.isNotEmpty(scriptInfoByCondition) && ObjectUtils.isNotEmpty(scriptInfoByCondition.get("script"))) {
-            log.error("-----------scriptInfoByCondition鐨勫�间负锛歿}", scriptInfoByCondition);
+//            log.error("-----------scriptInfoByCondition鐨勫�间负锛歿}", scriptInfoByCondition);
             if (scriptInfoByCondition.get("type").equals("1")) {
                 List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVOList = (List) scriptInfoByCondition.get("script");
                 for (IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO : ivrLibaTemplateScriptVOList) {
-                    Map<String, String> scriptResult = getScriptResult(serviceSubTaskQueryReq.getSubId(), serviceSubTaskQueryReq.getPatid(), ivrLibaTemplateScriptVO.getId());
+                    Map<String, String> scriptResult = getScriptResult(subid, patid, ivrLibaTemplateScriptVO.getId());
                     if (ObjectUtils.isNotEmpty(scriptResult)) {
                         ivrLibaTemplateScriptVO.setScriptResult(scriptResult.get("asrtext"));
                         ivrLibaTemplateScriptVO.setScriptResultId(scriptResult.get("asrtextId"));
@@ -372,11 +394,10 @@
                 }
                 map.put("scriptResult", ivrLibaTemplateScriptVOList);
                 map.put("taskName", scriptInfoByCondition.get("taskName"));
-                return map;
             } else if (scriptInfoByCondition.get("type").equals("2")) {
                 List<SvyLibTemplateScriptVO> svyLibTemplateScriptVOList = (List) scriptInfoByCondition.get("script");
                 for (SvyLibTemplateScriptVO svyLibTemplateScriptVO : svyLibTemplateScriptVOList) {
-                    Map<String, String> scriptResult = getScriptResult(serviceSubTaskQueryReq.getSubId(), serviceSubTaskQueryReq.getPatid(), svyLibTemplateScriptVO.getId());
+                    Map<String, String> scriptResult = getScriptResult(subid, patid, svyLibTemplateScriptVO.getId());
                     if (ObjectUtils.isNotEmpty(scriptResult)) {
                         if (StringUtils.isNotEmpty(scriptResult.get("asrtext")))
                             svyLibTemplateScriptVO.setScriptResult(StringUtils.isNotEmpty(scriptResult.get("asrtext")) ? scriptResult.get("asrtext").replaceAll("^(\"|')(.*)\\1$", "$2") : "");
@@ -385,17 +406,16 @@
                 }
                 map.put("scriptResult", svyLibTemplateScriptVOList);
                 map.put("taskName", scriptInfoByCondition.get("taskName"));
-                return map;
             } else if (scriptInfoByCondition.get("type").equals("3")) {
                 //瀹f暀涓嶉渶瑕佹煡鐪�
                 List<HeLibrary> heLibraryList = (List) scriptInfoByCondition.get("script");
                 map.put("scriptResult", heLibraryList);
                 map.put("taskName", scriptInfoByCondition.get("taskName"));
-                return map;
             }
         }
         return map;
     }
+
 
     private Map<String, String> getScriptResult(Long subid, Long pid, Long sid) {
         Map<String, String> map = new HashMap<>();
@@ -458,8 +478,8 @@
             if (svyTaskTemplateScriptVO.getScore() != null) {
                 score = String.valueOf(svyTaskTemplateScriptVO.getScore());
             }
-            serviceSubtaskDetailVO.setAsrtext(svyTaskTemplateScriptVO.getScriptResult().replaceAll("^\"|\"$", ""));
-            serviceSubtaskDetailVO.setMatchedtext(svyTaskTemplateScriptVO.getScriptResult().replaceAll("^\"|\"$", ""));
+            serviceSubtaskDetailVO.setAsrtext(StringUtils.isEmpty(svyTaskTemplateScriptVO.getScriptResult()) ? "" : svyTaskTemplateScriptVO.getScriptResult().replaceAll("^\"|\"$", ""));
+            serviceSubtaskDetailVO.setMatchedtext(StringUtils.isEmpty(svyTaskTemplateScriptVO.getScriptResult()) ? "" : svyTaskTemplateScriptVO.getScriptResult().replaceAll("^\"|\"$", ""));
 //            if (StringUtils.isEmpty(serviceSubtaskDetailVO.getAsrtext())) {
 //                nextScriptNo = svyTaskTemplateScriptVO.getNextScriptno().toString();
 //            }
@@ -489,7 +509,7 @@
             serviceSubtaskDetailVO.setGuid(serviceTask.getGuid());
             serviceSubtaskDetailVO.setOrgid(serviceTask.getOrgid());
         }
-        serviceSubtaskDetailVO.setSubId(selectServiceSubtaskList.get(0).getId());
+        serviceSubtaskDetailVO.setSubId(CollectionUtils.isNotEmpty(selectServiceSubtaskList) ? selectServiceSubtaskList.get(0).getId() : null);
         serviceSubtaskDetailVO.setTemplatequestionnum(svyTaskTemplateScriptVO.getId());
         ServiceSubtaskDetail serviceSubtaskDetail = DtoConversionUtils.sourceToTarget(serviceSubtaskDetailVO, ServiceSubtaskDetail.class);
         serviceSubtaskDetailMapper.insertServiceSubtaskDetail(serviceSubtaskDetail);

--
Gitblit v1.9.3