eight
2024-08-23 58f2c54f59b536f546812868393a2cf5b427eaa6
update
已修改3个文件
35 ■■■■■ 文件已修改
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/queueMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/queueMapper.java
@@ -66,22 +66,10 @@
            "</script>")
    List<BedQueueStatisticDO> bedQueueStatistic(@Param("roomId")Long roomId, @Param("bedNo")String bedNo);
    @Select("<script>" +
            "SELECT * FROM lihu.queue where status in (" +
            " <foreach collection='statusList' separator=',' item='status'>" +
            " #{status} " +
            " </foreach> )" +
            " order by book_timeslot, create_time " +
            "</script>")
    List<QueueDO> getOrderedQueue(@Param("statusList")List<Byte> statusList);
    @Update("update lihu.queue set status = #{newStatus} where seq_num = \n" +
            "(select a.min_seq_num from \n" +
            " (select min(seq_num) as min_seq_num from lihu.queue where room_id = #{roomId} and bed_no = #{bedNo} and status = #{curStatus}) a )")
    Integer updateQueueStatus(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("curStatus")Byte curStatus, @Param("newStatus")Byte newStatus);
    @Select("select * from lihu.queue where status = #{status} order by book_timeslot, create_time limit 1")
    QueueDO getFirstInQueueByStatus(Byte status);
    @Select("<script>" +
            "SELECT * FROM lihu.queue " +
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueService.java
@@ -66,11 +66,6 @@
    void initQueue();
    /**
     * 开诊前一刻,对 就诊准备的 人员 重新排序
     */
    void reorderQueue();
    /**
     * 把医生候诊的队列塞满
     */
    void hurryup();
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueServiceImpl.java
@@ -126,24 +126,6 @@
    }
    /**
     * 这个逻辑 不需要了
     */
    public void reorderQueue() {
        // 根据预约前后,从DB 获取 队列中 就诊准备中人员 列表
        List<Byte> queueStatusList = new ArrayList<>();
        queueStatusList.add(QueueStatusEnum.READY.getStatus());
        List<QueueDO> queueDOList = queueMapper.getOrderedQueue(queueStatusList);
        if (queueDOList.isEmpty())
            return;
        AtomicInteger seqNum = new AtomicInteger(1);
        queueDOList.forEach(item -> {item.setSeqNum(seqNum.getAndIncrement());});
        queueMapper.updateBatch(queueDOList);
        curSeqNum.set( seqNum.get() );
    }
    /**
     * TODO 新开队列时,需要把排队中的人 转到 就诊准备 状态
     * 等到取下一个 排队中人员 的逻辑完成后,再回来不错
     */