From 8904f9e6005e7e1f3cc06f415fdcde0033c32332 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期一, 21 七月 2025 20:33:53 +0800 Subject: [PATCH] art: 技术状态鉴定工单-生成逻辑优化 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnicalStatusEvaluationExpiredJob.java | 78 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 77 insertions(+), 1 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnicalStatusEvaluationExpiredJob.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnicalStatusEvaluationExpiredJob.java index a59bd65..dffc190 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnicalStatusEvaluationExpiredJob.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnicalStatusEvaluationExpiredJob.java @@ -1,4 +1,80 @@ package org.jeecg.modules.eam.job; -public class TechnicalStatusEvaluationExpiredJob { +import cn.hutool.core.collection.CollectionUtil; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.util.DateUtils; +import org.jeecg.modules.eam.constant.TechnicalStatusEvaluationOrderStatusEnum; +import org.jeecg.modules.eam.constant.TechnologyStatusEnum; +import org.jeecg.modules.eam.entity.EamEquipmentExtend; +import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationOrder; +import org.jeecg.modules.eam.service.IEamEquipmentExtendService; +import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationOrderService; +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.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; + +@Component +@Slf4j +public class TechnicalStatusEvaluationExpiredJob implements Job { + @Autowired + private IEamTechnicalStatusEvaluationOrderService evaluationOrderService; + @Autowired + private IEamEquipmentExtendService equipmentExtendService; + @Autowired + private ISysQuartzLogService sysQuartzLogService; + @Autowired + private IQuartzJobService quartzJobService; + + @Override + @Transactional(rollbackFor = Exception.class) + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + //浠诲姟鏃ュ織 + SysQuartzLog quartzLog = new SysQuartzLog(); + quartzLog.setCreateTime(new Date()); + List<QuartzJob> jobClassName = quartzJobService.findByJobClassName(this.getClass().getName()); + if (jobClassName != null && !jobClassName.isEmpty()) { + quartzLog.setJobId(jobClassName.get(0).getId()); + } + long startTime = System.currentTimeMillis(); + List<EamTechnicalStatusEvaluationOrder> list = evaluationOrderService.selectUncompletedEvaluationOrderList(); + if (CollectionUtil.isEmpty(list)) { + log.info("娌℃湁闇�瑕佽繃鏈熺殑宸ュ崟锛佹棩鏈燂細{}", DateUtils.date2Str(DateUtils.date_sdf.get())); + quartzLog.setIsSuccess(0); + 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 (EamTechnicalStatusEvaluationOrder order : list) { + EamEquipmentExtend extend = equipmentExtendService.getById(order.getEquipmentId()); + if (extend == null) { + log.error("璁惧淇℃伅涓嶅瓨鍦紝璇锋鏌ワ紒 璁惧ID锛歿}, 鏃ユ湡锛歿}", order.getEquipmentId(), DateUtils.date2Str(DateUtils.date_sdf.get())); + continue; + } + if (TechnicalStatusEvaluationOrderStatusEnum.WAIT_EVALUATION.name().equals(order.getEvaluationStatus()) || TechnicalStatusEvaluationOrderStatusEnum.LOCKED.name().equals(order.getEvaluationStatus())) { + order.setEvaluationStatus(TechnicalStatusEvaluationOrderStatusEnum.EXPIRED.name()); + evaluationOrderService.updateById(order); + expiredCount++; + } + extend.setTechnologyStatus(TechnologyStatusEnum.PROHIBITED.name()); + equipmentExtendService.updateById(extend); + } + 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