From 0bbbd746e8c39d91ad7b47a4e36e29ab972dc98c Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 20 十月 2026 16:56:54 +0800
Subject: [PATCH] 处理长期任务发送问题

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java |   66 +++++++++++++++++++-------------
 1 files changed, 39 insertions(+), 27 deletions(-)

diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java
index fc3499a..58d4d55 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java
@@ -1,5 +1,7 @@
 package com.ruoyi.quartz.service.impl;
 
+import com.ruoyi.othervisit.api.OtherVisitFacade;
+import com.ruoyi.inhospvisit.api.InhospVisitFacade;
 import com.google.gson.Gson;
 import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.core.domain.entity.SysUser;
@@ -10,7 +12,6 @@
 import com.ruoyi.quartz.mapper.CollectHISMapper;
 import com.ruoyi.quartz.service.ICollectHISService;
 import com.smartor.domain.*;
-import com.smartor.domain.entity.ServiceSubtaskEntity;
 import com.smartor.mapper.*;
 import com.smartor.service.IPatMedOuthospService;
 import lombok.extern.slf4j.Slf4j;
@@ -29,11 +30,26 @@
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
+import com.ruoyi.othervisit.domain.PatMedOperationItem;
+import com.ruoyi.outpatientvisit.mapper.PatMedOuthospMapper;
+import com.ruoyi.othervisit.domain.PatMedOperation;
+import com.ruoyi.outpatientvisit.domain.PatMedOuthosp;
+import com.ruoyi.inhospvisit.domain.PatMedInhosp;
+import com.ruoyi.common.core.domain.entity.PatArchive;
+import com.ruoyi.task.domain.entity.ServiceSubtaskEntity;
+import com.ruoyi.task.domain.ServiceSubtask;
+import com.ruoyi.task.mapper.ServiceSubtaskMapper;
 @Slf4j
 @Service
 public class CollectHISServiceImpl implements ICollectHISService {
     @Autowired
     private CollectHISMapper chMapper;
+
+    /**
+     * 鎵嬫湳鏁版嵁涓�寰嬬粡 ruoyi-othervisit 鐨勯棬闈㈠彇鐢紙璺ㄦā鍧楁暟鎹闂師鍒欙級銆�
+     */
+    @Autowired
+    private OtherVisitFacade otherVisitFacade;
 
     @Autowired
     private SysUser2Mapper sysUser2Mapper;
@@ -57,7 +73,7 @@
     private PatMedOuthospMapper patMedOuthospMapper;
 
     @Autowired
-    private PatMedInhospMapper patMedInhospMapper;
+    private InhospVisitFacade inhospVisitFacade;
 
     @Autowired
     private PatArchiveMapper patArchiveMapper;
@@ -83,11 +99,7 @@
 
     @Value("${spring.profiles.active}")
     private String active;
-    @Autowired
-    private PatMedOperationMapper patMedOperationMapper;
 
-    @Autowired
-    private PatMedOperationItemMapper patMedOperationItemMapper;
 
     @Override
     public List<PatArchive> selectPatArchiveList(PatArchive patArchive) {
@@ -238,7 +250,7 @@
                 //鍚屾鍑哄叆闄�
                 PatMedInhosp pmi = new PatMedInhosp();
                 pmi.setSerialnum(pm.getSerialnum());
-                List<PatMedInhosp> patMedInhospList1 = patMedInhospMapper.selectPatMedInhospListBySerialnum(pmi);
+                List<PatMedInhosp> patMedInhospList1 = inhospVisitFacade.selectPatMedInhospListBySerialnum(pmi);
                 if (patMedInhospList1.size() == 0) {
                     pm.setCreateTime(new Date());
                     //甯備竴 闄㈠尯id瀵瑰簲orgid锛屾満鏋刬d涓洪粯璁ょ殑1
@@ -246,7 +258,7 @@
                         pm.setCampusid(pm.getOrgid());
                         pm.setOrgid("1");
                     }
-                    count += patMedInhospMapper.insertPatMedInhosp(pm);
+                    count += inhospVisitFacade.insertPatMedInhosp(pm);
                 } else {
                     pm.setInhospid(patMedInhospList1.get(0).getInhospid());
                     pm.setUpdateTime(new Date());
@@ -255,7 +267,7 @@
                         pm.setCampusid(pm.getOrgid());
                         pm.setOrgid("1");
                     }
-                    count += patMedInhospMapper.updatePatMedInhosp(pm);
+                    count += inhospVisitFacade.updatePatMedInhosp(pm);
                 }
             } catch (Exception ex) {
                 log.info("鍚屾鍑哄叆闄�:" + ex.getMessage());
@@ -366,15 +378,15 @@
                 }
                 PatMedOperation oper = new PatMedOperation();
                 oper.setOpreqid(operation.getOpreqid());
