From 0c515e7b8e3c1c15c615cc831ef3fdb09ea5265e Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 10 十月 2025 10:25:17 +0800
Subject: [PATCH] 修改BUG

---
 smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java |  244 +++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 207 insertions(+), 37 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 73fdfa3..2ed3017 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java
@@ -10,6 +10,7 @@
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.DtoConversionUtils;
 import com.ruoyi.common.utils.http.HttpUtils;
+import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 import com.smartor.domain.*;
 import com.smartor.mapper.*;
@@ -37,20 +38,22 @@
     private ServiceSubtaskMapper serviceSubtaskMapper;
 
     @Autowired
-    private IvrTaskTemplateMapper ivrTaskTemplateMapper;
+    private ServiceTaskdeptMapper serviceTaskdeptMapper;
 
     @Autowired
     private PatArchiveImportMapper patArchiveImportMapper;
 
 
     @Autowired
-    private SvyTaskTemplateMapper svyTaskTemplateMapper;
+    private ServiceSubtaskPreachformMapper serviceSubtaskPreachformMapper;
 
     @Autowired
     private HeLibraryMapper heLibraryMapper;
 
     @Autowired
     private IvrLibaTemplateScriptMapper ivrLibaTemplateScriptMapper;
+    @Autowired
+    private IvrTaskTemplateScriptMapper ivrTaskTemplateScriptMapper;
 
     @Autowired
     private SvyLibTemplateScriptMapper svyLibTemplateScriptMapper;
@@ -58,9 +61,17 @@
     @Autowired
     private PatArchiveMapper patArchiveMapper;
 
+    @Autowired
+    private PatMedInhospMapper patMedInhospMapper;
+
+    @Autowired
+    private PatMedOuthospMapper patMedOuthospMapper;
+
 
     @Autowired
     private IvrLibaTemplateTargetoptionMapper ivrLibaTemplateTargetOptionMapper;
+    @Autowired
+    private IvrTaskTemplateTargetoptionMapper ivrTaskTemplateTargetOptionMapper;
 
     @Autowired
     private SvyLibTemplateTargetoptionMapper svyLibTemplateTargetoptionMapper;
