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

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java |    6 
 smartor/src/main/java/com/smartor/service/impl/SvyTaskSingleServiceImpl.java     |   32 ++++++
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java    |   35 ++++++
 ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java           |   12 +
 smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java   |   21 ++-
 smartor/src/main/java/com/smartor/domain/ExternalDiagnosisInfo.java              |    3 
 smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java        |   27 +++++
 smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java        |   86 ++++++++++++++++
 smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml               |    7 +
 smartor/src/main/java/com/smartor/domain/ServiceSubtaskVO.java                   |   14 ++
 10 files changed, 221 insertions(+), 22 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
index ae1e75b..fcfb2f9 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
@@ -154,10 +154,11 @@
         log.error("杩涗换鍔′簡鍚楋紵{}", commonTaskcallMQ);
         //鍒ゆ柇涓�涓媍ommonTaskcallMQ涓殑stopstate鏄惁涓巌vr_task涓殑涓�鑷达紝涓嶄竴鑷达紝鍒欒鏄庢槸鏆傚仠浜�
         ServiceTask ivrTask1 = ivrTaskMapper.selectServiceTaskByTaskid(commonTaskcallMQ.getTaskid());
-        if (ivrTask1.getStopState() != commonTaskcallMQ.getStopState()) {
-            //灏嗘秷鎭粠闃熷垪涓墧闄�
-            return;
-        }
+
+//        if (ivrTask1.getStopState() != commonTaskcallMQ.getStopState()) {
+//            //灏嗘秷鎭粠闃熷垪涓墧闄�
+//            return;
+//        }
 
         if (StringUtils.isNotEmpty(commonTaskcallMQ.getPreachform())) {
             //濡備綍浠诲姟鍙戦�佹柟寮忎笉涓虹┖
@@ -183,6 +184,9 @@
                 ivrTaskcall.setTaskid(commonTaskcallMQ.getTaskid());
                 ivrTaskcall.setSendstate(1L);
                 List<ServiceSubtask> selectServiceSubtaskList = ivrTaskcallMapper.selectServiceSubtaskList(ivrTaskcall);
+                if (CollectionUtils.isEmpty(selectServiceSubtaskList)) {
+                    continue;
+                }
                 if (descByCode.equals("鐢佃瘽")) {
                     for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) {
                         //鍏堝垽鏂竴涓嬶紝subIds鏄惁涓虹┖锛屽鏋滀笉涓虹┖锛屽彧鎵цsubIds閲岀殑鎮h��
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index bce9286..5560354 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -192,7 +192,7 @@
                 Set<String> uniqueDeptCodes = new HashSet<>();
                 for (SysUserDept userDept : sysUserDeptKSs) {
                     String deptCode = userDept.getDeptCode();
-                    if (!uniqueDeptCodes.contains(deptCode)) {
+                    if (StringUtils.isNotEmpty(deptCode) && !uniqueDeptCodes.contains(deptCode)) {
                         distinctUserDepts.add(userDept);
                         uniqueDeptCodes.add(deptCode);
                     }
@@ -202,7 +202,7 @@
                 Set<String> uniqueBQCodes = new HashSet<>();
                 for (SysUserDept userDept : sysUserDeptBQs) {
                     String deptCode = userDept.getDeptCode();
-                    if (!uniqueBQCodes.contains(deptCode)) {
+                    if (StringUtils.isNotEmpty(deptCode) && !uniqueBQCodes.contains(deptCode)) {
                         distinctUserBQs.add(userDept);
                         uniqueBQCodes.add(deptCode);
                     }
@@ -226,6 +226,7 @@
                 Map<String, Object> map = new HashMap<>();
                 map.put("districtCode", "");
                 if (StringUtils.isNotEmpty(sud.getDeptCode())) map.put("districtCode", sud.getDeptCode());
+                else continue;
                 map.put("districtName", "");
                 if (StringUtils.isNotEmpty(sud.getDeptName())) map.put("districtName", sud.getDeptName());
                 list.add(map);
@@ -238,6 +239,7 @@
                 Map<String, Object> map = new HashMap<>();
                 map.put("deptCode", "");
                 if (StringUtils.isNotEmpty(sud.getDeptCode())) map.put("deptCode", sud.getDeptCode());
+                else continue;
                 map.put("deptName", "");
                 if (StringUtils.isNotEmpty(sud.getDeptName())) map.put("deptName", sud.getDeptName());
                 list.add(map);
diff --git a/smartor/src/main/java/com/smartor/domain/ExternalDiagnosisInfo.java b/smartor/src/main/java/com/smartor/domain/ExternalDiagnosisInfo.java
index e10dc45..84a4b36 100644
--- a/smartor/src/main/java/com/smartor/domain/ExternalDiagnosisInfo.java
+++ b/smartor/src/main/java/com/smartor/domain/ExternalDiagnosisInfo.java
@@ -49,4 +49,7 @@
 
     @ApiModelProperty(value = "璇婃柇鍚嶇О")
     private String ZhenDuanMC;
+
+    @ApiModelProperty(value = "Icd10")
+    private String Icd10;
 }
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskVO.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskVO.java
index 13a6bb9..0d4cd66 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskVO.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskVO.java
@@ -614,6 +614,18 @@
     private Date startOutHospTime;
 
     /**
+     * 寮�濮嬪彂閫佹棩鏈�
+     */
+    @ApiModelProperty(value = "寮�濮嬪彂閫佹棩鏈�")
+    private Date startSendDateTime;
+
+    /**
+     * 缁撴潫鍙戦�佹棩鏈�
+     */
+    @ApiModelProperty(value = "缁撴潫鍙戦�佹棩鏈�")
+    private Date endSendDateTime;
+
+    /**
      * 缁撴潫鍑洪櫌鏃ユ湡
      */
     @ApiModelProperty(value = "缁撴潫鍑洪櫌鏃ユ湡")
@@ -640,6 +652,6 @@
     /**
      * 鎺掑簭锛堬級
      */
-    @ApiModelProperty(value = "鎺掑簭锛�0 鍑洪櫌鏃堕棿    1 鍙戦�佹椂闂�")
+    @ApiModelProperty(value = "鎺掑簭锛�0 鍑洪櫌鏃堕棿(姝e簭)    1 鍑洪櫌鏃堕棿(鍊掑簭)   2 鍙戦�佹椂闂�(姝e簭)    3 鍙戦�佹椂闂�(鍊掑簭) ")
     private Integer sort;
 }
diff --git a/smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java
index 898d8e9..79d6259 100644
--- a/smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java
@@ -8,10 +8,13 @@
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.DtoConversionUtils;
 import com.smartor.domain.*;
+import com.smartor.mapper.ServiceSubtaskMapper;
 import com.smartor.service.CommonTaskService;
+import com.smartor.service.IServiceSubtaskService;
 import com.smartor.service.IServiceTaskService;
 import com.smartor.service.ISvyTaskService;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -34,6 +37,9 @@
 public class CommonTaskServiceImpl implements CommonTaskService {
     @Autowired
     private IServiceTaskService ivrTaskService;
+
+    @Autowired
+    private ServiceSubtaskMapper serviceSubtaskMapper;
 
     @Autowired
     private IServiceTaskService iServiceTaskService;
@@ -67,9 +73,34 @@
             //浠诲姟鏆傚仠鎴栫粓姝�
             ServiceTask serviceTask = new ServiceTask();
             serviceTask.setTaskid(sendTaskVO.getTaskId());
-            serviceTask.setStopState(ivrTask.getStopState() + 1);
+//            serviceTask.setStopState(ivrTask.getStopState() + 1);
             serviceTask.setSendState(sendTaskVO.getSendState());
             int i = ivrTaskService.updateServiceTask(serviceTask);
+            //鑾峰彇鍒拌浠诲姟鎵�鏈夌殑鏈嶅姟锛屽苟浠庨槦鍒楅噷鍒犻櫎
+            ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+            serviceSubtaskVO.setTaskid(serviceTask.getTaskid());
+            serviceSubtaskVO.setSendstate(2L);
+            List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+            serviceSubtaskVO.setSendstate(1L);
+            List<ServiceSubtask> serviceSubtaskList1 = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+            if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+                if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList.addAll(serviceSubtaskList1);
+            } else {
+                if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList = serviceSubtaskList1;
+            }
+            if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+                for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+                    log.error("sfSend闇�瑕佺Щ闄ょ殑subId涓猴細{}", serviceSubtask.getId().toString());
+                    serviceSubtaskMapper.deleteServiceSubtaskById(serviceSubtask.getId());
+                    redisCache.removeElementFromList("cache-exist", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-0", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-1", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-2", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-3", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-4", serviceSubtask.getId().toString());
+                }
+            }
+
             return i;
         }
 
@@ -142,9 +173,33 @@
             //浠诲姟鏆傚仠鎴栫粓姝�
             ServiceTask serviceTask = new ServiceTask();
             serviceTask.setTaskid(sendTaskVO.getTaskId());
-            serviceTask.setStopState(serviceTask1.getStopState() + 1);
+//            serviceTask.setStopState(serviceTask1.getStopState() + 1);
             serviceTask.setSendState(sendTaskVO.getSendState());
             int i = iServiceTaskService.updateServiceTask(serviceTask);
+            //鑾峰彇鍒拌浠诲姟鎵�鏈夌殑鏈嶅姟锛屽苟浠庨槦鍒楅噷鍒犻櫎
+            ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+            serviceSubtaskVO.setTaskid(serviceTask1.getTaskid());
+            serviceSubtaskVO.setSendstate(2L);
+            List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+            serviceSubtaskVO.setSendstate(1L);
+            List<ServiceSubtask> serviceSubtaskList1 = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+            if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+                if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList.addAll(serviceSubtaskList1);
+            } else {
+                if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList = serviceSubtaskList1;
+            }
+            if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+                for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+                    log.error("wjSend闇�瑕佺Щ闄ょ殑subId涓猴細{}", serviceSubtask.getId().toString());
+                    serviceSubtaskMapper.deleteServiceSubtaskById(serviceSubtask.getId());
+                    redisCache.removeElementFromList("cache-exist", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-0", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-1", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-2", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-3", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-4", serviceSubtask.getId().toString());
+                }
+            }
             return i;
         }
 