-                List<PatMedOperation> patMedOperations1 = patMedOperationMapper.selectPatMedOperationList(oper);
+                List<PatMedOperation> patMedOperations1 = otherVisitFacade.selectOperationList(oper);
                 if (CollectionUtils.isNotEmpty(patMedOperations1)) {
                     operation.setId(patMedOperations1.get(0).getId());
                     operation.setUpdateTime(new Date());
-                    count += patMedOperationMapper.updatePatMedOperation(operation);
+                    count += otherVisitFacade.updateOperation(operation);
                     syncOperItem(operation);
                 } else {
                     operation.setCreateTime(new Date());
-                    count += patMedOperationMapper.insertPatMedOperation(operation);
+                    count += otherVisitFacade.insertOperation(operation);
                     syncOperItem(operation);
                 }
             } catch (Exception ex) {
@@ -387,7 +399,7 @@
     private Integer cancelOper(PatMedOperation oper){
         PatMedOperation operationVo = new PatMedOperation();
         operationVo.setOpreqid(oper.getOpreqid());
-        List<PatMedOperation> operations = patMedOperationMapper.selectPatMedOperationList(operationVo);
+        List<PatMedOperation> operations = otherVisitFacade.selectOperationList(operationVo);
         PatMedOperation operation = new PatMedOperation();
         if(CollectionUtils.isEmpty(operations)){
             return 0;
@@ -399,7 +411,7 @@
         //鑾峰彇闇�瑕佸嚭闄㈡墜鏈殢璁匡紝鏈鐞嗙殑鏁版嵁
         pmoi.setOpid(operation.getId().toString());
         List<PatMedOperationItem> patMedOperationItems
-                = patMedOperationItemMapper.selectOperationItemList(pmoi);
+                = otherVisitFacade.selectOperationItemListByCondition(pmoi);
         List<Long> operationItemIds = patMedOperationItems.stream()
                 .map(PatMedOperationItem::getId)
                 .filter(Objects::nonNull)
@@ -432,8 +444,8 @@
             }
         }
         operation.setUpdateTime(new Date());
-        patMedOperationMapper.updatePatMedOperation(operation);
-        patMedOperationItemMapper.deleteSoftPatMedOperationItemByOpId(operation.getOpid());
+        otherVisitFacade.updateOperation(operation);
+        otherVisitFacade.deleteSoftOperationItemByOpId(operation.getOpid());
         return 1;
     }
 
@@ -448,7 +460,7 @@
             operation.setOpid(operation.getId().toString());
         }
         operation.setUpdateTime(new Date());
