From cac7f142c909d712d6d49c45b0d4efbdef673e48 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期三, 13 十一月 2024 16:25:16 +0800
Subject: [PATCH] 过号 - 检查项目.亲和性

---
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java |   31 ++++++++++++++++++++++++++-----
 1 files changed, 26 insertions(+), 5 deletions(-)

diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java
index 9eba672..611be23 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java
@@ -523,18 +523,26 @@
     }
 
     @Override
-    public Integer recallPatient(Long roomId, String bedNo, String patId) {
-        Integer updateNum = queueMapper.recallPassedPatient(roomId, bedNo, patId,
+    public Integer recallPatient(Long roomId, String bedNo, String patId, Integer checkType) {
+        Integer updateNum = queueMapper.recallPassedPatient(roomId, bedNo, patId, checkType,
                 QueueStatusEnum.PASSED.getStatus(), QueueStatusEnum.RECALLED.getStatus());
+
+        // 妫�鏌ラ」鐩�.浜插拰鎬� 涓嶉渶瑕佸湪杩欓噷澶勭悊
+        // 浼氬湪 HurryUpOnBed 閲岄潰澶勭悊 妫�鏌ラ」鐩�.浜插拰鎬�
+
         startHurryUpOneBed(roomId, bedNo);
         return updateNum;
     }
 
     @Override
-    public Integer recallInstallPatient(Long roomId, String bedNo, String patId) {
-        Integer updateNum = queueMapper.recallPassedInstallPatient(roomId, bedNo, patId,
+    public Integer recallInstallPatient(Long roomId, String bedNo, String patId, Integer checkType, String bedNo_operator) {
+        Integer updateNum = queueMapper.recallPassedInstallPatient(roomId, bedNo_operator, patId, checkType,
                 QueueStatusEnum.PASSED_INSTALL.getStatus(), QueueStatusEnum.RECALLED_INSTALL.getStatus());
-        // 瀹夎宸ヤ綅 涓嶈璁� 浼樺厛闃熷垪
+
+        // 妫�鏌ラ」鐩�.浜插拰鎬� 澶勭悊
+        updateAffinityItemsWhenInstallRecall(patId, checkType, bedNo_operator);
+
+        // 瀹夎宸ヤ綅 涓嶆秹鍙� 浼樺厛闃熷垪
         //startHurryUpOneBed(roomId, bedNo);
         return updateNum;
     }
@@ -634,4 +642,17 @@
         return roomDO;
     }
 
+    private void updateAffinityItemsWhenInstallRecall(String patId, Integer checkType, String bedNo_operator) {
+        CheckTypeDO checkTypeDO = queueServiceTxFunctions.getCheckTypeItem( checkType );
+        if ( checkTypeDO.getAffinityCheckTypes().length > 0) {
+            List<QueueDO> affinityItems = queueMapper.getCurPatGivenCheckTypesAndStatus(patId,
+                    checkTypeDO.getAffinityCheckTypes(), QueueStatusEnum.AFFINITY_RECEIVED.getStatus());
+            for (int i = 0; i < affinityItems.size(); i++) {
+                QueueDO queueItem = affinityItems.get(i);
+                queueItem.setBedNo( bedNo_operator );
+                //queueItem.setSeqNum( preemptQueueItem.getSeqNum() );  // 瑁呮満鏃� 鍐呴儴搴忓彿涓嶅彉
+                queueMapper.updateById(queueItem);
+            }
+        }
+    }
 }

--
Gitblit v1.9.3