package cn.lihu.jh.module.ecg.dal.mysql.appointment; 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.appointment.AppointmentDO; import org.apache.ibatis.annotations.Mapper; import cn.lihu.jh.module.ecg.controller.admin.appointment.vo.*; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.time.LocalDate; import java.util.List; /** * 预约 Mapper * * @author 马剑波 */ @Mapper public interface AppointmentMapper extends BaseMapperX { default PageResult selectPage(AppointmentPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(AppointmentDO::getApplyNo, reqVO.getApplyNo()) .eqIfPresent(AppointmentDO::getEpisodeId, reqVO.getEpisodeId()) .eqIfPresent(AppointmentDO::getPatId, reqVO.getPatId()) .likeIfPresent(AppointmentDO::getPatName, reqVO.getPatName()) .eqIfPresent(AppointmentDO::getPatGender, reqVO.getPatGender()) .eqIfPresent(AppointmentDO::getPatBirthday, reqVO.getPatBirthday()) .eqIfPresent(AppointmentDO::getPatMobile, reqVO.getPatMobile()) .eqIfPresent(AppointmentDO::getPatPhone, reqVO.getPatPhone()) .eqIfPresent(AppointmentDO::getPatIdentityId, reqVO.getPatIdentityId()) .eqIfPresent(AppointmentDO::getPatAddr, reqVO.getPatAddr()) .eqIfPresent(AppointmentDO::getPatDeptCode, reqVO.getPatDeptCode()) .eqIfPresent(AppointmentDO::getPatDeptDesc, reqVO.getPatDeptDesc()) .eqIfPresent(AppointmentDO::getPatWardCode, reqVO.getPatWardCode()) .eqIfPresent(AppointmentDO::getPatWardDesc, reqVO.getPatWardDesc()) .eqIfPresent(AppointmentDO::getPatBedNo, reqVO.getPatBedNo()) .eqIfPresent(AppointmentDO::getBookDate, reqVO.getBookDate()) .eqIfPresent(AppointmentDO::getBookTimeslot, reqVO.getBookTimeslot()) .betweenIfPresent(AppointmentDO::getBookTime, reqVO.getBookTime()) .eqIfPresent(AppointmentDO::getBookCheckType, reqVO.getBookCheckType()) .eqIfPresent(AppointmentDO::getBookSrc, reqVO.getBookSrc()) .orderByDesc(AppointmentDO::getId)); } /* @Select("select * from lihu.appointment where pat_id = #{patId} and to_days(book_date) = to_days(Now())") List getCurrentPatId(@Param("patId") String patId); */ @Select("select * from lihu.appointment where pat_id = #{patId} and book_check_type = #{checkType} and to_days(book_date) = to_days(Now()) limit 1") AppointmentDO getCurrentByPatAndCheckType(@Param("patId") String patId, @Param("checkType") Integer checkType); @Select("select * from lihu.appointment where pat_id = #{patId} and book_check_type = #{checkType} and to_days(book_date) = to_days(#{book_date}) limit 1") AppointmentDO getByPatAndCheckTypeAndBookDate(@Param("patId") String patId, @Param("checkType") Integer checkType, @Param("book_date") LocalDate book_date); @Select("select * from lihu.appointment where episode_id = #{episodeId} and apply_no = #{applyNo} limit 1") AppointmentDO getByEpisodeIdAndApplyNo(@Param("episodeId") String episodeId, @Param("applyNo") String applyNo); }