From d59198dda60c6009b801930acd67faad89d128d9 Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期四, 31 七月 2025 09:21:58 +0800 Subject: [PATCH] 三保工单定时任务 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenanceOrderExpiredJob.java | 77 ++++++++++++++++---------------------- 1 files changed, 32 insertions(+), 45 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenanceOrderExpiredJob.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenanceOrderExpiredJob.java index ca32b0f..f19168d 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenanceOrderExpiredJob.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenanceOrderExpiredJob.java @@ -2,17 +2,12 @@ import cn.hutool.core.collection.CollectionUtil; import lombok.extern.slf4j.Slf4j; -import org.jeecg.modules.eam.constant.SecondMaintenanceStatusEnum; +import org.jeecg.common.util.DateUtils; import org.jeecg.modules.eam.constant.ThirdMaintenanceStatusEnum; -import org.jeecg.modules.eam.constant.WeekMaintenanceStatusEnum; -import org.jeecg.modules.eam.entity.EamSecondMaintenanceOrder; +import org.jeecg.modules.eam.entity.EamEquipmentExtend; import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrder; -import org.jeecg.modules.eam.service.IEamSecondMaintenanceOrderService; +import org.jeecg.modules.eam.service.IEamEquipmentExtendService; import org.jeecg.modules.eam.service.IEamThirdMaintenanceOrderService; -import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness; -import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService; -import org.jeecg.modules.flowable.service.IFlowTaskService; -import org.jeecg.common.util.ThrowableUtil; import org.jeecg.modules.quartz.entity.QuartzJob; import org.jeecg.modules.quartz.entity.SysQuartzLog; import org.jeecg.modules.quartz.service.IQuartzJobService; @@ -24,25 +19,26 @@ import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.time.LocalDate; import java.util.Date; import java.util.List; +/** + * @Author: Lius + * @CreateTime: 2025-07-29 + * @Description: 涓変繚宸ュ崟杩囨湡 + */ @Component @Slf4j public class ThirdMaintenanceOrderExpiredJob implements Job { @Autowired private IEamThirdMaintenanceOrderService eamThirdMaintenanceOrderService; - - @Autowired - private IFlowMyBusinessService flowMyBusinessService; - @Autowired - private IFlowTaskService flowTaskService; @Autowired private ISysQuartzLogService sysQuartzLogService; @Autowired private IQuartzJobService quartzJobService; + @Autowired + private IEamEquipmentExtendService equipmentExtendService; @Override @Transactional(rollbackFor = Exception.class) @@ -55,41 +51,32 @@ quartzLog.setJobId(byJobClassName.get(0).getId()); } long startTime = System.currentTimeMillis(); - LocalDate now = LocalDate.now(); - try { - - List<EamThirdMaintenanceOrder> unCompleteOrderList = eamThirdMaintenanceOrderService.lambdaQuery() - .lt(EamThirdMaintenanceOrder::getMaintenanceDate, now.toString()) - .in(EamThirdMaintenanceOrder::getMaintenanceStatus, ThirdMaintenanceStatusEnum.WAIT_MAINTENANCE, ThirdMaintenanceStatusEnum.UNDER_MAINTENANCE) - .orderByDesc(EamThirdMaintenanceOrder::getMaintenanceDate) - .list(); - - if (CollectionUtil.isEmpty(unCompleteOrderList)) { - //娌℃湁闇�瑕佸鐞嗙殑鏁版嵁 - return; - } - for (EamThirdMaintenanceOrder order : unCompleteOrderList) { - if (ThirdMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(order.getMaintenanceStatus())) { - order.setMaintenanceStatus(ThirdMaintenanceStatusEnum.ABOLISH.name()); - } else if (ThirdMaintenanceStatusEnum.UNDER_MAINTENANCE.name().equals(order.getMaintenanceStatus())) { - //宸茬粡琚帴鍗� 浣嗘湭鎵ц瀹屾垚 - order.setMaintenanceStatus(ThirdMaintenanceStatusEnum.ABOLISH.name()); - //寮哄埗缁撴潫娴佺▼ 鍒犻櫎鐢ㄦ埛鐨勬寰呭姙浠诲姟 - FlowMyBusiness flowMyBusiness = flowMyBusinessService.selectByDataId(order.getId()); - if (flowMyBusiness != null) { - flowTaskService.end(flowMyBusiness.getProcessInstanceId(), "杩囨湡鍒犻櫎"); - } - } - } - eamThirdMaintenanceOrderService.updateBatchById(unCompleteOrderList); + List<EamThirdMaintenanceOrder> list = eamThirdMaintenanceOrderService.selectUnCompletedThirdMaintenanceOrderList(); + if (CollectionUtil.isEmpty(list)) { + log.info("娌℃湁闇�瑕佽繃鏈熺殑宸ュ崟锛佹棩鏈燂細{}", DateUtils.date2Str(DateUtils.date_sdf.get())); quartzLog.setIsSuccess(0); - } catch (Exception e) { - log.error("涓変繚杩囨湡鎵ц瀹氭椂浠诲姟澶辫触锛寋}", e.getMessage(), e); - quartzLog.setIsSuccess(-1); - quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e)); + long endTime = System.currentTimeMillis(); + quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime))); + quartzLog.setExceptionDetail("娌℃湁闇�瑕佽繃鏈熺殑宸ュ崟锛屾棩鏈燂細" + DateUtils.date2Str(DateUtils.date_sdf.get())); + sysQuartzLogService.save(quartzLog); + return; } + int expiredCount = 0; + for (EamThirdMaintenanceOrder order : list) { + EamEquipmentExtend extend = equipmentExtendService.getById(order.getEquipmentId()); + if (extend == null) { + log.error("璁惧淇℃伅涓嶅瓨鍦紝璇锋鏌ワ紒 璁惧ID锛歿}, 鏃ユ湡锛歿}", order.getEquipmentId(), DateUtils.date2Str(DateUtils.date_sdf.get())); + continue; + } + if (ThirdMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(order.getMaintenanceStatus()) || ThirdMaintenanceStatusEnum.FREEZE.name().equals(order.getMaintenanceStatus())) { + order.setMaintenanceStatus(ThirdMaintenanceStatusEnum.EXPIRED.name()); + eamThirdMaintenanceOrderService.updateById(order); + } + } + quartzLog.setIsSuccess(0); long endTime = System.currentTimeMillis(); quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime))); + quartzLog.setExceptionDetail("杩囨湡浜唟" + expiredCount + "}涓伐鍗曪紝杩樻湁{" + (list.size() - expiredCount) + "}涓伐鍗曟鍦ㄦ墽琛屼腑锛岀鐢ㄤ簡{" + list.size() + "}鍙拌澶�, 鏃ユ湡锛�" + DateUtils.date2Str(DateUtils.date_sdf.get())); sysQuartzLogService.save(quartzLog); } -- Gitblit v1.9.3