From 10aaa035f5be0312304d20f022bdb714a8f4900a Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 11 十二月 2024 22:16:23 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java |  115 ++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 88 insertions(+), 27 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 b4ca1a8..25c5761 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java
@@ -4,16 +4,19 @@
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.gson.Gson;
 import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.DtoConversionUtils;
+import com.ruoyi.common.utils.http.HttpUtils;
 import org.apache.commons.lang3.StringUtils;
 import com.smartor.domain.*;
 import com.smartor.mapper.*;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import com.smartor.service.IServiceTaskService;
 import org.springframework.transaction.annotation.Transactional;
@@ -34,6 +37,15 @@
     private ServiceSubtaskMapper serviceSubtaskMapper;
 
     @Autowired
+    private IvrTaskTemplateMapper ivrTaskTemplateMapper;
+
+    @Autowired
+    private SvyTaskTemplateMapper svyTaskTemplateMapper;
+
+    @Autowired
+    private HeLibraryMapper heLibraryMapper;
+
+    @Autowired
     private IvrLibaTemplateScriptMapper ivrLibaTemplateScriptMapper;
 
     @Autowired
@@ -41,9 +53,6 @@
 
     @Autowired
     private PatArchiveMapper patArchiveMapper;
-
-    @Autowired
-    private HeLibraryMapper heLibraryMapper;
 
 
     @Autowired
@@ -75,6 +84,11 @@
     @Override
 
     public List<ServiceTask> selectServiceTaskList(ServiceTask serviceTask) {
+        //濡傛灉涓�0涓嶇疆绌猴紝浼氬奖鍝嶅埌鎴戠殑鏌ヨ
+        if (CollectionUtils.isEmpty(serviceTask.getLeaveldeptcodes()) || serviceTask.getLeaveldeptcodes().size() == 0)
+            serviceTask.setLeaveldeptcodes(null);
+        if (CollectionUtils.isEmpty(serviceTask.getLeavehospitaldistrictcodes()) || serviceTask.getLeavehospitaldistrictcodes().size() == 0)
+            serviceTask.setLeavehospitaldistrictcodes(null);
         return serviceTaskMapper.selectServiceTaskList(serviceTask);
     }
 
@@ -87,6 +101,7 @@
     @Override
     public int insertServiceTask(ServiceTask serviceTask) {
         serviceTask.setCreateTime(DateUtils.getNowDate());
+        serviceTask.setUpdateTime(DateUtils.getNowDate());
         return serviceTaskMapper.insertServiceTask(serviceTask);
     }
 
@@ -135,30 +150,55 @@
     }
 
     @Override
