From a2a840d4969d680b30eeec184a7059fef64d0b84 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期五, 04 七月 2025 21:39:14 +0800 Subject: [PATCH] 代码提交 --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/appointment/AppointmentMapper.java | 60 +++++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 47 insertions(+), 13 deletions(-) diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/appointment/AppointmentMapper.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/appointment/AppointmentMapper.java index 7727223..8eb5159 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/appointment/AppointmentMapper.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/appointment/AppointmentMapper.java @@ -1,16 +1,18 @@ package cn.lihu.jh.module.ecg.dal.mysql.appointment; -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.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.lihu.jh.module.ecg.controller.admin.appointment.vo.AppointmentPageReqVO; import cn.lihu.jh.module.ecg.dal.dataobject.appointment.AppointmentDO; -import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomDO; 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 org.apache.ibatis.annotations.Update; + +import java.time.LocalDate; +import java.util.Date; +import java.util.List; /** * 棰勭害 Mapper @@ -21,7 +23,7 @@ public interface AppointmentMapper extends BaseMapperX<AppointmentDO> { default PageResult<AppointmentDO> selectPage(AppointmentPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX<AppointmentDO>() + LambdaQueryWrapperX<AppointmentDO> wrapper = (LambdaQueryWrapperX<AppointmentDO>) new LambdaQueryWrapperX<AppointmentDO>() .eqIfPresent(AppointmentDO::getPatId, reqVO.getPatId()) .likeIfPresent(AppointmentDO::getPatName, reqVO.getPatName()) .eqIfPresent(AppointmentDO::getPatGender, reqVO.getPatGender()) @@ -34,19 +36,51 @@ .eqIfPresent(AppointmentDO::getPatDeptDesc, reqVO.getPatDeptDesc()) .eqIfPresent(AppointmentDO::getPatWardCode, reqVO.getPatWardCode()) .eqIfPresent(AppointmentDO::getPatWardDesc, reqVO.getPatWardDesc()) - .eqIfPresent(AppointmentDO::getPatBedNo, reqVO.getPatBedNo()) - .eqIfPresent(AppointmentDO::getBookId, reqVO.getBookId()) .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)); + .eqIfPresent(AppointmentDO::getPaid, reqVO.getPaid()) + .eqIfPresent(AppointmentDO::getApplyNo, reqVO.getApplyNo()) + .eqIfPresent(AppointmentDO::getEpisodeId, reqVO.getEpisodeId()) + .inIfPresent(AppointmentDO::getStatus, reqVO.getStatus()) + // 鏃堕棿鑼冨洿鏌ヨ锛屾敞鎰忚繖閲屽己鍒舵寚瀹氱被鍨嬩负 LambdaQueryWrapperX + .and(reqVO.getRegisterTime() != null, w -> { + LocalDate today = LocalDate.now(); + if ("涓婂崍".equals(reqVO.getRegisterTime())) { + w.between(AppointmentDO::getRegisterDate, today.atTime(5, 0, 0), today.atTime(13, 0, 0)); + } else if ("涓嬪崍".equals(reqVO.getRegisterTime())) { + w.between(AppointmentDO::getRegisterDate, today.atTime(13, 0, 1), today.atTime(22, 0, 0)); + } + }); + + // 鍔ㄦ�佹帓搴� + if (reqVO.getOrderCreateTime() != null) { + wrapper.orderByDesc(AppointmentDO::getCreateTime); + } else { + wrapper.orderByAsc(AppointmentDO::getRegisterDate) + .orderByAsc(AppointmentDO::getPatWardDesc); + } + return selectPage(reqVO, wrapper); } - @Select("select * from lihu.appointment where pat_id = #{patId} and to_days(book_date) = to_days(Now()) limit 1") - AppointmentDO getByPatId(@Param("patId") String patId); + @Select("select * from lihu.appointment where pat_id = #{patId} and to_days(book_date) = to_days(Now())") + List<AppointmentDO> getCurrentPatId(String patId); + @Select("select * from lihu.appointment where (apply_no = #{code} or episode_id= #{code} or hospital_no =#{code} or pat_identity_id=#{code}) and to_days(book_date) = to_days(Now())") + List<AppointmentDO> getCurrentCode(String code); -} \ No newline at end of file + @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 getByPatAndCheckTypeAndBookDate(@Param("patId") String patId, @Param("checkType") Integer checkType); + + @Update("update lihu.appointment set status = #{status} " + "<if test='registerDate != null'>" + ", register_date = #{registerDate} " + "</if>" + "where apply_no = #{applyNo};") + Integer updateStatusByApplyNo(@Param("applyNo") String applyNo, @Param("status") String status, @Param("registerDate") Date registerDate); + + @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); + + @Select("select * from lihu.appointment where apply_no = #{applyNo} limit 1") + AppointmentDO getByApplyNo(@Param("applyNo") String applyNo); +} + -- Gitblit v1.9.3