From f77fbfc8c07881f5239ce49b0dc78faaec3628b0 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期二, 10 十二月 2024 12:09:24 +0800
Subject: [PATCH] Fix Bug: 无预约时间的在预约表会有多条记录

---
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/appointment/AppointmentMapper.java |   31 +++++++++++++++++++++++++------
 1 files changed, 25 insertions(+), 6 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 666cea2..c943597 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,13 +1,16 @@
 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.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
@@ -18,7 +21,10 @@
 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())
@@ -32,13 +38,26 @@
                 .eqIfPresent(AppointmentDO::getPatWardCode, reqVO.getPatWardCode())
                 .eqIfPresent(AppointmentDO::getPatWardDesc, reqVO.getPatWardDesc())
                 .eqIfPresent(AppointmentDO::getPatBedNo, reqVO.getPatBedNo())
-                .eqIfPresent(AppointmentDO::getBookId, reqVO.getBookId())
-                .eqIfPresent(AppointmentDO::getBookPeriodStart, reqVO.getBookPeriodStart())
-                .eqIfPresent(AppointmentDO::getBookPeriodEnd, reqVO.getBookPeriodEnd())
+                .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));
     }
 
-}
\ No newline at end of file
+/*
+    @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);
+}
+

--
Gitblit v1.9.3