fix(wms): 修复请假和用餐报表查询的时间范围筛选逻辑

- 修正了请假申请查询中的时间范围条件,确保正确筛选时间段重叠的记录
- 更新了请假类型统计报表的时间筛选逻辑,修复开始时间和结束时间的比较条件
- 修复了请假部门统计报表的时间范围查询条件
- 修正了请假月度统计报表的时间筛选逻辑
- 修复了按申请人分组的请假统计报表时间范围筛选功能
- 在用餐报表查询中添加了开始时间和结束时间字段用于时间范围筛选
- 更新了用餐报表服务实现类中的时间范围查询逻辑,替换原有的单日期查询条件
This commit is contained in:
2026-01-21 15:11:21 +08:00
parent 7a4846e23a
commit 2105af31d8
3 changed files with 54 additions and 46 deletions

View File

@@ -77,4 +77,12 @@ public class WmsMealReportBo extends BaseEntity {
private String dineInPeopleList; private String dineInPeopleList;
// 打包人名单 // 打包人名单
private String takeoutPeopleList; private String takeoutPeopleList;
@JsonFormat(pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date startTime;
@JsonFormat(pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date endTime;
} }

View File

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

View File

@@ -177,8 +177,8 @@ public class WmsMealReportServiceImpl implements IWmsMealReportService {
"SUM(takeout_people) as total_takeout", "SUM(takeout_people) as total_takeout",
"COUNT(*) as report_count") "COUNT(*) as report_count")
.eq(StringUtils.isNotBlank(bo.getDeptName()), "dept_name", bo.getDeptName()) .eq(StringUtils.isNotBlank(bo.getDeptName()), "dept_name", bo.getDeptName())
.ge(bo.getReportDate() != null, "report_date", bo.getReportDate()) .ge(bo.getStartTime() != null, "report_date", bo.getStartTime())
.le(bo.getReportDate() != null, "report_date", bo.getReportDate()) .le(bo.getEndTime() != null, "report_date", bo.getEndTime())
.eq("del_flag", 0) .eq("del_flag", 0)
.eq(bo.getStatus() != null, "status", bo.getStatus()) .eq(bo.getStatus() != null, "status", bo.getStatus())
.groupBy("meal_type") .groupBy("meal_type")
@@ -199,8 +199,8 @@ public class WmsMealReportServiceImpl implements IWmsMealReportService {
"COUNT(*) as report_count", "COUNT(*) as report_count",
"AVG(total_people) as avg_people") "AVG(total_people) as avg_people")
.eq(bo.getMealType() != null, "meal_type", bo.getMealType()) .eq(bo.getMealType() != null, "meal_type", bo.getMealType())
.ge(bo.getReportDate() != null, "report_date", bo.getReportDate()) .ge(bo.getStartTime() != null, "report_date", bo.getStartTime())
.le(bo.getReportDate() != null, "report_date", bo.getReportDate()) .le(bo.getEndTime() != null, "report_date", bo.getEndTime())
.eq("del_flag", 0) .eq("del_flag", 0)
.eq(bo.getStatus() != null, "status", bo.getStatus()) .eq(bo.getStatus() != null, "status", bo.getStatus())
.groupBy("dept_name") .groupBy("dept_name")
@@ -221,8 +221,8 @@ public class WmsMealReportServiceImpl implements IWmsMealReportService {
"COUNT(*) as report_count") "COUNT(*) as report_count")
.eq(StringUtils.isNotBlank(bo.getDeptName()), "dept_name", bo.getDeptName()) .eq(StringUtils.isNotBlank(bo.getDeptName()), "dept_name", bo.getDeptName())
.eq(bo.getMealType() != null, "meal_type", bo.getMealType()) .eq(bo.getMealType() != null, "meal_type", bo.getMealType())
.ge(bo.getReportDate() != null, "report_date", bo.getReportDate()) .ge(bo.getStartTime() != null, "report_date", bo.getStartTime())
.le(bo.getReportDate() != null, "report_date", bo.getReportDate()) .le(bo.getEndTime() != null, "report_date", bo.getEndTime())
.eq("del_flag", 0) .eq("del_flag", 0)
.eq(bo.getStatus() != null, "status", bo.getStatus()) .eq(bo.getStatus() != null, "status", bo.getStatus())
.groupBy("report_date") .groupBy("report_date")