From 7518413aeb91ea9b9dd80c7a5d51057ff616a8f1 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 13 五月 2026 14:53:13 +0800
Subject: [PATCH] 补偿问题处理提交

---
 smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java |   29 ++++++++++++++++++++++-------
 1 files changed, 22 insertions(+), 7 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 93186db..430ba6b 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -485,11 +485,26 @@
                         pmiJB.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + errorIcd : errorIcd);
                         patMedInhospMapper.updatePatMedInhosp(pmiJB);
                     } else {
+                        int flag = 0;
                         for (ServiceTaskdiag serviceTaskdept1 : serviceTaskdiags) {
-                            writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiJB, patArchive, 3, config);
+                            //蹇呴』绉戝鎴栫梾鍖鸿兘鍖归厤涓�,鎵嶅彲浠ョ敤杩欎釜鐤剧梾鍒涘缓瀛愪换鍔★紙涓昏澶勭悊涓�涓柧鐥呭湪澶氫釜鐥呭尯鎴栫瀹ゅ嚭鐜帮級
+                            if (StringUtils.isNotEmpty(serviceTaskdept1.getDeptCode()) && serviceTaskdept1.getDeptCode().equals(pmiJB.getLeaveldeptcode())) {
+                                writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiJB, patArchive, 3, config);
+                                flag = 1;
+                            } else if (StringUtils.isNotEmpty(serviceTaskdept1.getWardCode()) && serviceTaskdept1.getWardCode().equals(pmiJB.getLeavehospitaldistrictcode())) {
+                                writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiJB, patArchive, 3, config);
+                                flag = 1;
+                            }
                         }
-//                        pmiJB.setDiagcheckFlag("1");
-//                        patMedInhospMapper.updatePatMedInhosp(pmiJB);
+                        if (flag == 0) {
+                            log.error("璇ョ瀹ゆ垨鐥呭尯瀵逛簬鎮h�呮墍鎮g柧鐥呮湭閰嶇疆闀挎湡浠诲姟,鎮h�咃細{}", pmiJB.getInhospid());
+                            errorIcd = "璇ョ瀹ゆ垨鐥呭尯瀵逛簬鎮h�呮墍鎮g柧鐥呮湭閰嶇疆闀挎湡浠诲姟;";
+                            PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiJB.getInhospid());
+                            pmiJB.setDiagcheckFlag("2");
+                            pmiJB.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + errorIcd : errorIcd);
+                            patMedInhospMapper.updatePatMedInhosp(pmiJB);
+                        }
+
                     }
 
                 } catch (Exception e) {
@@ -916,7 +931,7 @@
             } else if (patMedInhosp1.getInhospstate().equals("0")) {
                 serviceSubtask.setVisitDeptCode(patMedInhosp1.getDeptcode());
                 serviceSubtask.setVisitDeptName(patMedInhosp1.getDeptname());
-                if(type==5){
+                if (type == 5) {
                     serviceSubtask.setVisitDeptCode(patMedInhosp1.getHospitaldistrictcode());
                     serviceSubtask.setVisitDeptName(patMedInhosp1.getHospitaldistrictname());
                 }
@@ -1087,10 +1102,10 @@
 
     /**
      *
-     * @param taskid 浠诲姟id
-     * @param check 鏄惁闇�瑕佹牎楠�
+     * @param taskid              浠诲姟id
+     * @param check               鏄惁闇�瑕佹牎楠�
      * @param patMedOperationItem 鎵嬫湳璁板綍
-     * @param config 閰嶇疆淇℃伅 visit.early.day
+     * @param config              閰嶇疆淇℃伅 visit.early.day
      */
     //灏嗘偅鑰呮斁鍒皊ubtask涓� 鎵嬫湳涓撶敤
     private void writeInSubTaskForOp(Long taskid, Boolean check, PatMedOperationItem patMedOperationItem, String config) {

--
Gitblit v1.9.3