From d1995068ddc93414e01a02bd0a21626a4a6ad9a4 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 27 十月 2026 18:20:34 +0800
Subject: [PATCH] 【丽水】1、新增接口 \smartor\doc\api\dealIcd10Subtask 2、/smartor/serviceSubtask/addSubTaskAgain 随访方式控制                                               随访是走中心科室还是本科室 3、/smartor/serviceSubtask/addSubTaskAgain 未配置nexttaskid的默认取自己的taskid

---
 smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java |   35 ++++++++++++++++++++++++++++++++---
 1 files changed, 32 insertions(+), 3 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
index 5d469aa..9160c37 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -520,7 +520,9 @@
                                 pmoi.setDeptCodes(deptCodeList);
                                 pmoi.setWardCodes(wardCodeList);
                                 pmoi.setOpLevelCodes(opLevelCodeList);
-                                List<PatMedOperationItem> patMedOperationItems = patMedOperationItemMapper.selectOperationItemList(pmoi);
+
+                                //姣忔鏌ヨ鍙煡鏈�澶х殑鎵嬫湳绛夌骇璁板綍
+                                List<PatMedOperationItem> patMedOperationItems = patMedOperationItemMapper.selectOperationItemListMaxLevel(pmoi);
                                 for (PatMedOperationItem patMedOperationItem : patMedOperationItems) {
                                     PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOperationItem.getPatid());
                                     if (Objects.isNull(patArchive)) {
@@ -1010,7 +1012,8 @@
         }
     }
 
-    private Integer addServiceSubtaskPreachform(ServiceSubtask serviceSubtask, String sendstate) {
+    @Override
+    public Integer addServiceSubtaskPreachform(ServiceSubtask serviceSubtask, String sendstate) {
         //灏唒reachformDesc鐨刯son瀵硅薄锛屾斁鍒發ist闆嗗悎涓�
         ServiceTask serviceTask = serviceTaskMapper.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
         if (Objects.isNull(serviceTask)) {
@@ -1321,7 +1324,8 @@
         pmoi.setOpercheckFlag("0");
         pmoi.setMainFlag("1");
 
-        List<PatMedOperationItem> patMedOperationItems = patMedOperationItemMapper.selectOperationItemList(pmoi);
+        //姣忔鏌ヨ鍙煡鏈�澶х殑鎵嬫湳绛夌骇璁板綍
+        List<PatMedOperationItem> patMedOperationItems = patMedOperationItemMapper.selectOperationItemListMaxLevel(pmoi);
         log.info("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌鎵嬫湳鎮h�呬俊鎭細{}", CollectionUtils.isNotEmpty(patMedOperationItems) ? patMedOperationItems.size() : null);
 
         for (PatMedOperationItem opItem : patMedOperationItems) {
@@ -1951,5 +1955,30 @@
         return generatedCount;
     }
 
+    @Override
+    public void dealIcd10Subtask(PatMedInhosp pmks, String config) {
+        pmks.setDiagcheckFlag("0");
+        pmks.setInhospstate("1");
+        pmks.setFuflag("1");
+        List<PatMedInhosp> patMedInhosps = patMedInhospMapper.selectPatMedInhospList(pmks);
+        log.info("dealIcd10Subtask 寰呭鐞嗗嚭闄㈢柧鐥呮偅鑰呮暟锛歿}", CollectionUtils.isEmpty(patMedInhosps) ? 0 : patMedInhosps.size());
+        if (CollectionUtils.isNotEmpty(patMedInhosps)) {
+            int matchedTaskCount = 0;
+            for (PatMedInhosp patMedInhosp : patMedInhosps) {
+                // 鑾峰彇鎮h�呭熀鏈俊鎭紝妗f涓嶅瓨鍦ㄦ椂鐩存帴鏍囪澶辫触锛岄伩鍏嶅悗缁┖鎸囬拡
+                PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp.getPatid());
+                if (Objects.isNull(patArchive)) {
+                    PatMedInhosp updateObj = new PatMedInhosp();
+                    updateObj.setInhospid(patMedInhosp.getInhospid());
+                    updateObj.setDiagcheckFlag("2");
+                    updateObj.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
+                    patMedInhospMapper.updatePatMedInhosp(updateObj);
+                    continue;
+                }
+                matchedTaskCount += addIcd10SubTaskForPatient(patMedInhosp, patArchive, config);
+            }
+            log.info("dealIcd10Subtask 澶勭悊瀹屾垚锛屽緟澶勭悊锛歿}锛屽尮閰嶇柧鐥呴暱鏈熶换鍔℃鏁帮細{}", patMedInhosps.size(), matchedTaskCount);
+        }
+    }
 
 }

--
Gitblit v1.9.3