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/service/callingscreen/CallingScreenServiceImpl.java |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 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..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