From c3e27cb2e84782e99a30cc5a6e8caa67ca0cb72f Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期三, 25 九月 2024 17:33:32 +0800 Subject: [PATCH] 医生登出,自动离座,自动从暂停恢复 --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/room/RoomMapper.java | 82 ++++++++++++++++++++++++++-------------- 1 files changed, 53 insertions(+), 29 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 5abba9a..efedc7a 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,17 @@ 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.module.ecg.controller.admin.room.vo.RoomPageReqVO; -import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomResVO; -import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomStatisticsDO; -import cn.lihu.jh.module.ecg.enums.BedStatusEnum; +import cn.lihu.jh.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; + +import cn.lihu.jh.module.ecg.controller.admin.room.vo.RoomPageReqVO; +import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomStatisticsDO; +import cn.lihu.jh.module.ecg.enums.BedStatusEnum; /** * 璇婂鍜岃瘖鐤楀簥 Mapper @@ -21,15 +21,24 @@ * @author 鑺嬮亾婧愮爜 */ @Mapper -public interface RoomMapper extends BaseMapperX<RoomResVO> { +public interface RoomMapper extends BaseMapperX<RoomDO> { - default PageResult<RoomResVO> selectPage(RoomPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX<RoomResVO>() - .eqIfPresent(RoomResVO::getRoomId, reqVO.getRoomId()) - .eqIfPresent(RoomResVO::getBedNo, reqVO.getBedNo()) - .betweenIfPresent(RoomResVO::getCreateTime, reqVO.getCreateTime()) - .orderByDesc(RoomResVO::getId)); + default PageResult<RoomDO> selectPage(RoomPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX<RoomDO>() + .eqIfPresent(RoomDO::getRoomId, reqVO.getRoomId()) + .eqIfPresent(RoomDO::getBedNo, reqVO.getBedNo()) + .betweenIfPresent(RoomDO::getCreateTime, reqVO.getCreateTime()) + .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 1 = 1 " + + "</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(); @@ -39,35 +48,50 @@ "where status in ( " + " <foreach collection='curStatusList' separator=',' item='curStatus'>" + " #{curStatus.status} " + - " </foreach> );" + + " </foreach> )" + + " and deleted = 0;" + "</script>") - List<RoomResVO> simpleRoomList(@Param("curStatusList") List<BedStatusEnum> curStatusList); + List<RoomDO> simpleRoomList(@Param("curStatusList") List<BedStatusEnum> curStatusList); @Select("SELECT * FROM lihu.clinic_room where room_id=#{roomId} and bed_no=#{bedNo} and doc_id=#{docId}") - RoomResVO getRoom(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("docId")Long docId); + RoomDO getRoom(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("docId")Long docId); - @Update("<script> " + - "update lihu.clinic_room set status=#{newStatus.status} where room_id=#{roomId} and bed_no=#{bedNo} " + - "and status in ( " + - " <foreach collection='curStatusList' separator=',' item='curStatus'>" + - " #{curStatus.status} " + - " </foreach> );" + - "</script>") - Integer setBedStatus(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("newStatus") BedStatusEnum newStatus, @Param("curStatusList") List<BedStatusEnum> curStatusList); + @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}" + + " 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} " + + "where room_id=#{roomId} and bed_no=#{bedNo} and isNull(doc_id)" + "and status in ( " + " <foreach collection='curStatusList' separator=',' item='curStatus'>" + " #{curStatus.status} " + @@ -77,11 +101,11 @@ @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 doc_id=#{docId} and doc_name=#{docName}" + + "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