@@ -219,9 +274,34 @@
             //浠诲姟鏆傚仠鎴栫粓姝�
             ServiceTask serviceTask = new ServiceTask();
             serviceTask.setTaskid(sendTaskVO.getTaskId());
-            serviceTask.setStopState(serviceTask1.getStopState() + 1);
+//            serviceTask.setStopState(serviceTask1.getStopState() + 1);
             serviceTask.setSendState(sendTaskVO.getSendState());
             iServiceTaskService.updateServiceTask(serviceTask);
+            //鑾峰彇鍒拌浠诲姟鎵�鏈夌殑鏈嶅姟锛屽苟浠庨槦鍒楅噷鍒犻櫎
+            ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+            serviceSubtaskVO.setTaskid(serviceTask1.getTaskid());
+            serviceSubtaskVO.setSendstate(2L);
+            List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+            serviceSubtaskVO.setSendstate(1L);
+            List<ServiceSubtask> serviceSubtaskList1 = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+            if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+                if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList.addAll(serviceSubtaskList1);
+            } else {
+                if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList = serviceSubtaskList1;
+            }
+            if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+                for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+                    log.error("xjSend闇�瑕佺Щ闄ょ殑subId涓猴細{}", serviceSubtask.getId().toString());
+                    serviceSubtaskMapper.deleteServiceSubtaskById(serviceSubtask.getId());
+                    redisCache.removeElementFromList("cache-exist", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-0", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-1", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-2", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-3", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-4", serviceSubtask.getId().toString());
+                }
+            }
+
             return 0;
         }
 
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
index 09307bc..04de82d 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
@@ -149,6 +149,33 @@
             //淇敼
             patArchiveVO.setIsoperation(2);
             patArchiveMapper.updatePatArchive(patArchive);
