From d1708b4b2bc6596f9c62354274f1af97be45401c Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期四, 28 十一月 2024 14:40:46 +0800 Subject: [PATCH] 按工位的多个检查项目 抢占 排队中 患者 --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/room/RoomMapper.java | 89 ++++++++++++++++++++++++++++++++------------ 1 files changed, 64 insertions(+), 25 deletions(-) diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/room/RoomMapper.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/room/RoomMapper.java index f8e1851..f352a2f 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/room/RoomMapper.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/room/RoomMapper.java @@ -3,17 +3,14 @@ import java.util.*; import cn.lihu.jh.framework.common.pojo.PageResult; -import cn.lihu.jh.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.lihu.jh.framework.mybatis.core.mapper.BaseMapperX; +import cn.lihu.jh.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomDO; +import org.apache.ibatis.annotations.*; import cn.lihu.jh.module.ecg.controller.admin.room.vo.RoomPageReqVO; -import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomDO; import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomStatisticsDO; import cn.lihu.jh.module.ecg.enums.BedStatusEnum; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; -import org.apache.ibatis.annotations.Update; /** * 璇婂鍜岃瘖鐤楀簥 Mapper @@ -31,35 +28,77 @@ .orderByDesc(RoomDO::getId)); } + @Select("select * from lihu.clinic_room where ip = #{ip}") + List<RoomDO> queueByIp(@Param("ip") String ip); + + @Update("<script> " + + "update lihu.clinic_room set status=#{newStatus}, doc_id=null, doc_name=null " + + " where deleted = 0 " + + "</script>") + Integer resetRoom(@Param("newStatus") Integer newStatus); + @Select({ "SELECT room_id, room_name, count(1) as bed_num FROM lihu.clinic_room group by room_id;" }) List<RoomStatisticsDO> roomStatistic(); - @Select({ "SELECT id, room_id, room_name, bed_no, status, doc_id, doc_name FROM lihu.clinic_room where status >= 10;" }) - List<RoomDO> simpleRoomList(); - - @Update("<script> " + - "update lihu.clinic_room set status=#{newStatus.status} where room_id=#{roomId} and bed_no=#{bedNo} " + - "and status=( " + - " <foreach collection='curStatusList' separator=',' item='curStatus'>" + - " #{curStatus.status} " + - " </foreach> );" + + @Select("<script> " + + "SELECT * FROM lihu.clinic_room " + + "where status in ( " + + " <foreach collection='curStatusList' separator=',' item='curStatus'>" + + " #{curStatus.status} " + + " </foreach> )" + + " and deleted = 0;" + "</script>") - Integer setBedStatus(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("newStatus") BedStatusEnum newStatus, @Param("curStatusList") List<BedStatusEnum> curStatusList); + @Results({ + @Result(property = "checkTypes", column = "check_types", typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler.class) + }) + List<RoomDO> simpleRoomList(@Param("curStatusList") List<BedStatusEnum> curStatusList); + + @Select("SELECT * FROM lihu.clinic_room where room_id=#{roomId} and bed_no=#{bedNo}") + @Results({ + @Result(property = "checkTypes", column = "check_types", typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler.class) + }) + RoomDO getRoom(@Param("roomId")Long roomId, @Param("bedNo")String bedNo); + + @Select("SELECT * FROM lihu.clinic_room where room_id=#{roomId} and bed_no=#{bedNo} and doc_id=#{docId}") + RoomDO getRoomByRoomBedDoc(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("docId")Long docId); + + @Select("SELECT * FROM lihu.clinic_room where doc_id=#{docId} limit 1") + RoomDO getRoomByDocId(@Param("docId")Long docId); @Update("<script> " + "update lihu.clinic_room set status=#{newStatus.status} " + - "where room_id=#{roomId} and bed_no=#{bedNo} and doc_id=#{docId} and doc_name=#{docName}" + - "and status=( " + + " where room_id=#{roomId} and bed_no=#{bedNo} and isNull(doc_id) " + + " and status in ( " + + " <foreach collection='curStatusList' separator=',' item='curStatus'>" + + " #{curStatus.status} " + + " </foreach> );" + + "</script>") + Integer setBedOpeningOpening(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("newStatus") BedStatusEnum newStatus, @Param("curStatusList") List<BedStatusEnum> curStatusList); + + @Update("<script> " + + "update lihu.clinic_room set status=#{newStatus.status}, doc_id=null, doc_name=null " + + " where room_id=#{roomId} and bed_no=#{bedNo} and isNull(doc_id) " + + " and status in ( " + + " <foreach collection='curStatusList' separator=',' item='curStatus'>" + + " #{curStatus.status} " + + " </foreach> );" + + "</script>") + Integer setBedOpeningClosed(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("newStatus") BedStatusEnum newStatus, @Param("curStatusList") List<BedStatusEnum> curStatusList); + + @Update("<script> " + + "update lihu.clinic_room set status=#{newStatus.status} " + + "where room_id=#{roomId} and bed_no=#{bedNo} and doc_id=#{docId} " + + "and status in ( " + " <foreach collection='curStatusList' separator=',' item='curStatus'>" + " #{curStatus.status} " + " </foreach> );" + "</script>") - Integer setBedDoctorPause(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("docId")Long docId, @Param("docName")String docName, @Param("newStatus") BedStatusEnum newStatus, @Param("curStatusList") List<BedStatusEnum> curStatusList); + Integer setBedDoctorStatus(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("docId")Long docId, @Param("newStatus") BedStatusEnum newStatus, @Param("curStatusList") List<BedStatusEnum> curStatusList); @Update("<script> " + "update lihu.clinic_room set status=#{newStatus.status}, doc_id=#{docId}, doc_name=#{docName} " + - "where room_id=#{roomId} and bed_no=#{bedNo} " + - "and status=( " + + "where room_id=#{roomId} and bed_no=#{bedNo} and isNull(doc_id)" + + "and status in ( " + " <foreach collection='curStatusList' separator=',' item='curStatus'>" + " #{curStatus.status} " + " </foreach> );" + @@ -67,12 +106,12 @@ Integer setBedDoctorOn(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("docId")Long docId, @Param("docName")String docName, @Param("newStatus") BedStatusEnum newStatus, @Param("curStatusList") List<BedStatusEnum> curStatusList); @Update("<script> " + - "update lihu.clinic_room set status=#{newStatus.status}, doc_id=null, doc_name='' " + - "where room_id=#{roomId} and bed_no=#{bedNo} and doc_id=#{docId} and doc_name=#{docName}" + - "and status=( " + + "update lihu.clinic_room set status=#{newStatus.status}, doc_id=null, doc_name=null " + + "where room_id=#{roomId} and bed_no=#{bedNo} and doc_id=#{docId} " + + "and status in ( " + " <foreach collection='curStatusList' separator=',' item='curStatus'>" + " #{curStatus.status} " + " </foreach> );" + "</script>") - Integer setBedDoctorOff(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("docId")Long docId, @Param("docName")String docName, @Param("newStatus") BedStatusEnum newStatus, @Param("curStatusList") List<BedStatusEnum> curStatusList); + Integer setBedDoctorOff(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("docId")Long docId, @Param("newStatus") BedStatusEnum newStatus, @Param("curStatusList") List<BedStatusEnum> curStatusList); } -- Gitblit v1.9.3