lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcBigScreenEquipmentDto.java
@@ -21,6 +21,8 @@ private Integer equipmentStatus; private String equId; /** * åæ -å·¦ */ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/GenerateDeviceCalendarJob.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,62 @@ package org.jeecg.modules.mdc.job; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.util.DateUtils; import org.jeecg.modules.mdc.service.IMdcDeviceCalendarService; import org.jeecg.modules.mdc.util.ThrowableUtil; import org.jeecg.modules.quartz.entity.QuartzJob; import org.jeecg.modules.quartz.entity.SysQuartzLog; import org.jeecg.modules.quartz.service.IQuartzJobService; import org.jeecg.modules.quartz.service.ISysQuartzLogService; import org.jeecg.modules.system.service.ISysAnnouncementService; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import javax.annotation.Resource; import java.util.Date; import java.util.List; /** * @author Lius * @date 2023/11/6 17:45 */ @Slf4j public class GenerateDeviceCalendarJob implements Job { @Resource private IQuartzJobService quartzJobService; @Resource private ISysQuartzLogService sysQuartzLogService; @Resource private ISysAnnouncementService sysAnnouncementService; @Resource private IMdcDeviceCalendarService mdcDeviceCalendarService; @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { SysQuartzLog quartzLog = new SysQuartzLog(); quartzLog.setCreateTime(new Date()); List<QuartzJob> byJobClassName = this.quartzJobService.findByJobClassName(this.getClass().getName()); if (byJobClassName != null && !byJobClassName.isEmpty()) { quartzLog.setJobId(byJobClassName.get(0).getId()); } log.info("宿¶çæè®¾å¤å·¥ä½æ¥åä»»å¡ GenerateDeviceCalendarJob start! æ¶é´:" + DateUtils.now()); long startTime = System.currentTimeMillis(); try { mdcDeviceCalendarService.generateDeviceCalendar(); quartzLog.setIsSuccess(0); } catch (Exception e) { quartzLog.setIsSuccess(-1); quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e)); // åéæ¶æ¯éç¥ sysAnnouncementService.jobSendMessage("宿¶çæå伿¥ä»»å¡", quartzLog.getExceptionDetail()); } long endTime = System.currentTimeMillis(); quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime))); sysQuartzLogService.save(quartzLog); } } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcWorkshopInfoMapper.xml
@@ -14,7 +14,8 @@ mew.coordinate_left coordinateLeft, mew.coordinate_top coordinateTop, mew.vw vw, mew.vh vh mew.vh vh, me.id equId FROM EquipmentLog a INNER JOIN ( SELECT EquipmentID, MAX ( CollectTime ) 'maxgdtime' FROM EquipmentLog GROUP BY EquipmentID ) b ON a.EquipmentID= b.EquipmentID lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcDeviceCalendarService.java
@@ -66,4 +66,10 @@ * @return */ BigDecimal computeShiftTimeCount(String shiftSubId, String equipmentId, String validDate); /** * çæè®¾å¤å·¥ä½æ¥å */ void generateDeviceCalendar(); } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java
@@ -6,11 +6,14 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang3.StringUtils; import org.jeecg.modules.mdc.entity.MdcDeviceCalendar; import org.jeecg.modules.mdc.entity.MdcEquipment; import org.jeecg.modules.mdc.entity.MdcShiftSub; import org.jeecg.modules.mdc.entity.MdcVacationManagement; import org.jeecg.modules.mdc.mapper.MdcDeviceCalendarMapper; import org.jeecg.modules.mdc.service.IMdcDeviceCalendarService; import org.jeecg.modules.mdc.service.IMdcEquipmentService; import org.jeecg.modules.mdc.service.IMdcShiftSubService; import org.jeecg.modules.mdc.service.IMdcVacationManagementService; import org.jeecg.modules.mdc.vo.EquipmentCalendarVo; import org.jeecg.modules.mdc.vo.MdcDeviceCalendarQueryVo; import org.jeecg.modules.mdc.vo.MdcDeviceCalendarVo; @@ -20,6 +23,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.time.LocalDate; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -37,6 +41,9 @@ private IMdcEquipmentService mdcEquipmentService; @Resource private IMdcShiftSubService mdcShiftSubService; @Resource private IMdcVacationManagementService mdcVacationManagementService; /** * å页å表æ¥è¯¢ @@ -178,4 +185,39 @@ return new BigDecimal(shiftCount).multiply(new BigDecimal("8")).multiply(new BigDecimal("60")); } /** * èªå¨çæè®¾å¤å·¥ä½æ¥å */ @Override public void generateDeviceCalendar() { // æå®æ¯å¤©æä¸11ç¹æ§è¡ //æ¥è¯¢é»è®¤çå¶ List<MdcDeviceCalendarVo> acquiesceShift = this.baseMapper.findAcquiesceShift(); // è·åææ¥æ¥æ String localDate = LocalDate.now().plusDays(1).toString(); // è·å设å¤å表 List<MdcEquipment> equipmentList = mdcEquipmentService.list(); List<MdcDeviceCalendar> result = new ArrayList<>(); for (MdcEquipment mdcEquipment : equipmentList) { List<MdcDeviceCalendar> list = super.list(new LambdaQueryWrapper<MdcDeviceCalendar>().eq(MdcDeviceCalendar::getEquipmentId, mdcEquipment.getEquipmentId()).eq(MdcDeviceCalendar::getEffectiveDate, localDate.replaceAll("-", ""))); if (list == null || list.isEmpty()) { List<MdcVacationManagement> vacationManagementList = mdcVacationManagementService.list(new LambdaQueryWrapper<MdcVacationManagement>().eq(MdcVacationManagement::getEquipmentId, mdcEquipment.getEquipmentId()).eq(MdcVacationManagement::getVacationDate, localDate)); if (vacationManagementList == null || vacationManagementList.isEmpty()) { String effectiveDate = localDate.replaceAll("-", ""); for (MdcDeviceCalendarVo mdcDeviceCalendarVo : acquiesceShift) { MdcDeviceCalendar mdcDeviceCalendar = new MdcDeviceCalendar(); mdcDeviceCalendar.setEquipmentId(mdcEquipment.getEquipmentId()); mdcDeviceCalendar.setEffectiveDate(effectiveDate); mdcDeviceCalendar.setShiftId(mdcDeviceCalendarVo.getShiftId()); mdcDeviceCalendar.setShiftSubId(mdcDeviceCalendarVo.getShiftSubId()); result.add(mdcDeviceCalendar); } } } } if (!result.isEmpty()) { super.saveBatch(result); } } }