@@ -154,16 +165,67 @@
     @Transactional(rollbackFor = Exception.class)
     @Override
     public Boolean deleteServiceTaskByTaskid(Long taskid) {
-        ServiceSubtask ServiceTaskcall = new ServiceSubtask();
-        ServiceTaskcall.setTaskid(taskid);
-        ServiceTaskcall.setDelFlag("1");
-        Boolean aBoolean = serviceSubtaskMapper.updateServiceSubtask(ServiceTaskcall);
+        ServiceSubtask serviceSubtask = new ServiceSubtask();
+        serviceSubtask.setTaskid(taskid);
+
+        //鏌ヨ瀛愪换鍔�
+        ServiceSubtaskVO serviceSubtaskVO = DtoConversionUtils.sourceToTarget(serviceSubtask, ServiceSubtaskVO.class);
+        List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+        for (ServiceSubtask ss : serviceSubtaskList) {
+            log.error("sfSend闇�瑕佺Щ闄ょ殑subId涓猴細{}", ss.getId().toString());
+            redisCache.removeElementFromList("cache-exist", ss.getId().toString());
+            redisCache.removeElementFromList("cache-0", ss.getId().toString());
+            redisCache.removeElementFromList("cache-1", ss.getId().toString());
+            redisCache.removeElementFromList("cache-2", ss.getId().toString());
+            redisCache.removeElementFromList("cache-3", ss.getId().toString());
+            redisCache.removeElementFromList("cache-4", ss.getId().toString());
+        }
+
+        serviceSubtask.setDelFlag("1");
+        Boolean aBoolean = serviceSubtaskMapper.updateServiceSubtaskByPatId(serviceSubtask);
+
+        //鍏宠仈琛ㄥ垹闄�
+        ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
+        serviceTaskdept.setTaskId(taskid);
+        int i = serviceTaskdeptMapper.deleteServiceTaskdeptByTaskId(serviceTaskdept);
+
         Boolean isSuccess = false;
-        if (!aBoolean) {
+        if (!aBoolean || i <= 0) {
             new BaseException("浠诲姟鍒犻櫎澶辫触");
         }
         isSuccess = serviceTaskMapper.deleteServiceTaskByTaskid(taskid);
         return isSuccess;
+    }
+
+
+    /**
+     * 鑾峰彇闅忚鍙婃椂鐜�
+     *
+     * @param serviceSubtask
+     * @return
+     */
+    public Map<String, Object> selectTimelyRate(ServiceSubtask serviceSubtask) {
+        if (serviceSubtask.getEndtime() != null && new Date().before(serviceSubtask.getEndtime())) {
+            serviceSubtask.setEndtime(new Date());
+        }
+        Double dob = serviceSubtaskMapper.selectTimelyRate(serviceSubtask);
+        // 1. 鏌ヨ鍏ㄩ儴鏁版嵁锛圫QL涓嶅垎椤碉級
+        List<ServiceSubtask> allList = serviceSubtaskMapper.selectTimelyRateDetail(serviceSubtask);
+        // 2. Java浠g爜鍒嗛〉
+        int pageNum = serviceSubtask.getPn() != null ? serviceSubtask.getPn() : 1;
+        int pageSize = serviceSubtask.getPs() != null ? serviceSubtask.getPs() : 10;
+        int fromIndex = (pageNum - 1) * pageSize;
+        int toIndex = Math.min(fromIndex + pageSize, allList.size());
+        List<ServiceSubtask> pageList = new ArrayList<>();
+        if (fromIndex < allList.size()) {
+            pageList = allList.subList(fromIndex, toIndex);
+        }
+        log.info("浠g爜鍒嗛〉鍙傛暟: pageNum={}, pageSize={}, fromIndex={}, toIndex={}, total={}", pageNum, pageSize, fromIndex, toIndex, allList.size());
+        Map<String, Object> map = new HashMap<>();
+        map.put("rate", dob);
+        map.put("detail", pageList);
+        map.put("total", allList.size()); // 鍙�夛細杩斿洖鎬绘暟
+        return map;
     }
 
     @Override
@@ -172,7 +234,8 @@
         ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
         serviceSubtaskVO.setPatid(patid);
         serviceSubtaskVO.setTaskid(taskid);
-//        List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+        serviceSubtaskVO.setSendstate(3L);
+        List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
 //        //鏌ヨ鎮h�呮槸鍚﹂噸瑕嗗仛棰�
 //        if (CollectionUtils.isEmpty(selectServiceSubtaskList)) {
 //            Long submit = selectServiceSubtaskList.get(0).getSubmit();
@@ -200,21 +263,124 @@
                 ServiceSubtask ss = new ServiceSubtask();
                 ss.setTaskid(taskid);
                 ss.setPatid(patid);
-                ss.setSendstate(1L);
-                ss.setResult("success");
-                ss.setFinishtime(new Date());
-                serviceSubtaskMapper.updateServiceSubtaskByCondition(ss);
+                Integer integer = serviceSubtaskMapper.selectSendstateByCondition(ss);
+                if (integer != null && integer != 6) {
+                    ss.setSendstate(1L);
+                    serviceSubtaskMapper.updateServiceSubtaskByCondition(ss);
+                }
             }
         }
 
-        SvyTaskTemplate svyTaskTemplate = svyTaskTemplateMapper.selectSvyTaskTemplateBySvyid(serviceTask.getTemplateid());
+        if (CollectionUtils.isNotEmpty(selectServiceSubtaskList)) {
+            //灏嗗綋鍓嶆柟寮忕殑鍙戦�佺姸鎬佹敼鎴愬凡棰嗗彇
+            ServiceSubtask serviceSubtask = selectServiceSubtaskList.get(0);
+            ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
+            serviceSubtaskPreachform.setPreachform(serviceSubtask.getCurrentPreachform());
+            serviceSubtaskPreachform.setSubid(serviceSubtask.getId());
+            serviceSubtaskPreachform.setTaskid(serviceTask.getTaskid());
+            List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
+            if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) {
+                ServiceSubtaskPreachform ssp = serviceSubtaskPreachforms.get(0);
+                ssp.setSendstate("3");
+                serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(ssp);
+            }
+        }
+
         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 map;
+    }
 