-        patMedOperationMapper.updatePatMedOperation(operation);
+        otherVisitFacade.updateOperation(operation);
 
         Integer count = 0;
         if(StringUtils.isNotEmpty(operation.getOpid())){
@@ -465,7 +477,7 @@
 
             PatMedOperationItem operItem = new PatMedOperationItem();
             operItem.setOperationid(operation.getOpreqid());
-            List<PatMedOperationItem> patMedOperationItems1 = patMedOperationItemMapper.selectPatMedOperationItemList(operItem);
+            List<PatMedOperationItem> patMedOperationItems1 = otherVisitFacade.selectOperationItemList(operItem);
 
             Map<String, List<PatMedOperationItem>> maps = ArrayListUtils.splitListsById(patMedOperationItems,
                     patMedOperationItems1, PatMedOperationItem::getOperationid);
@@ -486,12 +498,12 @@
                     operationItem.setOperationid(operation.getOpreqid());
                     operationItem.setOpercheckFlag("0");
                     operationItem.setCreateTime(new Date());
-                    count += patMedOperationItemMapper.insertPatMedOperationItem(operationItem);
+                    count += otherVisitFacade.insertOperationItem(operationItem);
                 }
 
                 for (PatMedOperationItem operationItem : delItems) {
                     operationItem.setUpdateTime(new Date());
-                    count += patMedOperationItemMapper.deletePatMedOperationItemByOperationid(operationItem.getOperationid());
+                    count += otherVisitFacade.deleteOperationItemByOperationid(operationItem.getOperationid());
                 }
 
                 for (PatMedOperationItem operationItem : editItems) {
@@ -500,7 +512,7 @@
                     operationItem.setOpid(operation.getId().toString());
                     operationItem.setOperationid(operation.getOpreqid());
                     operationItem.setUpdateTime(new Date());
-                    count += patMedOperationItemMapper.updatePatMedOperationItemByOperationid(operationItem);
+                    count += otherVisitFacade.updateOperationItemByOperationid(operationItem);
                 }
                 log.info("鍚屾鎵嬫湳id={}璇︽儏淇℃伅鏁伴噺, 鏂板{}鏉★紝鍒犻櫎{}鏉★紝淇敼{}鏉�", operation.getId(), addItems.size(), delItems.size(), editItems.size());
             } catch (Exception ex) {
@@ -508,8 +520,8 @@
             }
 
 //            try {
-//                patMedOperationItemMapper.deleteHardPatMedOperationItemByOpId(operation.getOpid());
-//                count += patMedOperationItemMapper.insertPatMedOperationItems(patMedOperationItems);
+//                otherVisitFacade.deleteHardOperationItemByOpId(operation.getOpid());
+//                count += otherVisitFacade.insertOperationItems(patMedOperationItems);
 //            }catch (Exception ex) {
 //                log.info("鍚屾鎵嬫湳璇︽儏淇℃伅:" + ex.getMessage());
 //            }
@@ -593,20 +605,20 @@
                 //鍏ラ櫌
                 pm.setInhospstate("0");
                 pm.setCreateTime(new Date());
-                patMedInhospMapper.insertPatMedInhosp(pm);
+                inhospVisitFacade.insertPatMedInhosp(pm);
             } else if (!Objects.isNull(patMedInhosp.getStartOutHospTime()) && !Objects.isNull(patMedInhosp.getEndOutHospTime())) {
                 //鍑洪櫌
                 pm.setInhospstate("1");
                 pm.setUpdateTime(new Date());
                 PatMedInhosp pmi = new PatMedInhosp();
                 pmi.setSerialnum(pm.getSerialnum());
-                List<PatMedInhosp> patMedInhospList1 = patMedInhospMapper.selectPatMedInhospList(pmi);
+                List<PatMedInhosp> patMedInhospList1 = inhospVisitFacade.selectPatMedInhospList(pmi);
                 if (CollectionUtils.isEmpty(patMedInhospList1)) {
                     pm.setCreateTime(new Date());
-                    patMedInhospMapper.insertPatMedInhosp(pm);
+                    inhospVisitFacade.insertPatMedInhosp(pm);
                 } else {
                     pm.setInhospid(patMedInhospList1.get(0).getInhospid());
-                    patMedInhospMapper.updatePatMedInhosp(pm);
+                    inhospVisitFacade.updatePatMedInhosp(pm);
                 }
 
             }

--
Gitblit v1.9.3