eight
2024-10-15 82173ac0d751a85b2b1e3269ed0a201ba8eafe2a
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java
@@ -323,6 +323,7 @@
        DevRentDO devRent = BeanUtils.toBean(queueSaveReqVO, DevRentDO.class);
        devRent.setState( DevRentStateEnum.FREE.getState() );
        devRent.setPatDetails( queueSaveReqVO.getPatDetails() );
        devRentMapper.insert(devRent);
        startHurryUpOneCheckType( queue.getBookCheckType() );
@@ -383,6 +384,15 @@
        // 从 DB 把 就诊中的人 设置为过号
        Integer ret =  queueMapper.updateBedQueueStatus(roomId, bedNo,
                QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.PASSED.getStatus());
        startNextPatient(roomId, bedNo);
    }
    @Override
    public void passInstallNextPatient(Long roomId, String bedNo) {
        // 从 DB 把 [安装中]的人 设置为 [过号-安装]
        Integer ret =  queueMapper.updateBedQueueStatus(roomId, bedNo,
                QueueStatusEnum.INSTALLING.getStatus(), QueueStatusEnum.PASSED_INSTALL.getStatus());
        startNextPatient(roomId, bedNo);
    }
@@ -507,6 +517,15 @@
    }
    @Override
    public Integer recallInstallPatient(Long roomId, String bedNo, String patId) {
        Integer updateNum = queueMapper.recallPassedInstallPatient(roomId, bedNo, patId,
                QueueStatusEnum.PASSED_INSTALL.getStatus(), QueueStatusEnum.RECALLED_INSTALL.getStatus());
        // 安装工位 不设计 优先队列
        //startHurryUpOneBed(roomId, bedNo);
        return updateNum;
    }
    @Override
    public Integer patientJump(String patId, Byte jumped) {
        Integer updateNum = queueMapper.queueJump(patId, QueueStatusEnum.WAITING.getStatus(), jumped);
@@ -520,6 +539,31 @@
        return roomMapper.getRoomByDocId(docId);
    }
    @Override
    public List<QueueDO> getToBeCheckedPatient(Long roomId, String bedNo) {
        List<Byte> queueStatusList = new ArrayList<>();
        queueStatusList.add(QueueStatusEnum.RECALLED.getStatus());
        queueStatusList.add(QueueStatusEnum.READY.getStatus());
        queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus());
        queueStatusList.add(QueueStatusEnum.PASSED.getStatus());
        List<QueueDO> queueDOList = getBedQueueByStatus(roomId, bedNo, queueStatusList);
        return queueDOList;
    }
    @Override
    public List<QueueDO> getToBeInstalledPatient(Long roomId, String bedNo) {
        List<Byte> queueStatusList = new ArrayList<>();
        queueStatusList.add(QueueStatusEnum.RECEIVED.getStatus());
        queueStatusList.add(QueueStatusEnum.PASSED_INSTALL.getStatus());
        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) );
        return queueDOList;
    }
    private RoomDO getRoomDO(Long roomId, String bedNo) {
        RoomDO roomDO = mapRoomBed.get( Utils.formatRoomBed(roomId, bedNo) );
        if ( null == roomDO)