eight
2024-09-01 810eb6e9b8bacbc1bbdab537c8f1f2081943946e
update for bed close
已修改2个文件
27 ■■■■■ 文件已修改
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/BedQueueBO.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/BedQueueBO.java
@@ -1,6 +1,5 @@
package cn.lihu.jh.module.ecg.service.queue;
import cn.lihu.jh.module.ecg.enums.BedStatusEnum;
import lombok.Data;
import org.jetbrains.annotations.NotNull;
@@ -13,7 +12,7 @@
    String roomName;
    AtomicInteger queueNum = new AtomicInteger(0);
    Integer maxQueueNum;
    Integer bedStatus;
    Integer status;
    @Override
    public int compareTo(@NotNull BedQueueBO o) {
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueServiceImpl.java
@@ -254,7 +254,7 @@
        bedQueueBO.setBedNo(bedNo);
        bedQueueBO.setMaxQueueNum(queueReadyMax);
        bedQueueBO.setQueueNum(new AtomicInteger(queueDOList.size()));
        bedQueueBO.setBedStatus(BedStatusEnum.OPENING.getStatus());
        bedQueueBO.setStatus(BedStatusEnum.OPENING.getStatus());
        priorityQueue.offer(bedQueueBO);
        mapBedVsQueue.put(String.format("%09d%s", roomId, bedNo), bedQueueBO);
        return SUCCESS;
@@ -266,7 +266,15 @@
        if (null == bedQueueBO)
            return QUEUE_BED_ABNORMAL;
        if (bedQueueBO.getQueueNum().get() >0)
        // 除了判断 准备候诊中 的人数,还需要 判断 过号的人数
        //if (bedQueueBO.getQueueNum().get() >0)
        //    return QUEUE_HAVE_PATIENT;
        List<Byte> queueStatusList = new ArrayList<>();
        queueStatusList.add(QueueStatusEnum.READY.getStatus());
        queueStatusList.add(QueueStatusEnum.PASSED.getStatus());
        queueStatusList.add(QueueStatusEnum.PASSED_RETURN.getStatus());
        List<QueueDO>  queueDOList = queueMapper.getDoctorQueueByStatus(roomId, bedNo, queueStatusList);
        if (queueDOList.size() > 0)
            return QUEUE_HAVE_PATIENT;
        // DB update
@@ -315,7 +323,7 @@
        if ( null==updateNum || 0 == updateNum )
            return ROOM_INVALID_STATUS;
        bedQueueBO.setBedStatus(BedStatusEnum.PAUSE.getStatus());
        bedQueueBO.setStatus(BedStatusEnum.PAUSE.getStatus());
        priorityQueue.remove(bedQueueBO);
        return SUCCESS;
    }
@@ -323,7 +331,7 @@
    @Override
    public ErrorCode bedDoctorResume(Long roomId, String bedNo, Long docId, String docName) {
        BedQueueBO bedQueueBO = mapBedVsQueue.get(String.format("%09d%s", roomId, bedNo));
        if (null == bedQueueBO || !bedQueueBO.getBedStatus().equals(BedStatusEnum.PAUSE))
        if (null == bedQueueBO || !bedQueueBO.getStatus().equals(BedStatusEnum.PAUSE.getStatus()))
            return QUEUE_BED_ABNORMAL;
        // DB update
@@ -334,7 +342,7 @@
        if ( null==updateNum || 0 == updateNum )
            return ROOM_INVALID_STATUS;
        bedQueueBO.setBedStatus(BedStatusEnum.DOCTOR_ON.getStatus());
        bedQueueBO.setStatus(BedStatusEnum.DOCTOR_ON.getStatus());
        if (!priorityQueue.contains(bedQueueBO)) {
            priorityQueue.offer(bedQueueBO);
        } else {
@@ -359,7 +367,7 @@
        if ( null==updateNum || 0 == updateNum )
            return ROOM_INVALID_STATUS;
        bedQueueBO.setBedStatus(BedStatusEnum.DOCTOR_ON.getStatus());
        bedQueueBO.setStatus(BedStatusEnum.DOCTOR_ON.getStatus());
        return SUCCESS;
    }
@@ -378,7 +386,7 @@
        if ( null==updateNum || 0 == updateNum )
            return ROOM_INVALID_STATUS;
        bedQueueBO.setBedStatus(BedStatusEnum.OPENING.getStatus());
        bedQueueBO.setStatus(BedStatusEnum.OPENING.getStatus());
        return SUCCESS;
    }
@@ -434,7 +442,7 @@
            item.queueNum.set( queueNum );
            mapBedVsQueue.put(String.format("%09d%s", item.roomId, item.bedNo), item);
            if (BedStatusEnum.PAUSE.getStatus() != item.getBedStatus()) {
            if (BedStatusEnum.PAUSE.getStatus() != item.getStatus()) {
                priorityQueue.offer(item);
            }
        });