+    @Override
+    public Map<String, Object> getScriptByCondition(Long taskid, String zyserialnum, String mzserialnum, String tsserialnum) {
+        //閫氳繃浠诲姟ID鑾峰彇妯℃澘ID
+        ServiceTask serviceTask = selectServiceTaskByTaskid(taskid);
+        //閫氳繃妯℃澘ID鑾峰彇闂淇℃伅
+        SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript();
+        svyLibTemplateScript.setSvyid(Long.valueOf(serviceTask.getLibtemplateid()));
+        svyLibTemplateScript.setDelFlag("0");
+        List<SvyLibTemplateScript> svyLibTemplateScripts = svyLibTemplateScriptMapper.selectSvyLibTemplateScriptList(svyLibTemplateScript);
+        if (CollectionUtils.isEmpty(svyLibTemplateScripts) || svyLibTemplateScripts.size() == 0) {
+            log.info("ivrLibaTemplateScripts涓虹┖浜嗭紝璇峰敖蹇仈绯荤鐞嗗憳澶勭悊");
+            return null;
+        }
+        PatArchive patArchive = null;
+        if (StringUtils.isNotEmpty(zyserialnum)) {
+            PatMedInhospVO patMedInhospVO = new PatMedInhospVO();
+            patMedInhospVO.setSerialnum(zyserialnum);
+            List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospListByCondition(patMedInhospVO);
+            if (CollectionUtils.isNotEmpty(patMedInhospList)) {
+                patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhospList.get(0).getPatid());
+            }
+        } else if (StringUtils.isNotEmpty(mzserialnum)) {
+            PatMedOuthosp patMedOuthosp = new PatMedOuthosp();
+            patMedOuthosp.setSerialnum(mzserialnum);
+            List<PatMedOuthosp> patMedOuthosps = patMedOuthospMapper.selectPatMedOuthospList(patMedOuthosp);
+            if (CollectionUtils.isNotEmpty(patMedOuthosps)) {
+                patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOuthosps.get(0).getPatid());
+            }
+        } else if (StringUtils.isNotEmpty(tsserialnum)) {
+            PatArchive pa = new PatArchive();
+            pa.setPatientno(tsserialnum);
+            List<PatArchive> patArchives = patArchiveMapper.selectPatArchiveList(pa);
+            if (CollectionUtils.isNotEmpty(patArchives)) patArchive = patArchives.get(0);
+        }
+
+        //鍒ゆ柇涓�涓嬩粖澶╂槸鍚﹀凡缁忓仛杩囬锛屽仛杩囧氨涓嶈鍐嶅仛浜�
+        ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+        serviceSubtaskVO.setTaskid(taskid);
+        serviceSubtaskVO.setPatid(patArchive.getId());
+        serviceSubtaskVO.setVisitTime(new Date());
+        List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+        if (CollectionUtils.isNotEmpty(serviceSubtaskList) && serviceSubtaskList.size() > 0) {
+            Map<String, Object> map = new HashMap<>();
+            map.put("result", "浠婃棩宸茬粡鍋氳繃婊℃剰搴﹁皟鏌� 锛屾棤闇�鍐嶉噸澶嶅仛绛旓紒");
+            return map;
+        }
+
+        List<SvyLibTemplateScriptVO> svyLibTemplateScriptVOS = DtoConversionUtils.sourceToTarget(svyLibTemplateScripts, SvyLibTemplateScriptVO.class);
+        //灏嗘ā鏉块棶棰樿瘽鏈噷鐨勯�氶厤绗︽浛鎹�
+        ObjectMapper objectMapper = new ObjectMapper();
+        Map<String, Map<String, String>> serviceTaskMap = null;
+        try {
+            serviceTaskMap = objectMapper.readValue(serviceTask.getTextParam(), Map.class);
+        } catch (JsonProcessingException e) {
+            e.printStackTrace();
+        }
+        List<Map<String, String>> mapList = new ArrayList<>();
+
+        for (Map<String, String> map : serviceTaskMap.values()) {
+            mapList.add(map);
+        }
+        for (SvyLibTemplateScriptVO svyLibTemplateScriptVO : svyLibTemplateScriptVOS) {
+            if (StringUtils.isNotEmpty(svyLibTemplateScriptVO.getScriptContent())) {
+                for (Map<String, String> map : mapList) {
+                    for (String key : map.keySet()) {
+
+                        svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : ""));
+                    }
+                }
+                //鏇挎崲鎮h�呬釜浜轰俊鎭暟鎹�
+                log.error("闂id锛歿},   闂鍐呭锛歿}", svyLibTemplateScriptVO.getId(), svyLibTemplateScriptVO.getScriptContent());
+                if (StringUtils.isNotEmpty(svyLibTemplateScriptVO.getScriptContent()) && ObjectUtils.isNotEmpty(patArchive)) {
+                    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());
+                List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = svyLibTemplateTargetoptionMapper.selectSvyLibTemplateTargetoptionList(svyLibTemplateTargetoption);
+                svyLibTemplateScriptVO.setSvyLibTemplateTargetoptions(svyLibTemplateTargetoptions);
+            }
+        }
+        Map<String, Object> map = new HashMap<>();
+        map.put("result", null);
+        map.put("svyLibTemplateScriptVOS", svyLibTemplateScriptVOS);
         return map;
     }
 
