From 12b321b0f9145e81e05586b9de7c66a1975266a0 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Sat, 17 Jan 2026 14:40:51 +0800 Subject: [PATCH] =?UTF-8?q?fix(WmsMealReport):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E7=94=A8=E9=A4=90=E6=97=A5=E6=9C=9F=E6=9F=A5=E8=AF=A2=E8=8C=83?= =?UTF-8?q?=E5=9B=B4=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 为reportDate字段添加@JsonFormat和@DateTimeFormat注解以统一日期格式 - 修改查询逻辑将精确日期匹配改为当天时间范围查询 - 实现从当天0:00:00到23:59:59的时间范围过滤 - 引入LocalDateTime和ZoneId进行准确的时间转换处理 --- .../com/klp/domain/bo/WmsMealReportBo.java | 3 +++ .../service/impl/WmsMealReportServiceImpl.java | 18 +++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsMealReportBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsMealReportBo.java index 1fa8b447..7a80aaf3 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsMealReportBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsMealReportBo.java @@ -7,6 +7,7 @@ import javax.validation.constraints.*; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; /** * 部门报餐主业务对象 wms_meal_report @@ -27,6 +28,8 @@ public class WmsMealReportBo extends BaseEntity { /** * 用餐日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") private Date reportDate; /** diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsMealReportServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsMealReportServiceImpl.java index 6ecc2bf4..29ca1a15 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsMealReportServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsMealReportServiceImpl.java @@ -15,6 +15,9 @@ import com.klp.domain.WmsMealReport; import com.klp.mapper.WmsMealReportMapper; import com.klp.service.IWmsMealReportService; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.ZoneId; import java.util.List; import java.util.Map; import java.util.Collection; @@ -63,7 +66,20 @@ public class WmsMealReportServiceImpl implements IWmsMealReportService { private LambdaQueryWrapper buildQueryWrapper(WmsMealReportBo bo) { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.eq(bo.getReportDate() != null, WmsMealReport::getReportDate, bo.getReportDate()); + // 修改日期查询逻辑:查询当天的所有记录(从当天00:00:00到23:59:59) + if (bo.getReportDate() != null) { + LocalDateTime startDate = bo.getReportDate().toInstant() + .atZone(ZoneId.systemDefault()) + .toLocalDateTime() + .with(LocalTime.MIN); // 当天的开始时间 00:00:00 + LocalDateTime endDate = bo.getReportDate().toInstant() + .atZone(ZoneId.systemDefault()) + .toLocalDateTime() + .with(LocalTime.MAX); // 当天的结束时间 23:59:59 + + lqw.between(WmsMealReport::getReportDate, Date.from(startDate.atZone(ZoneId.systemDefault()).toInstant()), + Date.from(endDate.atZone(ZoneId.systemDefault()).toInstant())); + } lqw.eq(bo.getMealType() != null, WmsMealReport::getMealType, bo.getMealType()); lqw.like(StringUtils.isNotBlank(bo.getDeptName()), WmsMealReport::getDeptName, bo.getDeptName()); lqw.eq(bo.getTotalPeople() != null, WmsMealReport::getTotalPeople, bo.getTotalPeople());