fix(wms): 修复请假申请查询的时间范围条件逻辑

- 修正了按部门统计请假天数时的时间范围查询条件
- 修正了按请假类型统计时的时间范围查询条件
- 修正了按月份统计请假数据时的时间范围查询条件
- 将开始时间与结束时间的比较条件进行了正确的逻辑调整
- 确保时间范围查询能够正确匹配跨时间段的请假记录
This commit is contained in:
2026-01-21 15:19:05 +08:00
parent 2105af31d8
commit fed40559b1

View File

@@ -172,8 +172,8 @@ public class WmsLeaveRequestServiceImpl implements IWmsLeaveRequestService {
"COUNT(*) as count",
"SUM(leave_days) as total_days")
.eq(bo.getApplicantDeptName() != null, "applicant_dept_name", bo.getApplicantDeptName())
.le(bo.getStartTime() != null, "start_time", bo.getEndTime()) // 开始时间 <= 查询结束时间
.ge(bo.getEndTime() != null, "end_time", bo.getStartTime()) // 结束时间 >= 查询开始时间
.ge(bo.getStartTime() != null, "end_time", bo.getStartTime()) // 请假结束时间 >= 查询开始时间
.le(bo.getEndTime() != null, "start_time", bo.getEndTime()) // 请假开始时间 <= 查询结束时间
.eq("del_flag", 0)
.groupBy("leave_type")
.orderByDesc("total_days");
@@ -191,8 +191,8 @@ public class WmsLeaveRequestServiceImpl implements IWmsLeaveRequestService {
"SUM(leave_days) as total_days")
.isNotNull("applicant_dept_name")
.eq(StringUtils.isNotBlank(bo.getLeaveType()), "leave_type", bo.getLeaveType())
.le(bo.getStartTime() != null, "start_time", bo.getEndTime()) // 开始时间 <= 查询结束时间
.ge(bo.getEndTime() != null, "end_time", bo.getStartTime()) // 结束时间 >= 查询开始时间
.ge(bo.getStartTime() != null, "end_time", bo.getStartTime()) // 请假结束时间 >= 查询开始时间
.le(bo.getEndTime() != null, "start_time", bo.getEndTime()) // 请假开始时间 <= 查询结束时间
.eq("del_flag", 0)
.groupBy("applicant_dept_name")
.orderByDesc("total_days");
@@ -208,8 +208,8 @@ public class WmsLeaveRequestServiceImpl implements IWmsLeaveRequestService {
qw.select("DATE_FORMAT(start_time, '%Y-%m') as month",
"COUNT(*) as count",
"SUM(leave_days) as total_days")
.le(bo.getStartTime() != null, "start_time", bo.getEndTime()) // 开始时间 <= 查询结束时间
.ge(bo.getEndTime() != null, "end_time", bo.getStartTime()) // 结束时间 >= 查询开始时间
.ge(bo.getStartTime() != null, "end_time", bo.getStartTime()) // 请假结束时间 >= 查询开始时间
.le(bo.getEndTime() != null, "start_time", bo.getEndTime()) // 请假开始时间 <= 查询结束时间
.eq(StringUtils.isNotBlank(bo.getLeaveType()), "leave_type", bo.getLeaveType())
.eq(bo.getApplicantDeptName() != null, "applicant_dept_name", bo.getApplicantDeptName())
.eq("del_flag", 0)