eight
2024-11-13 11e73608f1a558c094811aae97a5bccd60317bc2
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java
@@ -274,18 +274,6 @@
        firstReadyQueueItem.setStatus(QueueStatusEnum.ONSTAGE.getStatus());
        queueMapper.updateById( firstReadyQueueItem );
        // 检查项目.亲和性 处理逻辑
        CheckTypeDO checkTypeDO = getCheckTypeItem( firstReadyQueueItem.getBookCheckType() );
        if (checkTypeDO.getAffinityCheckTypes().length > 0) {
            List<QueueDO> affinityItems = queueMapper.getCurPatGivenCheckTypesAndStatus(firstReadyQueueItem.getPatId(), checkTypeDO.getAffinityCheckTypes(), QueueStatusEnum.AFFINITY_WAITING.getStatus());
            if (!affinityItems.isEmpty()) {
                QueueDO tmpQueueDO = affinityItems.get(0);
                tmpQueueDO.setStatus( QueueStatusEnum.READY.getStatus() );
                queueMapper.updateById( tmpQueueDO );
                return GlobalErrorCodeConstants.SUCCESS;   // 准备中 数量没有变化,故直接返回
            }
        }
        // 优先队列中 该工位 就诊准备中人的数量 减一
        BedQueueBO bo = mapBedVsQueue.get( Utils.formatRoomBed( roomId, bedNo ) );
        bo.queueNum.getAndDecrement(); // 可能已经【并发的】在 hurry-up 中改变了值
@@ -631,6 +619,7 @@
        monitorInfoVO.setQueueNum(mapBedVsQueue.size());
        monitorInfoVO.setActiveQueueNum((int) mapBedVsQueue.values().stream().filter(item -> item.getStatus() == BedStatusEnum.DOCTOR_ON.getStatus()).count());
        monitorInfoVO.setPriorityQueueNum( hashSetOperatingBedQueue.size() );
        monitorInfoVO.setMapBedVsQueue( mapBedVsQueue );
    }
}