From 340b537e00c8c9a3b2e813d50c470573ab513b5c Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期四, 10 十月 2024 17:13:11 +0800 Subject: [PATCH] update --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java | 23 ++++++++++++++--------- 1 files changed, 14 insertions(+), 9 deletions(-) diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java index 2a3b853..7d5d6e3 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java @@ -15,7 +15,6 @@ import cn.lihu.jh.module.ecg.enums.QueueStatusEnum; import cn.lihu.jh.module.system.api.oauth2.OAuth2TokenApi; import lombok.extern.slf4j.Slf4j; -import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Component; import org.springframework.validation.annotation.Validated; @@ -58,8 +57,11 @@ ConcurrentHashMap<String, BedQueueBO > mapBedVsQueue = new ConcurrentHashMap<>(); - //PriorityBlockingQueue<BedQueueBO> priorityQueue = new PriorityBlockingQueue<>(); - Map<Integer, PriorityBlockingQueue<BedQueueBO>> mapCheckTypeVsPriorityQueue = new HashMap(); + // 鍩轰簬绫诲瀷鐨�, 妫�鏌ユ垨瑁呮満鐨勪紭鍏堥槦鍒� + Map<Integer, PriorityBlockingQueue<BedQueueBO>> mapCheckPriorityQueue = new HashMap(); + + // 鍩轰簬绫诲瀷鐨�, 瑁呮満鍑嗗鐨勪紭鍏堥槦鍒� + Map<Integer, PriorityBlockingQueue<BedQueueBO>> mapReadyPriorityQueue = new HashMap(); Map<Integer, Integer> mapCheckTypeVsReadyMax = null; @@ -250,7 +252,7 @@ * 2. 鏈嶅姟杩愮淮閲嶅惎鏃� */ public ErrorCode bedReload() { - mapCheckTypeVsPriorityQueue.clear(); + mapCheckPriorityQueue.clear(); mapBedVsQueue.clear(); // 娓呴櫎闈炲綋澶╃殑鎺掗槦浜哄憳 @@ -351,7 +353,7 @@ public void hurryupOneCheckType(Integer checkType) { - PriorityBlockingQueue<BedQueueBO> priorityQueue = mapCheckTypeVsPriorityQueue.get(checkType); + PriorityBlockingQueue<BedQueueBO> priorityQueue = mapCheckPriorityQueue.get(checkType); if (null == priorityQueue) return; @@ -436,7 +438,7 @@ private void addPriorityQueue(BedQueueBO bedQueueBO) { Integer[] checkTypes = bedQueueBO.getCheckTypes(); Arrays.stream(checkTypes).forEach(checkType -> { - PriorityBlockingQueue<BedQueueBO> priorityQueue = mapCheckTypeVsPriorityQueue.get(checkType); + PriorityBlockingQueue<BedQueueBO> priorityQueue = mapCheckPriorityQueue.get(checkType); if (!priorityQueue.contains(bedQueueBO)) { priorityQueue.offer(bedQueueBO); } else { @@ -448,7 +450,7 @@ private void removePriorityQueue(BedQueueBO bedQueueBO) { Integer[] checkTypes = bedQueueBO.getCheckTypes(); Arrays.stream(checkTypes).forEach(checkType -> { - PriorityBlockingQueue<BedQueueBO> priorityBlockingQueue = mapCheckTypeVsPriorityQueue.get(checkType); + PriorityBlockingQueue<BedQueueBO> priorityBlockingQueue = mapCheckPriorityQueue.get(checkType); if (null != priorityBlockingQueue) priorityBlockingQueue.remove(bedQueueBO); }); @@ -457,7 +459,7 @@ private void refreshPriorityQueue(BedQueueBO bedQueueBO) { Integer[] checkTypes = bedQueueBO.getCheckTypes(); Arrays.stream(checkTypes).forEach(checkType -> { - PriorityBlockingQueue<BedQueueBO> priorityQueue = mapCheckTypeVsPriorityQueue.get(checkType); + PriorityBlockingQueue<BedQueueBO> priorityQueue = mapCheckPriorityQueue.get(checkType); priorityQueue.remove(bedQueueBO); priorityQueue.offer(bedQueueBO); }); @@ -488,7 +490,10 @@ //杩愯惀涓伐浣嶇粺璁� HashSet<BedQueueBO> hashSetOperatingBedQueue = new HashSet<>(); - mapCheckTypeVsPriorityQueue.values().forEach(priorityQueue->{ + mapCheckPriorityQueue.values().forEach(priorityQueue->{ + priorityQueue.stream().forEach(bedQueueBO -> hashSetOperatingBedQueue.add(bedQueueBO)); + }); + mapReadyPriorityQueue.values().forEach(priorityQueue->{ priorityQueue.stream().forEach(bedQueueBO -> hashSetOperatingBedQueue.add(bedQueueBO)); }); -- Gitblit v1.9.3