eight
2024-11-12 d8c1b8408ca24f3e02427c7885da8c87c90f16a0
update
已修改2个文件
14 ■■■■■ 文件已修改
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/QueueMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/QueueMapper.java
@@ -165,11 +165,13 @@
    // 某个诊室范围内 [已领用] [已召回-安装] 人员 抢占, 会更新 [工位号]
    // 没有限定检查类型,不要使用时间槽
    @Select("select * from lihu.queue where room_id = #{roomId} and status in ( " +
    @Select("<script> " +
            "select * from lihu.queue where room_id = #{roomId} and status in ( " +
            "       <foreach collection='curStatusList' separator=',' item='status'>" +
            "           #{status} " +
            "       </foreach> )" +
            "       order by seq_num, create_time limit 1 " )
            "       order by seq_num, create_time limit 1 " +
            "</script>" )
    QueueDO getFirstItemByRoomAndStatus(@Param("roomId")Long roomId, @Param("curStatusList")List<Integer> curStatusList);
    @Update("update lihu.queue set status = #{newStatus} where status = #{curStatus} and seq_num = \n" +
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java
@@ -304,6 +304,7 @@
        }
        firstItem.setStatus( QueueStatusEnum.INSTALLING.getStatus() );
        firstItem.setBedNo( bedNo );
        queueMapper.updateById( firstItem );
        // 检查项目.亲和性 处理逻辑
@@ -314,6 +315,7 @@
            for (int i = 0; i < affinityItems.size(); i++) {
                QueueDO queueItem = affinityItems.get(i);
                queueItem.setStatus(QueueStatusEnum.AFFINITY_RECEIVED.getStatus()); //改变 排队状态
                queueItem.setBedNo( bedNo );  // 跟随到 装机 工位
                queueMapper.updateById(queueItem);
            }
        }
@@ -473,9 +475,9 @@
                for (int i = 0; i < affinityItems.size(); i++) {
                    QueueDO queueItem = affinityItems.get(i);
                    queueItem.setStatus(QueueStatusEnum.AFFINITY_WAITING.getStatus()); //改变 排队状态
                    queueItem.setRoomId(queueItem.getRoomId());
                    queueItem.setRoomName(queueItem.getRoomName());
                    queueItem.setBedNo(queueItem.getBedNo());
                    queueItem.setRoomId(queueDO.getRoomId());
                    queueItem.setRoomName(queueDO.getRoomName());
                    queueItem.setBedNo(queueDO.getBedNo());
                    queueItem.setSeqNum(curSeqNum.get() + 1);  // 使用同一个 内部序号
                    queueMapper.updateById(queueItem);
                }