package cn.lihu.jh.module.ecg.dal.mysql.room; import java.util.*; import cn.lihu.jh.framework.common.pojo.PageResult; 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.RoomStatisticsDO; import cn.lihu.jh.module.ecg.enums.BedStatusEnum; /** * 诊室和诊疗床 Mapper * * @author 芋道源码 */ @Mapper public interface RoomMapper extends BaseMapperX { default PageResult selectPage(RoomPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .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 queueByIp(@Param("ip") String ip); @Update("") 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 roomStatistic(); @Select("") @Results({ @Result(property = "checkTypes", column = "check_types", typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler.class) }) List simpleRoomList(@Param("curStatusList") List 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}") List getRoomByDocId(@Param("docId")Long docId); @Update("") Integer setBedOpeningOpening(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("newStatus") BedStatusEnum newStatus, @Param("curStatusList") List curStatusList); @Update("") Integer setBedOpeningClosed(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("newStatus") BedStatusEnum newStatus, @Param("curStatusList") List curStatusList); @Update("") Integer setBedDoctorStatus(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("docId")Long docId, @Param("newStatus") BedStatusEnum newStatus, @Param("curStatusList") List curStatusList); @Update("") 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 curStatusList); @Update("") Integer setBedDoctorOff(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("docId")Long docId, @Param("newStatus") BedStatusEnum newStatus, @Param("curStatusList") List curStatusList); }