From a0e8a9e3eb543cf60ae971a9425ea3ce65ccd7d5 Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期三, 09 四月 2025 09:51:55 +0800 Subject: [PATCH] just refactor --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/callingscreen/CallingScreenServiceImpl.java | 52 +++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 39 insertions(+), 13 deletions(-) diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/callingscreen/CallingScreenServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/callingscreen/CallingScreenServiceImpl.java index e152f46..0a96990 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/callingscreen/CallingScreenServiceImpl.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/callingscreen/CallingScreenServiceImpl.java @@ -100,18 +100,41 @@ columnQueueData.add( queueDO ); }); + mapDisplayColQueue.values().forEach( _queueDOList -> { + //鎶� [浜插拰鐨刔 鎸埌涓婚」鍚庨潰 + List<QueueDO> affinityWaitingList = new ArrayList<>(); + ListIterator<QueueDO> iterator = _queueDOList.listIterator(); + while (iterator.hasNext()) { + QueueDO item = iterator.next(); + if (item.getStatus() == QueueStatusEnum.AFFINITY.getStatus()) { + iterator.remove(); + 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 mapDisplayColQueue; } @Override - public List<QueueDO> getRoomCheckRelatedPatient(String ip) { - List<RoomDO> roomDOList = roomMapper.queueByIp(ip); - Optional<RoomDO> optionalQueueDO = roomDOList.stream().filter(item -> StringUtils.hasLength(item.getIp())).findFirst(); - if (!optionalQueueDO.isPresent()) { - return new ArrayList<QueueDO>(); + public List<QueueDO> getRoomCheckRelatedPatient(String ip, Long roomId) { + if (null == roomId) { + List<RoomDO> roomDOList = roomMapper.queueByIp(ip); + Optional<RoomDO> optionalQueueDO = roomDOList.stream().filter(item -> StringUtils.hasLength(item.getIp())).findFirst(); + if (!optionalQueueDO.isPresent()) { + return new ArrayList<QueueDO>(); + } + roomId = optionalQueueDO.get().getRoomId(); } - Long roomId = optionalQueueDO.get().getRoomId(); List<Integer> queueStatusList = new ArrayList<>(); queueStatusList.add(QueueStatusEnum.RECALLED.getStatus()); queueStatusList.add(QueueStatusEnum.READY.getStatus()); @@ -143,14 +166,17 @@ } @Override - public List<QueueDO> getRoomInstallRelatedPatient(String ip) { - List<RoomDO> roomDOList = roomMapper.queueByIp(ip); - Optional<RoomDO> optionalQueueDO = roomDOList.stream().filter(item -> StringUtils.hasLength(item.getIp())).findFirst(); - if (!optionalQueueDO.isPresent()) { - return new ArrayList<QueueDO>(); - } + public List<QueueDO> getRoomInstallRelatedPatient(String ip, Long roomId) { + if (null == roomId) { + List<RoomDO> roomDOList = roomMapper.queueByIp(ip); + Optional<RoomDO> optionalQueueDO = roomDOList.stream().filter(item -> StringUtils.hasLength(item.getIp())).findFirst(); + if (!optionalQueueDO.isPresent()) { + return new ArrayList<QueueDO>(); + } - Long roomId = optionalQueueDO.get().getRoomId(); + roomId = optionalQueueDO.get().getRoomId(); + } + List<Integer> queueStatusList = new ArrayList<>(); queueStatusList.add(QueueStatusEnum.RECEIVED.getStatus()); queueStatusList.add(QueueStatusEnum.PASSED_INSTALL.getStatus()); -- Gitblit v1.9.3