eight
2025-04-09 a0e8a9e3eb543cf60ae971a9425ea3ce65ccd7d5
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java
@@ -284,8 +284,8 @@
            return error(ROOM_NOT_SIT);
        }
        BedQueueBO bedQueueBO = queueServiceTxFunctions.getBedQueueBO(roomId, bedNo);
        if (null == bedQueueBO) {
        BedBO bedBO = queueServiceTxFunctions.getBedQueueBO(roomId, bedNo);
        if (null == bedBO) {
            log.error("getRoom mapBedVsQueue DONOT existed. " + roomId + " " + bedNo);
            return error(QUEUE_BED_NOT_EXIST);
        }
@@ -584,13 +584,13 @@
    }
    /**
     * 获取 指定工位 待检查|待领用的人
     * 获取 指定工位  【检查|领用】相关的患者
     * @param roomId
     * @param bedNo
     * @return
     */
    @Override
    public List<QueueDO> getToBeCheckedPatient(Long roomId, String bedNo) {
    public List<QueueDO> getCheckRelatedPatient(Long roomId, String bedNo) {
        List<Integer> queueStatusList = new ArrayList<>();
        queueStatusList.add(QueueStatusEnum.RECALLED.getStatus());
        queueStatusList.add(QueueStatusEnum.READY.getStatus());
@@ -621,18 +621,24 @@
        return queueDOList;
    }
    /**
     * 获取 指定工位  【安装】相关的患者
     * @param roomId
     * @param bedNo
     * @return
     */
    @Override
    public List<QueueDO> getToBeInstalledPatient(Long roomId, String bedNo) {
    public List<QueueDO> getInstallRelatedPatient(Long roomId, String bedNo) {
        List<Integer> queueStatusList = new ArrayList<>();
        queueStatusList.add(QueueStatusEnum.RECEIVED.getStatus());
        queueStatusList.add(QueueStatusEnum.PASSED_INSTALL.getStatus());
        queueStatusList.add(QueueStatusEnum.AFFINITY_INSTALL.getStatus());
        List<QueueDO> queueDOList = getRoomQueueByStatus(roomId, queueStatusList);
        List<QueueDO> queueDOList = getRoomQueueByStatus(roomId, queueStatusList); // 可以看到本诊室 待安装的患者
        queueStatusList.clear();
        queueStatusList.add(QueueStatusEnum.INSTALLING.getStatus());
        queueStatusList.add(QueueStatusEnum.RECALLED_INSTALL.getStatus());
        queueDOList.addAll(0, getBedQueueByStatus(roomId, bedNo, queueStatusList) );
        queueDOList.addAll(0, getBedQueueByStatus(roomId, bedNo, queueStatusList) ); // 当前工位的
        //把 [亲和的] 挪到主项后面
        List<QueueDO> affinityReceivedList = new ArrayList<>();
@@ -683,7 +689,7 @@
     * 预约确认后,主动寻求依附
     */
    private void procAffinityWhenQueue(/*IN, OUT*/QueueSaveReqVO queueSaveReqVO, Integer[] affinityCheckTypes) {
        // 如果存在 [就诊准备] [就诊中] [过号] [已召回] 能被依附的检查项,则依附到其中一个
        // 如果存在 [候诊中] [就诊中] [过号] [已召回] 能被依附的检查项,则依附到其中一个
        List<QueueDO> affinityItems = queueMapper.getCurPatGivenCheckTypesAndStatusList(
                queueSaveReqVO.getPatId(), affinityCheckTypes,
                List.of(QueueStatusEnum.READY.getStatus(), QueueStatusEnum.ONSTAGE.getStatus(),