eight
2024-10-12 6a7f481d975f94984602b15c90904090f30b9b67
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java
@@ -26,7 +26,7 @@
import cn.lihu.jh.module.ecg.dal.dataobject.queue.QueueDO;
import cn.lihu.jh.framework.common.pojo.PageResult;
import cn.lihu.jh.framework.common.util.object.BeanUtils;
import cn.lihu.jh.module.ecg.dal.mysql.queue.queueMapper;
import cn.lihu.jh.module.ecg.dal.mysql.queue.QueueMapper;
import static cn.lihu.jh.module.ecg.enums.ErrorCodeConstants.*;
import static cn.lihu.jh.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.lihu.jh.framework.common.pojo.CommonResult.error;
@@ -49,7 +49,7 @@
    private OAuth2TokenApi oAuth2TokenApi;
    @Resource
    private queueMapper queueMapper;
    private QueueMapper queueMapper;
    @Resource
    private RoomMapper roomMapper;
@@ -218,9 +218,16 @@
    }
    @Override
    public void startHurryUp() {
    public void startHurryUpOneBed(Long roomId, String bedNo) {
        singleThreadExecutor.execute( () -> {
            queueServiceTxFunctions.hurryup();
            queueServiceTxFunctions.hurryupOneBed(roomId, bedNo);
        });
    }
    @Override
    public void startHurryUpOneCheckType(Integer checkType) {
        singleThreadExecutor.execute( () -> {
            queueServiceTxFunctions.hurryupOneCheckType( checkType );
        });
    }
@@ -228,7 +235,7 @@
    public void startBedReload() {
        singleThreadExecutor.execute( () -> {
            queueServiceTxFunctions.bedReload();
            queueServiceTxFunctions.hurryup();
            queueServiceTxFunctions.hurryupAllBed();
            queueServiceTxFunctions.monitorInfo();
        });
    }
@@ -296,10 +303,32 @@
        devRent.setState( DevRentStateEnum.FREE.getState() );
        devRentMapper.insert(devRent);
        startHurryUp();
        startHurryUpOneCheckType( queue.getBookCheckType() );
    }
    // 常规检查 叫号
    @Override
    public void finishNextPatient(Long roomId, String bedNo) {
        // 从 DB 把 就诊中的人 设置为就诊完成
        Integer ret =  queueMapper.updateQueueStatus(roomId, bedNo,
                QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.FINISH.getStatus());
        startNextPatient(roomId, bedNo);
    }
    // 领用 叫号
    @Override
    public void finishReceiveNextPatient(Long roomId, String bedNo) {
        // 从 DB 把 就诊中的人 设置为就诊完成
        Integer ret =  queueMapper.updateQueueStatus(roomId, bedNo,
                QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.RECEIVED.getStatus());
        startNextPatient(roomId, bedNo);
    }
    // 装机 叫号
    @Override
    public void finishInstallNextPatient(Long roomId, String bedNo) {
        // 从 DB 把 就诊中的人 设置为就诊完成
        Integer ret =  queueMapper.updateQueueStatus(roomId, bedNo,
                QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.FINISH.getStatus());
@@ -341,8 +370,8 @@
        return patientStatisticVO;
    }
    public void setCheckTypeReadyMax(Map<Integer, Integer> max) {
        queueServiceTxFunctions.setCheckTypeReadyMax( max );
    public void initCheckType() {
        queueServiceTxFunctions.initCheckType( );
    }
    public void startBiz() {
@@ -362,14 +391,16 @@
    public Integer recallPatient(Long roomId, String bedNo, String patId) {
        Integer updateNum = queueMapper.recallPassedPatient(roomId, bedNo, patId,
                QueueStatusEnum.PASSED.getStatus(), QueueStatusEnum.RECALLED.getStatus());
        startHurryUp();
        startHurryUpOneBed(roomId, bedNo);
        return updateNum;
    }
    @Override
    public Integer patientJump(String patId, Byte jumped) {
        Integer updateNum = queueMapper.queueJump(patId, QueueStatusEnum.WAITING.getStatus(), jumped);
        startHurryUp();
        QueueDO queueDO = queueMapper.getQueueByPatId(patId);
        startHurryUpOneCheckType(Integer.valueOf(queueDO.getBookCheckType()));
        return updateNum;
    }