From 54bfeae64b0d4a85b8f3e146b0f261d35c45ddc0 Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期一, 12 五月 2025 18:31:57 +0800 Subject: [PATCH] 分控看板班次信息添加 --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 48 insertions(+), 0 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java index 8612950..f6f781a 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java @@ -8,6 +8,7 @@ import org.jeecg.modules.mdc.entity.*; import org.jeecg.modules.mdc.mapper.MdcDeviceCalendarMapper; import org.jeecg.modules.mdc.service.*; +import org.jeecg.modules.mdc.util.DateUtils; import org.jeecg.modules.mdc.vo.EquipmentCalendarVo; import org.jeecg.modules.mdc.vo.MdcDeviceCalendarQueryVo; import org.jeecg.modules.mdc.vo.MdcDeviceCalendarVo; @@ -18,8 +19,12 @@ import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Collections; +import java.util.Date; import java.util.List; /** @@ -222,4 +227,47 @@ return mdcDeviceCalendarVos; } + @Override + public String findShiftByEquId(String equipmentId) { + String result = ""; + LocalDateTime now = LocalDateTime.now(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); + String date = now.format(formatter); + String format = DateUtils.format(DateUtils.toDate(date, DateUtils.STRDATE), DateUtils.STR_DATE); + List<MdcShiftSub> shiftSubList = this.baseMapper.findShiftByEquId(equipmentId, date); + if (shiftSubList != null && !shiftSubList.isEmpty()) { + for (MdcShiftSub mdcShiftSub : shiftSubList) { + LocalDateTime startDate = DateUtils.toDate(format + " " + mdcShiftSub.getStartDate(), DateUtils.STR_DATE_TIME_SMALL).toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); + LocalDateTime endDate = DateUtils.toDate(format + " " + mdcShiftSub.getEndDate(), DateUtils.STR_DATE_TIME_SMALL).toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); + if ("true".equals(mdcShiftSub.getIsDaySpan())) { + endDate = endDate.plusDays(1); + } + if (now.isAfter(startDate) && now.isBefore(endDate)) { + result = mdcShiftSub.getShiftSubName(); + break; + } + } + } + if (StringUtils.isBlank(result)) { + LocalDateTime yesterday = now.plusDays(-1); + String yes = yesterday.format(formatter); + String previous = DateUtils.format(DateUtils.toDate(yes, DateUtils.STRDATE), DateUtils.STR_DATE); + List<MdcShiftSub> shiftSubs = this.baseMapper.findShiftByEquId(equipmentId, previous); + if (shiftSubs != null && !shiftSubs.isEmpty()) { + for (MdcShiftSub mdcShiftSub : shiftSubs) { + LocalDateTime startDate = DateUtils.toDate(format + " " + mdcShiftSub.getStartDate(), DateUtils.STR_DATE_TIME_SMALL).toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); + LocalDateTime endDate = DateUtils.toDate(format + " " + mdcShiftSub.getEndDate(), DateUtils.STR_DATE_TIME_SMALL).toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); + if ("true".equals(mdcShiftSub.getIsDaySpan())) { + endDate = endDate.plusDays(1); + } + if (now.isAfter(startDate) && now.isBefore(endDate)) { + result = mdcShiftSub.getShiftSubName(); + break; + } + } + } + } + return result; + } + } -- Gitblit v1.9.3