package cn.lihu.jh.module.ecg.dal.mysql.call; 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.dal.dataobject.call.CallDO; import org.apache.ibatis.annotations.*; import cn.lihu.jh.module.ecg.controller.admin.call.vo.*; /** * 叫号 Mapper * * @author 马剑波 */ @Mapper public interface CallMapper extends BaseMapperX { default PageResult selectPage(CallPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(CallDO::getPatId, reqVO.getPatId()) .likeIfPresent(CallDO::getPatName, reqVO.getPatName()) .eqIfPresent(CallDO::getPatGender, reqVO.getPatGender()) .eqIfPresent(CallDO::getSeqNum, reqVO.getSeqNum()) .eqIfPresent(CallDO::getPassed, reqVO.getPassed()) .eqIfPresent(CallDO::getExpired, reqVO.getExpired()) .eqIfPresent(CallDO::getCalled, reqVO.getCalled()) .eqIfPresent(CallDO::getJumpFlag, reqVO.getJumpFlag()) .eqIfPresent(CallDO::getRoomId, reqVO.getRoomId()) .likeIfPresent(CallDO::getRoomName, reqVO.getRoomName()) .eqIfPresent(CallDO::getBedNo, reqVO.getBedNo()) .betweenIfPresent(CallDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(CallDO::getId)); } @Select("select * from lihu.call_patient where pat_id = #{patId} order by id desc limit 1") CallDO getLatestPatientCall(@Param("patId") String patId); // call_type 0 大屏 @Select("select * from lihu.call_patient where called = 0 and call_type = 0 order by id limit 1") CallDO getNextCall( ); // call_type 1 诊间屏 @Select("select * from lihu.call_patient where called = 0 and call_type = 1 and room_id = #{roomId} order by id limit 1") CallDO getNextInstallCall(@Param("roomId") Long roomId); //@Update("TRUNCATE TABLE lihu.call_patient") 保持当天数据 @Delete("delete from lihu.call_patient where TO_DAYS(book_date) != TO_DAYS(NOW())") void clearCall(); }