refactor(leave): 优化请假申请时间字段处理

- 移除多余的 beginTime 和 endTimeParam 字段
- 为 startTime 和 endTime 添加 JsonFormat 和 DateTimeFormat 注解
- 更新服务层时间范围筛选逻辑,使用 startTime 和 endTime 替代旧字段
- 统一时间格式化为 yyyy-MM-dd 格式
- 简化查询条件中的时间比较逻辑
This commit is contained in:
2026-01-19 10:59:59 +08:00
parent b361c8a2dd
commit 926977bc6c
2 changed files with 20 additions and 25 deletions

View File

@@ -8,6 +8,7 @@ import javax.validation.constraints.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
/** /**
* 员工请假申请业务对象 wms_leave_request * 员工请假申请业务对象 wms_leave_request
@@ -48,23 +49,17 @@ public class WmsLeaveRequestBo extends BaseEntity {
/** /**
* 请假开始时间 * 请假开始时间
*/ */
@JsonFormat(pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date startTime; private Date startTime;
/** /**
* 请假结束时间 * 请假结束时间
*/ */
@JsonFormat(pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date endTime; private Date endTime;
/**
* 查询开始时间(用于筛选请假时间范围)
*/
private Date beginTime;
/**
* 查询结束时间(用于筛选请假时间范围)
*/
private Date endTimeParam;
/** /**
* 导出ID列表逗号分隔 * 导出ID列表逗号分隔
*/ */

View File

@@ -86,14 +86,14 @@ public class WmsLeaveRequestServiceImpl implements IWmsLeaveRequestService {
lqw.like(StringUtils.isNotBlank(bo.getApplicantDeptName()), WmsLeaveRequest::getApplicantDeptName, bo.getApplicantDeptName()); lqw.like(StringUtils.isNotBlank(bo.getApplicantDeptName()), WmsLeaveRequest::getApplicantDeptName, bo.getApplicantDeptName());
// 请假时间范围筛选:筛选出请假时间与查询时间范围有交集的记录 // 请假时间范围筛选:筛选出请假时间与查询时间范围有交集的记录
// 条件:(start_time <= endTimeParam AND end_time >= beginTime) // 条件:(start_time <= endTime AND end_time >= startTime)
if (bo.getBeginTime() != null && bo.getEndTimeParam() != null) { if (bo.getStartTime() != null && bo.getEndTime() != null) {
lqw.le(WmsLeaveRequest::getStartTime, bo.getEndTimeParam()) lqw.le(WmsLeaveRequest::getStartTime, bo.getEndTime())
.ge(WmsLeaveRequest::getEndTime, bo.getBeginTime()); .ge(WmsLeaveRequest::getEndTime, bo.getStartTime());
} else if (bo.getBeginTime() != null) { } else if (bo.getStartTime() != null) {
lqw.ge(WmsLeaveRequest::getEndTime, bo.getBeginTime()); lqw.ge(WmsLeaveRequest::getEndTime, bo.getStartTime());
} else if (bo.getEndTimeParam() != null) { } else if (bo.getEndTime() != null) {
lqw.le(WmsLeaveRequest::getStartTime, bo.getEndTimeParam()); lqw.le(WmsLeaveRequest::getStartTime, bo.getEndTime());
} }
lqw.eq(bo.getStartTime() != null, WmsLeaveRequest::getStartTime, bo.getStartTime()); lqw.eq(bo.getStartTime() != null, WmsLeaveRequest::getStartTime, bo.getStartTime());
@@ -222,13 +222,13 @@ public class WmsLeaveRequestServiceImpl implements IWmsLeaveRequestService {
.eq("del_flag", 0); .eq("del_flag", 0);
// 时间范围筛选 // 时间范围筛选
if (bo.getBeginTime() != null && bo.getEndTimeParam() != null) { if (bo.getStartTime() != null && bo.getEndTime() != null) {
qw.le("start_time", bo.getEndTimeParam()) qw.le("start_time", bo.getEndTime())
.ge("end_time", bo.getBeginTime()); .ge("end_time", bo.getStartTime());
} else if (bo.getBeginTime() != null) { } else if (bo.getStartTime() != null) {
qw.ge("end_time", bo.getBeginTime()); qw.ge("end_time", bo.getStartTime());
} else if (bo.getEndTimeParam() != null) { } else if (bo.getEndTime() != null) {
qw.le("start_time", bo.getEndTimeParam()); qw.le("start_time", bo.getEndTime());
} }
// 其他筛选条件 // 其他筛选条件