From 794e286525df2dcf700fe9a2d74530282a7225a4 Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期三, 13 十一月 2024 12:05:08 +0800 Subject: [PATCH] 患者列表-亲和项移到主项后面 --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java | 35 ++++++++++++++++++++++++++++++++--- 1 files changed, 32 insertions(+), 3 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 6b9a90b..9eba672 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 @@ -569,15 +569,24 @@ queueStatusList.add(QueueStatusEnum.AFFINITY_WAITING.getStatus()); List<QueueDO> queueDOList = getBedQueueByStatus(roomId, bedNo, queueStatusList); - //鎶奫杩囧彿鐨刔鎸埌鍚庨潰 + //鎶� [浜插拰鐨刔 鎸埌涓婚」鍚庨潰 + List<QueueDO> affinityWaitingList = new ArrayList<>(); ListIterator<QueueDO> iterator = queueDOList.listIterator(); while (iterator.hasNext()) { QueueDO item = iterator.next(); - if (item.getStatus() == QueueStatusEnum.PASSED.getStatus()) { + if (item.getStatus() == QueueStatusEnum.AFFINITY_WAITING.getStatus()) { iterator.remove(); - queueDOList.add(item); + affinityWaitingList.add(item); } } + affinityWaitingList.forEach( affinityWaitingItem -> { + for (int i = queueDOList.size()-1; i >= 0; i--) { + if ( affinityWaitingItem.getSeqNum() == queueDOList.get(i).getSeqNum() ) { + queueDOList.add(i + 1, affinityWaitingItem); + break; + } + } + }); return queueDOList; } @@ -594,6 +603,26 @@ queueStatusList.add(QueueStatusEnum.INSTALLING.getStatus()); queueStatusList.add(QueueStatusEnum.RECALLED_INSTALL.getStatus()); queueDOList.addAll(0, getBedQueueByStatus(roomId, bedNo, queueStatusList) ); + + //鎶� [浜插拰鐨刔 鎸埌涓婚」鍚庨潰 + List<QueueDO> affinityReceivedList = new ArrayList<>(); + ListIterator<QueueDO> iterator = queueDOList.listIterator(); + while (iterator.hasNext()) { + QueueDO item = iterator.next(); + if (item.getStatus() == QueueStatusEnum.AFFINITY_RECEIVED.getStatus()) { + iterator.remove(); + affinityReceivedList.add(item); + } + } + affinityReceivedList.forEach( affinityReceivedItem -> { + for (int i = queueDOList.size()-1; i >= 0; i--) { + if ( affinityReceivedItem.getSeqNum() == queueDOList.get(i).getSeqNum() ) { + queueDOList.add(i + 1, affinityReceivedItem); + break; + } + } + }); + return queueDOList; } -- Gitblit v1.9.3