eight
2025-04-08 cb2507b0fddb4aeda36ea21addf77459d32d9996
大屏 亲和项 处理
已修改2个文件
38 ■■■■ 文件已修改
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/callingscreen/CallingScreenController.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/callingscreen/CallingScreenServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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 );
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;
    }