+            if (StringUtils.isNotEmpty(patArchive.getNotrequiredFlag()) && patArchive.getNotrequiredFlag().equals("1")) {
+                //涓嶉渶瑕佹湇鍔′簡锛岄渶瑕侀�氳繃patid鍜宻endstate=2鎴栬�卻endstate=1鍘绘煡璇竴涓嬶紝service_subtask閲屾槸鍚︽湁姝e湪鎵ц鐨勪换鍔★紝鏈夌殑璇濓紝绔嬪嵆鍋滀簡
+                ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+                serviceSubtaskVO.setPatid(patArchive.getId());
+                serviceSubtaskVO.setSendstate(2L);
+                List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+                serviceSubtaskVO.setSendstate(1L);
+                List<ServiceSubtask> serviceSubtaskList1 = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+                if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+                    if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList.addAll(serviceSubtaskList1);
+                } else {
+                    if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList = serviceSubtaskList1;
+                }
+                //鍘籸edis涓紝鏌ヨ鏄惁鏈塻ubid锛屾湁鐨勮瘽绉婚櫎cache-exist
+                if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+                    for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+                        log.error("闇�瑕佺Щ闄ょ殑subId涓猴細{}", serviceSubtask.getId().toString());
+                        serviceSubtaskMapper.deleteServiceSubtaskById(serviceSubtask.getId());
+                        redisCache.removeElementFromList("cache-exist", serviceSubtask.getId().toString());
+                        redisCache.removeElementFromList("cache-0", serviceSubtask.getId().toString());
+                        redisCache.removeElementFromList("cache-1", serviceSubtask.getId().toString());
+                        redisCache.removeElementFromList("cache-2", serviceSubtask.getId().toString());
+                        redisCache.removeElementFromList("cache-3", serviceSubtask.getId().toString());
+                        redisCache.removeElementFromList("cache-4", serviceSubtask.getId().toString());
+                    }
+                }
+            }
         }
 
         if (CollectionUtils.isNotEmpty(patArchiveVO.getTagList())) {
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
index 9b68c57..1557d47 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -437,6 +437,7 @@
                 patMedOuthosp.setIcd10code(externalDiagnosisInfo.getZhenDuanID());
                 patMedOuthosp.setDrcode(externalDiagnosisInfo.getZhenDuanYSID());
                 patMedOuthosp.setDrname(externalDiagnosisInfo.getZhenDuanYSXM());
+                patMedOuthosp.setIcd10code(externalDiagnosisInfo.getIcd10());
             }
         }
         for (ExternalWZInfo externalWZInfo : ExternalWZInfoList) {
@@ -465,19 +466,23 @@
         String FaSongJGID = XiaoXiTou.get("FaSongJGID").toString();
         Icd10 icd10 = new Icd10();
         icd10.setIcdcode(externalDiseaseInfo.getIcD10());
+        icd10.setDelFlag("0");
+        icd10.setOrgid(FaSongJGID);
+        //閫氳繃icdCode鏌ヨ涓�涓嬶紝鏄惁瀛樺湪
+        List<Icd10> icd10s = icd10Mapper.selectIcd10List(icd10);
         icd10.setHisIcdid(externalDiseaseInfo.getJiBingID());
         icd10.setIcdname(externalDiseaseInfo.getJiBingMC());
         icd10.setGuid(externalDiseaseInfo.getZuZhiJGID());
         icd10.setLastflag(externalDiseaseInfo.getMOJIBZ());
         icd10.setChimedflag("" + externalDiseaseInfo.getZhongYiZDBZ());
-        icd10.setOrgid(FaSongJGID);
-//        icd10Association.setIcd10AssortName(externalDiseaseInfo.getJiBingFLMC());
-//        icd10Association.setChineseMedicineDiagnoseSign(externalDiseaseInfo.getZhongYiZDBZ());
-//        icd10Association.setChineseMedicineDiagnoseAssortCode(externalDiseaseInfo.getZhongYiZDFLDM());
-//        icd10Association.setChineseMedicineDiagnoseAssortName(externalDiseaseInfo.getZhongYiZDFLMC());
-//        icd10Association.setOutpatientUseAssort(externalDiseaseInfo.getMenZhenSYBZ());
-//        icd10Association.setInpatientUseAssort(externalDiseaseInfo.getZhuYuanSYBZ());
-        icd10Mapper.insertIcd10(icd10);
+        if (CollectionUtils.isNotEmpty(icd10s)) {
+            icd10.setUpdateTime(new Date());
+            icd10.setIcdid(icd10s.get(0).getIcdid());
+            icd10Mapper.updateIcd10(icd10);
+        } else {
+            icd10.setCreateTime(new Date());
+            icd10Mapper.insertIcd10(icd10);
+        }
         return true;
     }
 
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 28d8cde..11399ff 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -259,8 +259,12 @@
         //鏍规嵁鍑洪櫌 鏃堕棿鍊掑簭
         List<ServiceSubtask> sortedServiceSubtaskList = null;
         if (serviceSubtaskVO.getSort() == null || serviceSubtaskVO.getSort() == 0)
