| | |
| | | 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.RoomDO; |
| | | 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 org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.apache.ibatis.annotations.Select; |
| | | import org.apache.ibatis.annotations.Update; |
| | | |
| | | /** |
| | | * 诊室和诊疗床 Mapper |
| | |
| | | * @author 芋道源码 |
| | | */ |
| | | @Mapper |
| | | public interface RoomMapper extends BaseMapperX<RoomDO> { |
| | | public interface RoomMapper extends BaseMapperX<RoomResVO> { |
| | | |
| | | 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)); |
| | | 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)); |
| | | } |
| | | |
| | | @Select({ "SELECT room_id, count(1) as bed_num FROM lihu.clinic_room group by room_id;" }) |
| | | @Select({ "SELECT room_id, room_name, count(1) as bed_num FROM lihu.clinic_room group by room_id;" }) |
| | | List<RoomStatisticsDO> roomStatistic(); |
| | | |
| | | @Select({ "SELECT room_id, room_name FROM lihu.clinic_room group by room_id;" }) |
| | | List<RoomDO> simpleRoomList(); |
| | | @Select("<script> " + |
| | | "SELECT id, room_id, room_name, bed_no, status, doc_id, doc_name FROM lihu.clinic_room " + |
| | | "where status in ( " + |
| | | " <foreach collection='curStatusList' separator=',' item='curStatus'>" + |
| | | " #{curStatus.status} " + |
| | | " </foreach> );" + |
| | | "</script>") |
| | | List<RoomResVO> 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); |
| | | |
| | | @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); |
| | | |
| | | @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 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); |
| | | |
| | | @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 in ( " + |
| | | " <foreach collection='curStatusList' separator=',' item='curStatus'>" + |
| | | " #{curStatus.status} " + |
| | | " </foreach> );" + |
| | | "</script>") |
| | | 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=null " + |
| | | "where room_id=#{roomId} and bed_no=#{bedNo} and doc_id=#{docId} and doc_name=#{docName}" + |
| | | "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); |
| | | } |