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/IMdcDeviceCalendarService.java | 5 ++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcDeviceCalendarMapper.xml | 12 ++++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcDeviceCalendarMapper.java | 2 + lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcBoardServiceImpl.java | 18 +++++++-- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java | 48 ++++++++++++++++++++++++ 5 files changed, 81 insertions(+), 4 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcDeviceCalendarMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcDeviceCalendarMapper.java index ba443bd..8442396 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcDeviceCalendarMapper.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcDeviceCalendarMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.jeecg.modules.mdc.entity.MdcDeviceCalendar; +import org.jeecg.modules.mdc.entity.MdcShiftSub; import org.jeecg.modules.mdc.vo.MdcDeviceCalendarQueryVo; import org.jeecg.modules.mdc.vo.MdcDeviceCalendarVo; @@ -33,4 +34,5 @@ List<MdcDeviceCalendarVo> listByEquipmentAndDates(@Param("equipmentId") String equipmentId, @Param("stringDates") List<String> stringDates); + List<MdcShiftSub> findShiftByEquId(@Param("equipmentId") String equipmentId, @Param("date") String date); } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcDeviceCalendarMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcDeviceCalendarMapper.xml index 77de9af..6a94588 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcDeviceCalendarMapper.xml +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcDeviceCalendarMapper.xml @@ -152,4 +152,16 @@ t1.effective_date ASC </select> + <select id="findShiftByEquId" resultType="org.jeecg.modules.mdc.entity.MdcShiftSub"> + SELECT + t3.* + FROM + mdc_device_calendar t1 + LEFT JOIN mdc_shift t2 ON t1.shift_id = t2.id + LEFT JOIN mdc_shift_sub t3 ON t1.shift_sub_id = t3.id + WHERE + t1.equipment_id = #{equipmentId} + AND t1.effective_date = #{date} + </select> + </mapper> \ No newline at end of file diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcDeviceCalendarService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcDeviceCalendarService.java index 7c055ed..ec0682a 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcDeviceCalendarService.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcDeviceCalendarService.java @@ -73,4 +73,9 @@ MdcDeviceCalendar getFirstData(String equipmentId); List<MdcDeviceCalendarVo> listByEquipmentIdAndDate(String equipmentId, String date); + + /** + * 鏍规嵁璁惧id鏌ヨ褰撳墠鐝鍚嶇О + */ + String findShiftByEquId(String equipmentId); } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcBoardServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcBoardServiceImpl.java index 30a4fe8..8550546 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcBoardServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcBoardServiceImpl.java @@ -22,12 +22,14 @@ import org.jeecg.modules.mdcJc.service.IMdcJcRcJobreportService; import org.jeecg.modules.system.entity.MdcProduction; import org.jeecg.modules.system.service.IMdcProductionService; +import org.joda.time.LocalDateTime; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigDecimal; import java.math.RoundingMode; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.stream.Collectors; @@ -68,6 +70,9 @@ @Resource private MdcBoardMapper mdcBoardMapper; + + @Resource + private IMdcDeviceCalendarService mdcDeviceCalendarService; /** * 璁惧鐘舵�� @@ -311,8 +316,8 @@ String realName = commonAPI.translateDictFromTable("sys_user", "realname", "username", mdcBoardEquRealTImeVo.getEquipmentManager()); mdcBoardEquRealTImeVo.setEquipmentManager(realName); mdcBoardEquRealTImeVo.setAlarm("鏃�"); - if (mdcBoardEquRealTImeVo.getOporation() != null) { - switch (mdcBoardEquRealTImeVo.getOporation()) { + if (mdcBoardEquRealTImeVo.getOperation() != null) { + switch (mdcBoardEquRealTImeVo.getOperation()) { case 1: case 2: mdcBoardEquRealTImeVo.setOporationDict("寰呮満"); @@ -334,7 +339,7 @@ } } else { mdcBoardEquRealTImeVo.setOporationDict("鍏虫満"); - mdcBoardEquRealTImeVo.setOporation(0); + mdcBoardEquRealTImeVo.setOperation(0); } //璁惧杩愯鏁版嵁 Map<String, Object> mapData = equipmentWorkLineService.getDataList(mdcBoardEquRealTImeVo.getSaveTableName()); @@ -383,7 +388,12 @@ } else { mdcBoardEquRealTImeVo.setReportRepairStatus("鏃�"); } - // 涓嬫鐐规涓嬫淇濆吇 + // 鐝 + String shift = mdcDeviceCalendarService.findShiftByEquId(equipmentId); + if (StringUtils.isNotBlank(shift)) { + mdcBoardEquRealTImeVo.setShift(shift); + } + // 鐐规 淇濆吇 Date nextInspection = mdcBoardMapper.findInsOrMain(equipmentId, MaintenanceCategoryEnum.POINT_INSPECTION.name()); if (nextInspection != null) { mdcBoardEquRealTImeVo.setNextInspection(nextInspection); 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