From edbad7e0df01e67dedd2bf4c13e9cf8a979c5f67 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Fri, 15 May 2026 13:57:42 +0800 Subject: [PATCH] =?UTF-8?q?fix(query):=20=E4=BF=AE=E5=A4=8D=E8=AF=B7?= =?UTF-8?q?=E5=81=87=E5=92=8C=E5=A4=96=E5=87=BA=E7=94=B3=E8=AF=B7=E7=9A=84?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E8=8C=83=E5=9B=B4=E6=9F=A5=E8=AF=A2=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除WmsLeaveRequestServiceImpl中重复的时间条件查询 - 为WmsOutRequestServiceImpl添加正确的日期范围交集查询逻辑 - 实现(start_time <= endTime AND end_time >= startTime)的时间范围匹配条件 - 添加单侧时间条件查询支持(仅开始时间或结束时间) - 导入WmsLeaveRequest类到WmsOutRequestServiceImpl中 --- .../service/impl/WmsLeaveRequestServiceImpl.java | 3 --- .../klp/service/impl/WmsOutRequestServiceImpl.java | 13 +++++++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsLeaveRequestServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsLeaveRequestServiceImpl.java index dbec4e9d..73591802 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsLeaveRequestServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsLeaveRequestServiceImpl.java @@ -114,9 +114,6 @@ public class WmsLeaveRequestServiceImpl implements IWmsLeaveRequestService { } else if (bo.getEndTime() != null) { lqw.le(WmsLeaveRequest::getStartTime, bo.getEndTime()); } - - lqw.eq(bo.getStartTime() != null, WmsLeaveRequest::getStartTime, bo.getStartTime()); - lqw.eq(bo.getEndTime() != null, WmsLeaveRequest::getEndTime, bo.getEndTime()); lqw.eq(StringUtils.isNotBlank(bo.getLeaveShift()), WmsLeaveRequest::getLeaveShift, bo.getLeaveShift()); lqw.eq(bo.getLeaveDays() != null, WmsLeaveRequest::getLeaveDays, bo.getLeaveDays()); lqw.eq(StringUtils.isNotBlank(bo.getLeaveReason()), WmsLeaveRequest::getLeaveReason, bo.getLeaveReason()); diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsOutRequestServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsOutRequestServiceImpl.java index 88b668a3..1e8f50aa 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsOutRequestServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsOutRequestServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.klp.common.utils.StringUtils; +import com.klp.domain.WmsLeaveRequest; import com.klp.domain.bo.WmsApprovalBo; import com.klp.domain.vo.WmsApprovalVo; import com.klp.service.IWmsApprovalService; @@ -84,8 +85,16 @@ public class WmsOutRequestServiceImpl implements IWmsOutRequestService { lqw.eq(StringUtils.isNotBlank(bo.getOutType()), WmsOutRequest::getOutType, bo.getOutType()); lqw.like(StringUtils.isNotBlank(bo.getApplicantName()), WmsOutRequest::getApplicantName, bo.getApplicantName()); lqw.like(StringUtils.isNotBlank(bo.getApplicantDeptName()), WmsOutRequest::getApplicantDeptName, bo.getApplicantDeptName()); - lqw.eq(bo.getStartTime() != null, WmsOutRequest::getStartTime, bo.getStartTime()); - lqw.eq(bo.getEndTime() != null, WmsOutRequest::getEndTime, bo.getEndTime()); + // 请假时间范围筛选:筛选出请假时间与查询时间范围有交集的记录 + // 条件:(start_time <= endTime AND end_time >= startTime) + if (bo.getStartTime() != null && bo.getEndTime() != null) { + lqw.le(WmsOutRequest::getStartTime, bo.getEndTime()) + .ge(WmsOutRequest::getEndTime, bo.getStartTime()); + } else if (bo.getStartTime() != null) { + lqw.ge(WmsOutRequest::getEndTime, bo.getStartTime()); + } else if (bo.getEndTime() != null) { + lqw.le(WmsOutRequest::getStartTime, bo.getEndTime()); + } lqw.eq(bo.getOutHours() != null, WmsOutRequest::getOutHours, bo.getOutHours()); lqw.eq(StringUtils.isNotBlank(bo.getOutPlace()), WmsOutRequest::getOutPlace, bo.getOutPlace()); lqw.eq(StringUtils.isNotBlank(bo.getOutReason()), WmsOutRequest::getOutReason, bo.getOutReason());