@@ -227,15 +393,15 @@
      */
     public List sfInfo(ServiceTask serviceTask, Long patid, String patfrom) {
         //閫氳繃妯℃澘ID鑾峰彇闂淇℃伅
-        IvrLibaTemplateScript ivrLibaTemplateScript = new IvrLibaTemplateScript();
-        ivrLibaTemplateScript.setTemplateid(Long.valueOf(serviceTask.getLibtemplateid()));
-        ivrLibaTemplateScript.setDelFlag("0");
-        List<IvrLibaTemplateScript> ivrLibaTemplateScripts = ivrLibaTemplateScriptMapper.selectIvrLibaTemplateScriptList(ivrLibaTemplateScript);
-        if (CollectionUtils.isEmpty(ivrLibaTemplateScripts) || ivrLibaTemplateScripts.size() == 0) {
+        IvrTaskTemplateScript ivrTaskTemplateScript = new IvrTaskTemplateScript();
+        ivrTaskTemplateScript.setTemplateID(Long.valueOf(serviceTask.getTemplateid()));
+        ivrTaskTemplateScript.setDelFlag("0");
+        List<IvrTaskTemplateScript> ivrTaskTemplateScripts = ivrTaskTemplateScriptMapper.selectIvrTaskTemplateScriptList(ivrTaskTemplateScript);
+        if (CollectionUtils.isEmpty(ivrTaskTemplateScripts) || ivrTaskTemplateScripts.size() == 0) {
             log.info("ivrLibaTemplateScripts涓虹┖浜嗭紝璇峰敖蹇仈绯荤鐞嗗憳澶勭悊");
             return new ArrayList<>();
         }
-        List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVOS = DtoConversionUtils.sourceToTarget(ivrLibaTemplateScripts, IvrLibaTemplateScriptVO.class);
+        List<IvrTaskTemplateScriptVO> ivrTaskTemplateScriptVOS = DtoConversionUtils.sourceToTarget(ivrTaskTemplateScripts, IvrTaskTemplateScriptVO.class);
 
         //鑾峰彇鎮h�呬俊鎭�
         PatArchive patArchive = null;
@@ -260,29 +426,29 @@
         }
 
         //灏嗘ā鏉块棶棰樿瘽鏈噷鐨勯�氶厤绗︽浛鎹�
-        for (IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO : ivrLibaTemplateScriptVOS) {
-            if (StringUtils.isNotEmpty(ivrLibaTemplateScriptVO.getScriptContent())) {
+        for (IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO : ivrTaskTemplateScriptVOS) {
+            if (StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getScriptContent())) {
                 for (Map<String, String> map : mapList) {
                     for (String key : map.keySet()) {
 
-                        ivrLibaTemplateScriptVO.setScriptContent(ivrLibaTemplateScriptVO.getScriptContent().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : ""));
+                        ivrTaskTemplateScriptVO.setScriptContent(ivrTaskTemplateScriptVO.getScriptContent().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : ""));
                     }
                 }
                 //鏇挎崲鎮h�呬釜浜轰俊鎭暟鎹�
-                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() : ""));
+                ivrTaskTemplateScriptVO.setScriptContent(ivrTaskTemplateScriptVO.getScriptContent().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : ""));
+                ivrTaskTemplateScriptVO.setScriptContent(ivrTaskTemplateScriptVO.getScriptContent().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : ""));
+                ivrTaskTemplateScriptVO.setScriptContent(ivrTaskTemplateScriptVO.getScriptContent().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : ""));
 
                 //鑾峰彇闂閫夐」
