eight
2024-09-19 d78710765c31d449bef4f1af3de285221eb12080
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/queueMapper.java
@@ -40,6 +40,37 @@
    Integer getMaxSeqNum();
    @Select("<script>" +
            "SELECT * FROM lihu.queue " +
            "where room_id = #{roomId} and status in (" +
            " <foreach collection='statusList' separator=',' item='status'>" +
            " #{status} " +
            " </foreach> )" +
            " order by seq_num" +
            "</script>")
    List<QueueDO> getRoomQueueByStatus(@Param("roomId")Long roomId, @Param("statusList")List<Byte> statusList);
    @Select("<script>" +
            "SELECT * FROM lihu.queue " +
            "where status in (" +
            " <foreach collection='statusList' separator=',' item='status'>" +
            "  #{status} " +
            " </foreach> )" +
            " order by status desc, seq_num" +
            "</script>")
    List<QueueDO> getQueueByStatus( @Param("statusList")List<Byte> statusList);
    @Select("<script>" +
            "SELECT * FROM lihu.queue " +
            "where id >= #{from} and status in (" +
            " <foreach collection='statusList' separator=',' item='status'>" +
            "  #{status} " +
            " </foreach> )" +
            " limit #{size} " +
            " order by id" +
            "</script>")
    List<QueueDO> getPartialQueueByStatus( @Param("statusList")List<Byte> statusList, @Param("from") Integer from, @Param("size") Integer size);
    @Select("<script>" +
            "SELECT count(1) as total_in_status FROM lihu.queue where status in (" +
            " <foreach collection='statusList' separator=',' item='status'>" +
            "  #{status} " +
@@ -63,21 +94,6 @@
            "</script>")
    List<BedQueueStatisticDO> bedQueueStatistic(@Param("roomId")Long roomId, @Param("bedNo")String bedNo);
    @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("<script>" +
            "SELECT * FROM lihu.queue " +
            "where room_id = #{roomId} and status in (" +
            " <foreach collection='statusList' separator=',' item='status'>" +
            " #{status} " +
            " </foreach> )" +
            " order by seq_num" +
            "</script>")
    List<QueueDO> getRoomQueueByStatus(@Param("roomId")Long roomId, @Param("statusList")List<Byte> statusList);
    @Select("<script>" +
            "SELECT * FROM lihu.queue " +
            "where room_id = #{roomId} and bed_no = #{bedNo} and status in (" +
@@ -87,6 +103,14 @@
            " order by seq_num" +
            "</script>")
    List<QueueDO> getDoctorQueueByStatus(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("statusList")List<Byte> statusList);
    @Update( "update lihu.queue set called = 1 where pat_id = #{patId}" )
    Integer markCalled(@Param("patId")String patId);
    @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);
    @Update("update lihu.queue set status = #{newStatus}, room_id = #{roomId}, room_name = #{roomName}, \n" +
            " bed_no = #{bedNo}, seq_num = #{seqNum} where id = \n" +
@@ -111,7 +135,8 @@
            " where status = #{curStatus} and pat_id = #{patId}")
    Integer queueJump(@Param("patId")String patId, @Param("curStatus")Byte curStatus, @Param("jumped")Byte jumped );
    @Delete("delete from lihu.queue where TO_DAYS(book_date) != TO_DAYS(NOW())")
    Integer clearQueue();
    //@Delete("delete from lihu.queue where TO_DAYS(book_date) != TO_DAYS(NOW())")
    @Update("TRUNCATE TABLE lihu.queue")
    void clearQueue();
}