From ae086bc3ad6f785e6368b84e57a7e199c675779b Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 02 四月 2025 11:42:28 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java |   56 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 51 insertions(+), 5 deletions(-)

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..27b10b8 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
@@ -7,10 +7,7 @@
 import com.ruoyi.common.utils.DtoConversionUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.smartor.domain.*;
-import com.smartor.mapper.BaseTagMapper;
-import com.smartor.mapper.PatArchiveMapper;
-import com.smartor.mapper.PatArchivetagMapper;
-import com.smartor.mapper.ServiceSubtaskMapper;
+import com.smartor.mapper.*;
 import com.smartor.service.IPatArchiveService;
 import com.smartor.service.IPatMedInhospService;
 import com.smartor.service.IPatMedOuthospService;
@@ -62,7 +59,7 @@
     private IPatMedInhospService patMedInhospService;
 
     @Autowired
-    private IPatMedOuthospService patMedOuthospService;
+    private PatArchivecontactMapper patArchivecontactMapper;
 
     @Autowired
     private IPatMedPhysicalService patMedPhysicalService;
@@ -149,6 +146,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())) {
@@ -157,6 +181,22 @@
                 patArchivetag.setGuid(patArchiveVO.getGuid());
                 patArchivetag.setOrgid(patArchiveVO.getOrgid());
                 if (patArchivetag.getIsoperation() != null && patArchivetag.getIsoperation() == 1 || patArchivetag.getIsoperation() == null && patArchiveVO.getIsoperation() == 1) {
+                    //鍒ゆ柇涓�涓媌ase_tag閲屾槸涓嶆槸瀛樺湪锛屽鏋滀笉瀛樺湪锛屽厛鏂板
+                    BaseTag baseTag = new BaseTag();
+                    baseTag.setTagname(patArchivetag.getTagname().trim());
+                    List<BaseTag> baseTags = baseTagMapper.selectBaseTagListByTagname(baseTag);
+                    if (CollectionUtils.isEmpty(baseTags)) {
+                        //鍏堢粰鏀惧埌鏈垎绫讳腑
+                        baseTag.setTagcategoryid(6L);
+                        baseTag.setOrgid(patArchiveVO.getOrgid());
+                        baseTag.setDelFlag("0");
+                        baseTag.setUpdateTime(new Date());
+                        baseTag.setCreateTime(new Date());
+                        baseTagMapper.insertBaseTag(baseTag);
+                        patArchivetag.setTagid(baseTag.getTagid());
+                    } else {
+                        patArchivetag.setTagid(baseTags.get(0).getTagid());
+                    }
                     //鏂板
                     patArchivetag.setUpdateBy(null);
                     patArchivetag.setCreateTime(new Date());
@@ -562,6 +602,12 @@
             patArchive1.setTagList(stringList.stream().collect(Collectors.toList()));
             patArchives.add(patArchive1);
         }
+        //缁欐偅鑰呰仈绯讳汉璧嬪��
+        for (PatArchive pa : patArchives) {
+            PatArchivecontact patArchivecontact = new PatArchivecontact();
+            patArchivecontact.setPatid(pa.getId());
+            pa.setPatArchivecontactList(patArchivecontactMapper.selectPatArchivecontactList(patArchivecontact));
+        }
 
         return patArchives;
     }

--
Gitblit v1.9.3