From cb2507b0fddb4aeda36ea21addf77459d32d9996 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期二, 08 四月 2025 12:10:01 +0800
Subject: [PATCH] 大屏 亲和项 处理

---
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/callingscreen/CallingScreenController.java |   17 ++++++-----------
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/callingscreen/CallingScreenServiceImpl.java         |   21 +++++++++++++++++++++
 2 files changed, 27 insertions(+), 11 deletions(-)

diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/callingscreen/CallingScreenController.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/callingscreen/CallingScreenController.java
index 6e8abc4..44c62b3 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/callingscreen/CallingScreenController.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/callingscreen/CallingScreenController.java
@@ -43,21 +43,16 @@
     @GetMapping("/big-screen-data")
     @Operation(summary = "澶у睆鍙彿鏁版嵁")
     @PermitAll
-    public CommonResult<Map<Integer, Map<Integer, List<ScreenQueueRespVO>>>> callingData()
+    public CommonResult<Map<Integer, List<ScreenQueueRespVO>>> callingData()
     {
-        Map<Integer, Map<Integer, List<QueueDO>>> map = callingScreenService.getBigScreenPatient();
+        Map<Integer, List<QueueDO>> map = callingScreenService.getBigScreenPatient();
 
-        Map<Integer, Map<Integer, List<ScreenQueueRespVO>>> mapVO = new HashMap<>();
+        Map<Integer, List<ScreenQueueRespVO>> mapVO = new HashMap<>();
         map.keySet().forEach( displayCol -> {
             //log.info("dispayCol: " + displayCol);
-            Map<Integer, List<QueueDO>> mapSoltQueueDO = map.get(displayCol);
-            Map<Integer, List<ScreenQueueRespVO>> mapSoltQueueVO = new HashMap<>();
-            mapSoltQueueDO.keySet().forEach( displaySlot -> {
-                //log.info("displaySlot: " + displaySlot);
-                mapSoltQueueVO.put(displaySlot, BeanUtils.toBean(mapSoltQueueDO.get(displaySlot), ScreenQueueRespVO.class));
-            });
-
-            mapVO.put(displayCol, mapSoltQueueVO);
+            List<QueueDO> columnQueueDOList = map.get(displayCol);
+            List<ScreenQueueRespVO> screenQueueRespVOList = BeanUtils.toBean(columnQueueDOList, ScreenQueueRespVO.class);
+            mapVO.put(displayCol, screenQueueRespVOList);
         });
 
         return success( mapVO );
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..b914470 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,6 +100,27 @@
             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;
     }
 

--
Gitblit v1.9.3