From d1708b4b2bc6596f9c62354274f1af97be45401c Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期四, 28 十一月 2024 14:40:46 +0800
Subject: [PATCH] 按工位的多个检查项目 抢占 排队中 患者

---
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/callingscreen/CallingScreenServiceImpl.java |   27 +++++++++++++++++----------
 1 files changed, 17 insertions(+), 10 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 de872f3..6b7d3d5 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
@@ -39,8 +39,6 @@
 
     BigScreenConfig bigScreenConfig;
 
-    Map<Integer, List<CheckTypeDO>> mapDisplayColName = null;
-
     Map<Integer, Integer> mapCheckTypeVsDisplayColumn = null;
 
     Integer waitingFrom = 0;
@@ -54,13 +52,12 @@
 
     @Override
     public Map<Integer, List<String>> getDisplayColInfo() {
-        if (null == mapDisplayColName) {
-            CheckTypePageReqVO checkTypePageReqVO = new CheckTypePageReqVO();
-            checkTypePageReqVO.setPageSize(-1);
-            PageResult<CheckTypeDO> pageResult = checkTypeMapper.selectPage(checkTypePageReqVO);
-            mapDisplayColName = pageResult.getList().stream().collect(Collectors.groupingBy(CheckTypeDO::getCallingColumn));
-            mapCheckTypeVsDisplayColumn = pageResult.getList().stream().collect(Collectors.toMap(CheckTypeDO::getValue, item -> item.getCallingColumn()));
-        }
+        CheckTypePageReqVO checkTypePageReqVO = new CheckTypePageReqVO();
+        checkTypePageReqVO.setPageSize(-1);
+        checkTypePageReqVO.setCallingColumn(-1); // 鍒楀彿 -1 鐨勪笉鏄剧ず
+        PageResult<CheckTypeDO> pageResult = checkTypeMapper.selectPageForCallingScreen(checkTypePageReqVO);
+        Map<Integer, List<CheckTypeDO>> mapDisplayColName = pageResult.getList().stream().collect(Collectors.groupingBy(CheckTypeDO::getCallingColumn));
+        mapCheckTypeVsDisplayColumn = pageResult.getList().stream().collect(Collectors.toMap(CheckTypeDO::getValue, item -> item.getCallingColumn()));
 
         Map<Integer, List<String>> _map = new HashMap<>();
         mapDisplayColName.keySet().forEach(key -> {
@@ -99,7 +96,17 @@
         });
 
         mapDisplayColQueue.values().stream().forEach(mapSoltQueue -> mapSoltQueue.values().stream().forEach(
-                slotQueueList -> slotQueueList.sort((o1, o2) -> o1.getSeqNum() - o2.getSeqNum())));
+                slotQueueList -> slotQueueList.sort((o1, o2) -> {
+                    if (null == o1.getSeqNum() && null == o2.getSeqNum()) {
+                        return o1.getBookTimeslot() - o2.getBookTimeslot();
+                    } else if (null != o1.getSeqNum() && null != o2.getSeqNum()) {
+                        return o1.getSeqNum() - o2.getSeqNum();
+                    } else if (null == o1.getSeqNum()) {
+                        return 1;
+                    } else {  //杩欓噷 蹇呭畾 null == o2.getSeqNum()
+                        return -1;
+                    }
+                })));
         return mapDisplayColQueue;
     }
 

--
Gitblit v1.9.3