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<AppointmentDO> {
|
|
default PageResult<AppointmentDO> selectPage(AppointmentPageReqVO reqVO) {
|
|
return selectPage(reqVO, new LambdaQueryWrapperX<AppointmentDO>()
|
.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<AppointmentDO> 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);
|
}
|