From a5a95203b21daf91d1c0fe81ad28a0a23ad68cc3 Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期三, 13 十一月 2024 16:40:07 +0800 Subject: [PATCH] 防止 同诊室 同时点 安装-召回 --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java | 33 ++++++++++++++++++++++++++++----- 1 files changed, 28 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..10ca305 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,28 @@ } @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()); - // 瀹夎宸ヤ綅 涓嶈璁� 浼樺厛闃熷垪 + + // 妫�鏌ラ」鐩�.浜插拰鎬� 澶勭悊 + if (null != updateNum && 1 == updateNum) { + updateAffinityItemsWhenInstallRecall(patId, checkType, bedNo_operator); + } + + // 瀹夎宸ヤ綅 涓嶆秹鍙� 浼樺厛闃熷垪 //startHurryUpOneBed(roomId, bedNo); return updateNum; } @@ -634,4 +644,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