From c4611dc646f85572e76c5949d233e0716b92573e Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期三, 04 十一月 2026 16:37:38 +0800
Subject: [PATCH] 【丽水】丽水中医生处理意见落库

---
 smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java |   62 +++++++++++++++++++++++++++++++
 1 files changed, 62 insertions(+), 0 deletions(-)

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 186e31c..d2cd05e 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -49,6 +49,11 @@
 @Slf4j
 @Service
 public class ServiceExternalServiceImpl implements IServiceExternalService {
+    /**
+     * 榫欐硥浜烘皯鍖婚櫌鏈烘瀯ID
+     */
+    private static final String LONGQUAN_PEOPLE_HOSPITAL_ORG_ID = "47240004533118111A1001";
+
     @Autowired
     private SysDept2Mapper sysDeptMapper;
     @Autowired
@@ -1818,11 +1823,68 @@
         } else {
             patMedInhosp.setCreateTime(new Date());
             i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp);
+            if (i == 1) {
+                //榫欐硥浜烘皯鍖婚櫌锛氭柊澧炰綇闄俊鎭椂澶勭悊鎮h�呭啀鍏ラ櫌
+                stopReadmissionFollowUpTasks(patMedInhosp);
+            }
         }
         if (i == 1) return true;
         return false;
     }
 
+    /**
+     * 鎮h�呭啀鍏ラ櫌澶勭悊锛氭偅鑰呭啀娆″叆闄㈠悗锛屼笂涓�娆″嚭闄㈢敓鎴愮殑寰呮墽琛岄暱鏈熼殢璁夸换鍔′笉鍐嶆墽琛屻��
+     * 鐩墠浠呭榫欐硥浜烘皯鍖婚櫌鐢熸晥锛岄伩鍏嶅奖鍝嶅叾浠栨満鏋勩��
+     *
+     * @param patMedInhosp 鏈鏂板鐨勪綇闄俊鎭�
+     */
+    private void stopReadmissionFollowUpTasks(PatMedInhosp patMedInhosp) {
+        if (!LONGQUAN_PEOPLE_HOSPITAL_ORG_ID.equals(patMedInhosp.getOrgid())) {
+            return;
+        }
+        if (Objects.isNull(patMedInhosp.getPatid()) || Objects.isNull(patMedInhosp.getStarttime())) {
+            log.warn("榫欐硥浜烘皯鍖婚櫌鎮h�呭啀鍏ラ櫌澶勭悊璺宠繃锛宲atid鎴栧叆闄㈡椂闂翠负绌猴紝inhospno={}", patMedInhosp.getInhospno());
+            return;
+        }
+        try {
+            ServiceSubtaskEntity subtask = new ServiceSubtaskEntity();
+            subtask.setPatid(patMedInhosp.getPatid());
+            subtask.setOrgid(LONGQUAN_PEOPLE_HOSPITAL_ORG_ID);
+            subtask.setSendstate(2L);
+            List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(subtask);
+            if (CollectionUtils.isEmpty(serviceSubtaskList)) {
+                return;
+            }
+            int stopCount = 0;
+            for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+                //涓嶆槸闀挎湡浠诲姟锛屼笉澶勭悊
+                if (Objects.isNull(serviceSubtask.getLongSendTime())) {
+                    continue;
+                }
+                //鍑洪櫌鏃堕棿鏅氫簬鎴栫瓑浜庢湰娆″叆闄㈡椂闂寸殑浠诲姟锛屼笉灞炰簬鏈鍏ラ櫌鍓嶇殑寰呴殢璁夸换鍔�
+                if (Objects.isNull(serviceSubtask.getEndtime())
+                        || !serviceSubtask.getEndtime().before(patMedInhosp.getStarttime())) {
+                    continue;
+                }
+                serviceSubtask.setSendstate(4L);
+                serviceSubtask.setIsVisitAgain(2);
+                serviceSubtask.setResult("error");
+                serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark())
+                        ? serviceSubtask.getRemark() + ";鎮h�呭啀鍏ラ櫌" : "鎮h�呭啀鍏ラ櫌");
+                serviceSubtask.setUpdateTime(new Date());
+                if (Boolean.TRUE.equals(serviceSubtaskMapper.updateServiceSubtask(serviceSubtask))) {
+                    stopCount++;
+                }
+            }
+            log.info("榫欐硥浜烘皯鍖婚櫌鎮h�呭啀鍏ラ櫌澶勭悊瀹屾垚锛宲atid={}锛屾湰娆″叆闄㈡椂闂�={}锛屽仠姝㈠緟鎵ц闀挎湡浠诲姟{}鏉�",
+                    patMedInhosp.getPatid(), patMedInhosp.getStarttime(), stopCount);
+        } catch (Exception e) {
+            //鍐嶅叆闄换鍔″鐞嗗け璐ヤ笉褰卞搷鏈浣忛櫌淇℃伅鍏ュ簱
+            log.error("榫欐硥浜烘皯鍖婚櫌鎮h�呭啀鍏ラ櫌澶勭悊寮傚父锛宲atid={}锛宨nhospno={}",
+                    patMedInhosp.getPatid(), patMedInhosp.getInhospno(), e);
+        }
+    }
+
     //鏂板闅忚浠诲姟鍚屾
     @Override
     public Boolean addTaskInfo(Map dataMap) {

--
Gitblit v1.9.3