From 14bce9dfef9e22982048f72b618488d25a58a3c8 Mon Sep 17 00:00:00 2001 From: 86156 <823267011@qq.com> Date: Tue, 25 Nov 2025 14:01:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E5=92=8C=E5=90=8E?= =?UTF-8?q?=E7=AB=AF=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/Klptcm1ProStoppageServiceImpl.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/klp-pocket/src/main/java/com/klp/pocket/service/impl/Klptcm1ProStoppageServiceImpl.java b/klp-pocket/src/main/java/com/klp/pocket/service/impl/Klptcm1ProStoppageServiceImpl.java index a8d18f46..da1d3a90 100644 --- a/klp-pocket/src/main/java/com/klp/pocket/service/impl/Klptcm1ProStoppageServiceImpl.java +++ b/klp-pocket/src/main/java/com/klp/pocket/service/impl/Klptcm1ProStoppageServiceImpl.java @@ -16,7 +16,12 @@ import com.klp.pocket.domain.Klptcm1ProStoppage; import com.klp.pocket.mapper.Klptcm1ProStoppageMapper; import com.klp.pocket.service.IKlptcm1ProStoppageService; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.ZoneId; import java.util.Collection; +import java.util.Date; import java.util.List; import java.util.Map; @@ -75,8 +80,17 @@ public class Klptcm1ProStoppageServiceImpl implements IKlptcm1ProStoppageService // bo.startDate 是查询开始时间,stoppage.startDate 是停机开始时间 lqw.ge(bo.getStartDate() != null, Klptcm1ProStoppage::getStartDate, bo.getStartDate()); // bo.endDate 是查询结束时间,stoppage.startDate 是停机开始时间 - lqw.le(bo.getEndDate() != null, Klptcm1ProStoppage::getStartDate, bo.getEndDate()); + // 如果结束日期存在,将其设置为当天的最后一刻(23:59:59.999),以覆盖整天的查询 + if (bo.getEndDate() != null) { + Date endDate = bo.getEndDate(); + LocalDate localDate = endDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + LocalDateTime endOfDay = LocalDateTime.of(localDate, LocalTime.MAX); + Date endDateWithTime = Date.from(endOfDay.atZone(ZoneId.systemDefault()).toInstant()); + lqw.le(Klptcm1ProStoppage::getStartDate, endDateWithTime); + } lqw.eq(bo.getDURATION() != null, Klptcm1ProStoppage::getDuration, bo.getDURATION()); + // 只查询持续时间大于等于5分钟(300秒)的停机记录 + lqw.ge(Klptcm1ProStoppage::getDuration, 300); lqw.eq(bo.getInsDate() != null, Klptcm1ProStoppage::getInsDate, bo.getInsDate()); lqw.eq(StringUtils.isNotBlank(bo.getStopType()), Klptcm1ProStoppage::getStopType, bo.getStopType()); //倒序