-    public List getScriptInfoByCondition(Long taskid, Long patid) {
+    public Map<String, Object> getScriptInfoByCondition(Long taskid, Long patid, Boolean isFinish) {
+        Map<String, Object> map = new HashMap<>();
+        ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+        serviceSubtaskVO.setPatid(patid);
+        serviceSubtaskVO.setTaskid(taskid);
+//        List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+//        //鏌ヨ鎮h�呮槸鍚﹂噸瑕嗗仛棰�
+//        if (CollectionUtils.isEmpty(selectServiceSubtaskList)) {
+//            Long submit = selectServiceSubtaskList.get(0).getSubmit();
+//            if (submit == 1L) {
+//                map.put("submit", "1");
+//                return map;
+//            }
+//        }
         //閫氳繃浠诲姟ID鑾峰彇妯℃澘ID
         ServiceTask serviceTask = selectServiceTaskByTaskid(taskid);
         List info = new ArrayList();
         if (serviceTask.getType().equals("1")) {
             //闅忚
+            log.error("鏂囨湰闅忚闂");
             info = sfInfo(serviceTask, patid);
         } else if (serviceTask.getType().equals("2")) {
             //闂嵎
-            info = wjInfo(serviceTask, patid);
+            log.error("鏂囨湰闂嵎闂");
+            info = wjInfo(serviceTask, patid, isFinish);
         } else {
             //瀹f暀
-            info = xjInfo(serviceTask.getTemplateid());
+            info = xjInfo(Long.valueOf(serviceTask.getLibtemplateid()), taskid, patid, isFinish);
         }
 
         //鍙鎵撳紑浜嗛〉闈紝灏辩畻鎴愬姛
-        ServiceSubtask ServiceTaskSingle = new ServiceSubtask();
-        ServiceTaskSingle.setTaskid(taskid);
-        ServiceTaskSingle.setPatid(patid);
-        ServiceTaskSingle.setResult("success");
-        ServiceTaskSingle.setFinishtime(new Date());
-        serviceSubtaskMapper.updateServiceSubtaskByCondition(ServiceTaskSingle);
+        if (isFinish) {
+            ServiceSubtask ss = new ServiceSubtask();
+            ss.setTaskid(taskid);
+            ss.setPatid(patid);
+            ss.setSendstate(1L);
+            ss.setResult("success");
+            ss.setFinishtime(new Date());
+            serviceSubtaskMapper.updateServiceSubtaskByCondition(ss);
+        }
+        SvyTaskTemplate svyTaskTemplate = svyTaskTemplateMapper.selectSvyTaskTemplateBySvyid(serviceTask.getTemplateid());
+        if (StringUtils.isNotEmpty(serviceTask.getKcb())) map.put("kcb", serviceTask.getKcb());
+        map.put("script", info);
+        if (StringUtils.isNotEmpty(serviceTask.getJsy())) map.put("jsy", serviceTask.getJsy());
+        map.put("type", serviceTask.getType());
+        map.put("taskName", serviceTask.getTaskName());
+        map.put("submit", "0");
 
-        return info;
+        return map;
     }
 
     /**
@@ -171,7 +211,7 @@
     public List sfInfo(ServiceTask serviceTask, Long patid) {
         //閫氳繃妯℃澘ID鑾峰彇闂淇℃伅
         IvrLibaTemplateScript ivrLibaTemplateScript = new IvrLibaTemplateScript();
-        ivrLibaTemplateScript.setTemplateID(serviceTask.getTemplateid());
+        ivrLibaTemplateScript.setTemplateid(Long.valueOf(serviceTask.getLibtemplateid()));
         ivrLibaTemplateScript.setDelFlag("0");
         List<IvrLibaTemplateScript> ivrLibaTemplateScripts = ivrLibaTemplateScriptMapper.selectIvrLibaTemplateScriptList(ivrLibaTemplateScript);
         if (CollectionUtils.isEmpty(ivrLibaTemplateScripts) || ivrLibaTemplateScripts.size() == 0) {
@@ -199,25 +239,27 @@
 
         //灏嗘ā鏉块棶棰樿瘽鏈噷鐨勯�氶厤绗︽浛鎹�
         for (IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO : ivrLibaTemplateScriptVOS) {
-            if (StringUtils.isNotEmpty(ivrLibaTemplateScriptVO.getQuestionText())) {
+            if (StringUtils.isNotEmpty(ivrLibaTemplateScriptVO.getScriptContent())) {
                 for (Map<String, String> map : mapList) {
                     for (String key : map.keySet()) {
 
-                        ivrLibaTemplateScriptVO.setQuestionText(ivrLibaTemplateScriptVO.getQuestionText().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : ""));
+                        ivrLibaTemplateScriptVO.setScriptContent(ivrLibaTemplateScriptVO.getScriptContent().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : ""));
                     }
                 }
                 //鏇挎崲鎮h�呬釜浜轰俊鎭暟鎹�
-                ivrLibaTemplateScriptVO.setQuestionText(ivrLibaTemplateScriptVO.getQuestionText().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : ""));
-                ivrLibaTemplateScriptVO.setQuestionText(ivrLibaTemplateScriptVO.getQuestionText().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : ""));
-                ivrLibaTemplateScriptVO.setQuestionText(ivrLibaTemplateScriptVO.getQuestionText().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : ""));
+                ivrLibaTemplateScriptVO.setScriptContent(ivrLibaTemplateScriptVO.getScriptContent().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : ""));
+                ivrLibaTemplateScriptVO.setScriptContent(ivrLibaTemplateScriptVO.getScriptContent().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : ""));
+                ivrLibaTemplateScriptVO.setScriptContent(ivrLibaTemplateScriptVO.getScriptContent().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : ""));
 
                 //鑾峰彇闂閫夐」
                 IvrLibaTemplateTargetoption ivrLibaTemplateTargetoption = new IvrLibaTemplateTargetoption();
-                ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScriptVO.getID());
+                ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScriptVO.getId());
                 List<IvrLibaTemplateTargetoption> ivrLibaTemplateTargetoptions = ivrLibaTemplateTargetOptionMapper.selectIvrLibaTemplateTargetoptionList(ivrLibaTemplateTargetoption);
                 ivrLibaTemplateScriptVO.setIvrLibaScriptTargetoptionList(ivrLibaTemplateTargetoptions);
             }
         }
+        Collections.sort(ivrLibaTemplateScriptVOS, Comparator.comparingInt(IvrLibaTemplateScriptVO::getSort));
+
         return ivrLibaTemplateScriptVOS;
     }
 
@@ -228,10 +270,18 @@
      * @param patid
      * @return
      */
-    private List wjInfo(ServiceTask serviceTask, Long patid) {
+    private List wjInfo(ServiceTask serviceTask, Long patid, Boolean isFinish) {
+        //鐢ㄦ埛鐐瑰嚮浜嗗閾撅紝灏辩畻浠栭鍙栦簡
+        if (isFinish == true) {
+            ServiceSubtask serviceSubtask = new ServiceSubtask();
+            serviceSubtask.setSendstate(1L);
+            serviceSubtask.setPatid(patid);
+            serviceSubtask.setTaskid(serviceTask.getTaskid());
+            serviceSubtaskMapper.updateServiceSubtaskByPatId(serviceSubtask);
+        }
         //閫氳繃妯℃澘ID鑾峰彇闂淇℃伅
         SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript();
-        svyLibTemplateScript.setSvyid(Long.valueOf(serviceTask.getTemplateid()));
+        svyLibTemplateScript.setSvyid(Long.valueOf(serviceTask.getLibtemplateid()));
         svyLibTemplateScript.setDelFlag("0");
         List<SvyLibTemplateScript> svyLibTemplateScripts = svyLibTemplateScriptMapper.selectSvyLibTemplateScriptList(svyLibTemplateScript);
         if (CollectionUtils.isEmpty(svyLibTemplateScripts) || svyLibTemplateScripts.size() == 0) {
@@ -267,10 +317,12 @@
                     }
                 }
                 //鏇挎崲鎮h�呬釜浜轰俊鎭暟鎹�
-                svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : ""));
-                svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : ""));
-                svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : ""));
-
+                log.error("闂id锛歿},   闂鍐呭锛歿}", svyLibTemplateScriptVO.getId(), svyLibTemplateScriptVO.getScriptContent());
+                if (StringUtils.isNotEmpty(svyLibTemplateScriptVO.getScriptContent())) {
+                    svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : ""));
+                    svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : ""));
+                    svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : ""));
+                }
                 //鑾峰彇闂閫夐」
                 SvyLibTemplateTargetoption svyLibTemplateTargetoption = new SvyLibTemplateTargetoption();
                 svyLibTemplateTargetoption.setScriptid(svyLibTemplateScriptVO.getId());
@@ -278,10 +330,19 @@
                 svyLibTemplateScriptVO.setSvyLibTemplateTargetoptions(svyLibTemplateTargetoptions);
             }
         }
+        Collections.sort(svyLibTemplateScriptVOS, Comparator.comparingLong(SvyLibTemplateScriptVO::getSort));
         return svyLibTemplateScriptVOS;
     }
 
-    private List xjInfo(Long templateId) {
+    private List xjInfo(Long templateId, Long taskid, Long patid, Boolean isFinish) {
+        if (isFinish == true) {
+            ServiceSubtask serviceSubtask = new ServiceSubtask();
+            serviceSubtask.setTaskid(taskid);
+            serviceSubtask.setPatid(patid);
+            serviceSubtask.setResult("瀹屾垚");
+            serviceSubtask.setFinishtime(new Date());
+            serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask);
+        }
         HeLibrary heLibrary = heLibraryMapper.selectHeLibraryById(Long.valueOf(templateId));
         List list = new ArrayList();
         list.add(heLibrary);

--
Gitblit v1.9.3