-            sortedServiceSubtaskList = selectServiceSubtaskList.stream().sorted(Comparator.comparing(ServiceSubtask::getEndtime, Comparator.nullsLast(Comparator.naturalOrder())).reversed()).collect(Collectors.toList());
+            sortedServiceSubtaskList = selectServiceSubtaskList.stream().sorted(Comparator.comparing(ServiceSubtask::getEndtime, Comparator.nullsLast(Comparator.naturalOrder()))).collect(Collectors.toList());
         if (serviceSubtaskVO.getSort() != null && serviceSubtaskVO.getSort() == 1)
+            sortedServiceSubtaskList = selectServiceSubtaskList.stream().sorted(Comparator.comparing(ServiceSubtask::getEndtime, Comparator.nullsLast(Comparator.naturalOrder())).reversed()).collect(Collectors.toList());
+        if (serviceSubtaskVO.getSort() != null && serviceSubtaskVO.getSort() == 2)
+            sortedServiceSubtaskList = selectServiceSubtaskList.stream().sorted(Comparator.comparing(ServiceSubtask::getLongSendTime, Comparator.nullsLast(Comparator.naturalOrder()))).collect(Collectors.toList());
+        if (serviceSubtaskVO.getSort() != null && serviceSubtaskVO.getSort() == 3)
             sortedServiceSubtaskList = selectServiceSubtaskList.stream().sorted(Comparator.comparing(ServiceSubtask::getLongSendTime, Comparator.nullsLast(Comparator.naturalOrder())).reversed()).collect(Collectors.toList());
 
         return sortedServiceSubtaskList;