-                IvrLibaTemplateTargetoption ivrLibaTemplateTargetoption = new IvrLibaTemplateTargetoption();
-                ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScriptVO.getId());
-                List<IvrLibaTemplateTargetoption> ivrLibaTemplateTargetoptions = ivrLibaTemplateTargetOptionMapper.selectIvrLibaTemplateTargetoptionList(ivrLibaTemplateTargetoption);
-                ivrLibaTemplateScriptVO.setIvrLibaScriptTargetoptionList(ivrLibaTemplateTargetoptions);
+                IvrTaskTemplateTargetoption ivrTaskTemplateTargetoption = new IvrTaskTemplateTargetoption();
+                ivrTaskTemplateTargetoption.setScriptid(ivrTaskTemplateScriptVO.getId());
+                List<IvrTaskTemplateTargetoption> ivrTaskTemplateTargetoptions = ivrTaskTemplateTargetOptionMapper.selectIvrTaskTemplateTargetoptionList(ivrTaskTemplateTargetoption);
+                ivrTaskTemplateScriptVO.setIvrTaskScriptTargetoptionList(ivrTaskTemplateTargetoptions);
             }
         }
-        Collections.sort(ivrLibaTemplateScriptVOS, Comparator.comparingInt(IvrLibaTemplateScriptVO::getSort));
+        Collections.sort(ivrTaskTemplateScriptVOS, Comparator.comparingLong(IvrTaskTemplateScriptVO::getSort));
 
-        return ivrLibaTemplateScriptVOS;
+        return ivrTaskTemplateScriptVOS;
     }
 
     /**
@@ -300,9 +466,9 @@
         serviceSubtaskVO.setPatid(patid);
         List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
         if (CollectionUtils.isNotEmpty(serviceSubtaskList) && serviceSubtaskList.size() == 1) {
-            if (serviceSubtaskList.get(0).getSendstate() != 6 && isFinish == true) {
+            if (serviceSubtaskList.get(0).getSendstate() == 3 && isFinish == true) {
                 ServiceSubtask serviceSubtask = new ServiceSubtask();
-                serviceSubtask.setSendstate(7L);
+                serviceSubtask.setSendstate(1L);
                 serviceSubtask.setPatid(patid);
                 serviceSubtask.setTaskid(serviceTask.getTaskid());
                 serviceSubtaskMapper.updateServiceSubtaskByPatId(serviceSubtask);
@@ -353,7 +519,7 @@
                 }
                 //鏇挎崲鎮h�呬釜浜轰俊鎭暟鎹�
                 log.error("闂id锛歿},   闂鍐呭锛歿}", svyLibTemplateScriptVO.getId(), svyLibTemplateScriptVO.getScriptContent());
-                if (StringUtils.isNotEmpty(svyLibTemplateScriptVO.getScriptContent())) {
+                if (StringUtils.isNotEmpty(svyLibTemplateScriptVO.getScriptContent()) && ObjectUtils.isNotEmpty(patArchive)) {
                     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() : ""));
@@ -374,9 +540,13 @@
             ServiceSubtask serviceSubtask = new ServiceSubtask();
             serviceSubtask.setTaskid(taskid);
             serviceSubtask.setPatid(patid);
-            serviceSubtask.setResult("瀹屾垚");
-            serviceSubtask.setFinishtime(new Date());
-            serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask);
+            Integer integer = serviceSubtaskMapper.selectSendstateByCondition(serviceSubtask);
+            if (integer == 3) {
+                serviceSubtask.setResult("瀹屾垚");
+                serviceSubtask.setFinishtime(new Date());
+                serviceSubtask.setSendstate(6L);
+                serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask);
+            }
         }
         HeLibrary heLibrary = heLibraryMapper.selectHeLibraryById(Long.valueOf(templateId));
         List list = new ArrayList();

--
Gitblit v1.9.3