fix(query): 修复请假和外出申请的时间范围查询逻辑
- 移除WmsLeaveRequestServiceImpl中重复的时间条件查询 - 为WmsOutRequestServiceImpl添加正确的日期范围交集查询逻辑 - 实现(start_time <= endTime AND end_time >= startTime)的时间范围匹配条件 - 添加单侧时间条件查询支持(仅开始时间或结束时间) - 导入WmsLeaveRequest类到WmsOutRequestServiceImpl中
This commit is contained in:
@@ -114,9 +114,6 @@ public class WmsLeaveRequestServiceImpl implements IWmsLeaveRequestService {
|
|||||||
} else if (bo.getEndTime() != null) {
|
} else if (bo.getEndTime() != null) {
|
||||||
lqw.le(WmsLeaveRequest::getStartTime, bo.getEndTime());
|
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(StringUtils.isNotBlank(bo.getLeaveShift()), WmsLeaveRequest::getLeaveShift, bo.getLeaveShift());
|
||||||
lqw.eq(bo.getLeaveDays() != null, WmsLeaveRequest::getLeaveDays, bo.getLeaveDays());
|
lqw.eq(bo.getLeaveDays() != null, WmsLeaveRequest::getLeaveDays, bo.getLeaveDays());
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getLeaveReason()), WmsLeaveRequest::getLeaveReason, bo.getLeaveReason());
|
lqw.eq(StringUtils.isNotBlank(bo.getLeaveReason()), WmsLeaveRequest::getLeaveReason, bo.getLeaveReason());
|
||||||
|
|||||||
@@ -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.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.klp.common.utils.StringUtils;
|
import com.klp.common.utils.StringUtils;
|
||||||
|
import com.klp.domain.WmsLeaveRequest;
|
||||||
import com.klp.domain.bo.WmsApprovalBo;
|
import com.klp.domain.bo.WmsApprovalBo;
|
||||||
import com.klp.domain.vo.WmsApprovalVo;
|
import com.klp.domain.vo.WmsApprovalVo;
|
||||||
import com.klp.service.IWmsApprovalService;
|
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.eq(StringUtils.isNotBlank(bo.getOutType()), WmsOutRequest::getOutType, bo.getOutType());
|
||||||
lqw.like(StringUtils.isNotBlank(bo.getApplicantName()), WmsOutRequest::getApplicantName, bo.getApplicantName());
|
lqw.like(StringUtils.isNotBlank(bo.getApplicantName()), WmsOutRequest::getApplicantName, bo.getApplicantName());
|
||||||
lqw.like(StringUtils.isNotBlank(bo.getApplicantDeptName()), WmsOutRequest::getApplicantDeptName, bo.getApplicantDeptName());
|
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(bo.getOutHours() != null, WmsOutRequest::getOutHours, bo.getOutHours());
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getOutPlace()), WmsOutRequest::getOutPlace, bo.getOutPlace());
|
lqw.eq(StringUtils.isNotBlank(bo.getOutPlace()), WmsOutRequest::getOutPlace, bo.getOutPlace());
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getOutReason()), WmsOutRequest::getOutReason, bo.getOutReason());
|
lqw.eq(StringUtils.isNotBlank(bo.getOutReason()), WmsOutRequest::getOutReason, bo.getOutReason());
|
||||||
|
|||||||
Reference in New Issue
Block a user