@@ -513,8 +517,33 @@
                 serviceTask.setSendTimeSlot(JSON.toJSONString(serviceTaskVO.getSendTimeslot()));
             //淇敼鎿嶄綔锛岄渶瑕佸皢stopState鐘舵��+1
             ServiceTask serviceTask1 = serviceTaskService.selectServiceTaskByTaskid(serviceTask.getTaskid());
-            long l = serviceTask1.getStopState() + 1;
-            serviceTask.setStopState(l);
+//            long l = serviceTask1.getStopState() + 1;
+//            serviceTask.setStopState(l);
+            //鑾峰彇鍒拌浠诲姟鎵�鏈夌殑鏈嶅姟锛屽苟浠庨槦鍒楅噷鍒犻櫎
+            ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+            serviceSubtaskVO.setTaskid(serviceTask1.getTaskid());
+            serviceSubtaskVO.setSendstate(2L);
+            List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+            serviceSubtaskVO.setSendstate(1L);
+            List<ServiceSubtask> serviceSubtaskList1 = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+            if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+                if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList.addAll(serviceSubtaskList1);
+            } else {
+                if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList = serviceSubtaskList1;
+            }
+            if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+                for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+                    log.error("insertOrUpdateTask闇�瑕佺Щ闄ょ殑subId涓猴細{}", serviceSubtask.getId().toString());
+                    serviceSubtaskMapper.deleteServiceSubtaskById(serviceSubtask.getId());
+                    redisCache.removeElementFromList("cache-exist", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-0", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-1", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-2", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-3", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-4", serviceSubtask.getId().toString());
+                }
+            }
+
             if (serviceTaskVO.getLibtemplateid() != null)
                 serviceTask.setLibtemplateid(serviceTaskVO.getLibtemplateid().toString());
             serviceTask.setTemplateid(serviceTaskVO.getTemplateid());
diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyTaskSingleServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyTaskSingleServiceImpl.java
index 9be55c9..13d562d 100644
--- a/smartor/src/main/java/com/smartor/service/impl/SvyTaskSingleServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyTaskSingleServiceImpl.java
@@ -6,6 +6,7 @@
 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.enums.HospTypeEnum;
 import com.ruoyi.common.enums.ServiceTaskTypeEnum;
 import com.ruoyi.common.enums.TaskTypeEnum;
@@ -52,6 +53,9 @@
     @Autowired
     private BaseOrganizationMapper baseOrganizationMapper;
 
+    @Autowired
+    private RedisCache redisCache;
+
 
     @Override
     public int insertOrUpdateSvyTask(ServiceTaskVO serviceTaskVO) {
@@ -97,10 +101,36 @@
                 serviceTask.setSendTimeSlot(JSON.toJSONString(serviceTaskVO.getSendTimeslot()));
             //淇敼鎿嶄綔锛岄渶瑕佸皢stopState鐘舵��+1
             ServiceTask serviceTask2 = iServiceTaskService.selectServiceTaskByTaskid(serviceTaskVO.getTaskid());
-            serviceTask2.setStopState(serviceTask.getStopState() + 1);
+//            serviceTask2.setStopState(serviceTask.getStopState() + 1);
             serviceTask2.setTemplateid(Long.valueOf(serviceTaskVO.getLibtemplateid()));
             iServiceTaskService.updateServiceTask(serviceTask2);
 
+            //鑾峰彇鍒拌浠诲姟鎵�鏈夌殑鏈嶅姟锛屽苟浠庨槦鍒楅噷鍒犻櫎
+            ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+            serviceSubtaskVO.setTaskid(serviceTask2.getTaskid());
+            serviceSubtaskVO.setSendstate(2L);
+            List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+            serviceSubtaskVO.setSendstate(1L);
+            List<ServiceSubtask> serviceSubtaskList1 = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+            if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+                if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList.addAll(serviceSubtaskList1);
+            } else {
+                if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList = serviceSubtaskList1;
+            }
+            if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+                for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+                    log.error("insertOrUpdateSvyTask闇�瑕佺Щ闄ょ殑subId涓猴細{}", serviceSubtask.getId().toString());
+                    serviceSubtaskMapper.deleteServiceSubtaskById(serviceSubtask.getId());
+                    redisCache.removeElementFromList("cache-exist", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-0", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-1", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-2", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-3", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-4", serviceSubtask.getId().toString());
+                }
+            }
+
+
             if (CollectionUtils.isNotEmpty(serviceTaskVO.getPatTaskRelevances())) {
                 for (PatTaskRelevance patTaskRelevance : serviceTaskVO.getPatTaskRelevances()) {
 
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index b629835..f50a6dd 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -195,6 +195,13 @@
             <if test="endOutHospTime != null">
                 AND date_format(endtime,'%y%m%d') &lt;= date_format(#{endOutHospTime},'%y%m%d')
             </if>
+            <if test="startSendDateTime != null">
+                AND date_format(long_send_time,'%y%m%d') &gt;= date_format(#{startSendDateTime},'%y%m%d')
+            </if>
+            <if test="endSendDateTime != null">
+                AND date_format(long_send_time,'%y%m%d') &lt;= date_format(#{endSendDateTime},'%y%m%d')
+            </if>
+
             <if test="longSendTime != null">
                 AND date_format(long_send_time,'%y%m%d') &lt;= date_format(#{longSendTime},'%y%m%d')
             </if>

--
Gitblit v1.9.3