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/TechnicalStatusEvaluationGenerateJob.java | 106 ++++++++++++++++++++++++++++++++++------------------- 1 files changed, 68 insertions(+), 38 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnicalStatusEvaluationGenerateJob.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnicalStatusEvaluationGenerateJob.java index a06c8a4..e712bce 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnicalStatusEvaluationGenerateJob.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnicalStatusEvaluationGenerateJob.java @@ -2,11 +2,13 @@ import cn.hutool.core.collection.CollectionUtil; import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.util.DateUtils; import org.jeecg.modules.eam.constant.OrderCreationMethodEnum; import org.jeecg.modules.eam.entity.EamEquipment; import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationStandard; import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationOrderRequest; +import org.jeecg.modules.eam.service.IEamEquipmentExtendService; import org.jeecg.modules.eam.service.IEamEquipmentService; import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationOrderService; import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationStandardService; @@ -21,7 +23,6 @@ import org.quartz.JobExecutionException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import org.springframework.transaction.annotation.Transactional; import java.time.LocalDate; import java.util.Date; @@ -44,41 +45,11 @@ private ISysQuartzLogService sysQuartzLogService; @Autowired private IQuartzJobService quartzJobService; + @Autowired + private IEamEquipmentExtendService equipmentExtendService; @Override - @Transactional(rollbackFor = Exception.class) public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { - //鑾峰彇鎶�鏈姸鎬侀壌瀹氱郴缁熼厤缃弬鏁� - SysParams threeYearOrderPreGenerationDaysParam = paramsService.getSysPramBySettingKey("three_year_order_pre_generation_days"); - if (threeYearOrderPreGenerationDaysParam == null) { - log.error("鏈厤缃�3~4骞存湡鎻愬墠鐢熸垚宸ュ崟鐨勭郴缁熷弬鏁帮紝鏃ユ湡锛歿}", DateUtils.date2Str(DateUtils.date_sdf.get())); - return; - } - int threeYearOrderPreGenerationDays = Integer.parseInt(threeYearOrderPreGenerationDaysParam.getSettingValue()); - SysParams oneYearOrderPreGenerationDaysParam = paramsService.getSysPramBySettingKey("one_year_order_pre_generation_days"); - if (oneYearOrderPreGenerationDaysParam == null) { - log.error("鏈厤缃�1骞存湡鎻愬墠鐢熸垚宸ュ崟鐨勭郴缁熷弬鏁帮紝鏃ユ湡锛歿}", DateUtils.date2Str(DateUtils.date_sdf.get())); - return; - } - int oneYearOrderPreGenerationDays = Integer.parseInt(oneYearOrderPreGenerationDaysParam.getSettingValue()); - SysParams threeYearOrderPreLockDaysParam = paramsService.getSysPramBySettingKey("three_year_order_pre_lock_days"); - if (threeYearOrderPreLockDaysParam == null) { - log.error("鏈厤缃�3~4骞存湡鎻愬墠閿佸畾宸ュ崟鐨勭郴缁熷弬鏁帮紝鏃ユ湡锛歿}", DateUtils.date2Str(DateUtils.date_sdf.get())); - return; - } - int threeYearOrderPreLockDays = Integer.parseInt(threeYearOrderPreLockDaysParam.getSettingValue()); - SysParams oneYearOrderPreLockDaysParam = paramsService.getSysPramBySettingKey("one_year_order_pre_lock_days"); - if (oneYearOrderPreLockDaysParam == null) { - log.error("鏈厤缃�1骞存湡鎻愬墠閿佸畾宸ュ崟鐨勭郴缁熷弬鏁帮紝鏃ユ湡锛歿}", DateUtils.date2Str(DateUtils.date_sdf.get())); - return; - } - int oneYearOrderPreLockDays = Integer.parseInt(oneYearOrderPreLockDaysParam.getSettingValue()); - //鑾峰彇璁惧鍒楄〃 - List<EamEquipment> equipmentList = equipmentService.selectTechnicalEquipmentList(); - if (CollectionUtil.isEmpty(equipmentList)) { - log.warn("娌℃湁闇�瑕佺敓鎴愭妧鏈姸鎬侀壌瀹氬伐鍗曞緱璁惧锛佹棩鏈燂細{}", DateUtils.date2Str(DateUtils.date_sdf.get())); - return; - } //浠诲姟鏃ュ織 SysQuartzLog quartzLog = new SysQuartzLog(); quartzLog.setCreateTime(new Date()); @@ -87,6 +58,63 @@ quartzLog.setJobId(jobClassName.get(0).getId()); } long startTime = System.currentTimeMillis(); + //鑾峰彇鎶�鏈姸鎬侀壌瀹氱郴缁熼厤缃弬鏁� + SysParams threeYearOrderPreGenerationDaysParam = paramsService.getSysPramBySettingKey("three_year_order_pre_generation_days"); + if (threeYearOrderPreGenerationDaysParam == null) { + log.error("鏈厤缃�3~4骞存湡鎻愬墠鐢熸垚宸ュ崟鐨勭郴缁熷弬鏁帮紝鏃ユ湡锛歿}", DateUtils.date2Str(DateUtils.date_sdf.get())); + quartzLog.setIsSuccess(-1); + long endTime = System.currentTimeMillis(); + quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime))); + quartzLog.setExceptionDetail("鏈厤缃�3~4骞存湡鎻愬墠鐢熸垚宸ュ崟鐨勭郴缁熷弬鏁帮紝鏃ユ湡锛�" + DateUtils.date2Str(DateUtils.date_sdf.get())); + sysQuartzLogService.save(quartzLog); + return; + } + int threeYearOrderPreGenerationDays = Integer.parseInt(threeYearOrderPreGenerationDaysParam.getSettingValue()); + SysParams oneYearOrderPreGenerationDaysParam = paramsService.getSysPramBySettingKey("one_year_order_pre_generation_days"); + if (oneYearOrderPreGenerationDaysParam == null) { + log.error("鏈厤缃�1骞存湡鎻愬墠鐢熸垚宸ュ崟鐨勭郴缁熷弬鏁帮紝鏃ユ湡锛歿}", DateUtils.date2Str(DateUtils.date_sdf.get())); + quartzLog.setIsSuccess(-1); + long endTime = System.currentTimeMillis(); + quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime))); + quartzLog.setExceptionDetail("鏈厤缃�1骞存湡鎻愬墠鐢熸垚宸ュ崟鐨勭郴缁熷弬鏁帮紝鏃ユ湡锛�" + DateUtils.date2Str(DateUtils.date_sdf.get())); + sysQuartzLogService.save(quartzLog); + return; + } + int oneYearOrderPreGenerationDays = Integer.parseInt(oneYearOrderPreGenerationDaysParam.getSettingValue()); + SysParams threeYearOrderPreLockDaysParam = paramsService.getSysPramBySettingKey("three_year_order_pre_lock_days"); + if (threeYearOrderPreLockDaysParam == null) { + log.error("鏈厤缃�3~4骞存湡鎻愬墠閿佸畾宸ュ崟鐨勭郴缁熷弬鏁帮紝鏃ユ湡锛歿}", DateUtils.date2Str(DateUtils.date_sdf.get())); + quartzLog.setIsSuccess(-1); + long endTime = System.currentTimeMillis(); + quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime))); + quartzLog.setExceptionDetail("鏈厤缃�3~4骞存湡鎻愬墠閿佸畾宸ュ崟鐨勭郴缁熷弬鏁帮紝鏃ユ湡锛�" + DateUtils.date2Str(DateUtils.date_sdf.get())); + sysQuartzLogService.save(quartzLog); + return; + } + int threeYearOrderPreLockDays = Integer.parseInt(threeYearOrderPreLockDaysParam.getSettingValue()); + SysParams oneYearOrderPreLockDaysParam = paramsService.getSysPramBySettingKey("one_year_order_pre_lock_days"); + if (oneYearOrderPreLockDaysParam == null) { + log.error("鏈厤缃�1骞存湡鎻愬墠閿佸畾宸ュ崟鐨勭郴缁熷弬鏁帮紝鏃ユ湡锛歿}", DateUtils.date2Str(DateUtils.date_sdf.get())); + quartzLog.setIsSuccess(-1); + long endTime = System.currentTimeMillis(); + quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime))); + quartzLog.setExceptionDetail("鏈厤缃�1骞存湡鎻愬墠閿佸畾宸ュ崟鐨勭郴缁熷弬鏁帮紝鏃ユ湡锛�" + DateUtils.date2Str(DateUtils.date_sdf.get())); + sysQuartzLogService.save(quartzLog); + return; + } + int oneYearOrderPreLockDays = Integer.parseInt(oneYearOrderPreLockDaysParam.getSettingValue()); + //鑾峰彇璁惧鍒楄〃 + List<EamEquipment> equipmentList = equipmentService.selectTechnicalEquipmentList(); + if (CollectionUtil.isEmpty(equipmentList)) { + log.warn("娌℃湁闇�瑕佺敓鎴愭妧鏈姸鎬侀壌瀹氬伐鍗曞緱璁惧锛佹棩鏈燂細{}", DateUtils.date2Str(DateUtils.date_sdf.get())); + quartzLog.setIsSuccess(-1); + long endTime = System.currentTimeMillis(); + quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime))); + quartzLog.setExceptionDetail("娌℃湁闇�瑕佺敓鎴愭妧鏈姸鎬侀壌瀹氬伐鍗曞緱璁惧锛屾棩鏈燂細" + DateUtils.date2Str(DateUtils.date_sdf.get())); + sysQuartzLogService.save(quartzLog); + return; + } + AtomicInteger successCount = new AtomicInteger(0); AtomicInteger failCount = new AtomicInteger(0); StringBuilder sb = new StringBuilder(); @@ -101,7 +129,7 @@ } } quartzLog.setIsSuccess(0); - if(failCount.get() > 0) { + if (failCount.get() > 0) { quartzLog.setIsSuccess(-1); } sb.append("鎶�鏈姸鎬侀壌瀹氬伐鍗曠敓鎴愶細銆愭垚鍔燂細").append(successCount.get()).append("锛屽け璐ワ細").append(failCount.get()).append("銆�"); @@ -115,10 +143,10 @@ LocalDate nextTechnologyCheckDate = DateUtils.dateToLocalDate(equipment.getNextTechnologyCheck()); LocalDate generateDate = nextTechnologyCheckDate.minusDays(orderPreGenerationDays); LocalDate lockDate = nextTechnologyCheckDate.minusDays(orderPreLockDays); - if (LocalDate.now().equals(generateDate)) { + if (!LocalDate.now().isBefore(generateDate) && !CommonConstant.STATUS_1.equals(equipment.getTechnologyGenerateFlag())) { //璁$畻褰撳ぉ闇�瑕佺敓鎴� EamTechnicalStatusEvaluationStandard standard = evaluationStandardService.queryEnableStandard(equipment.getId()); - if(standard == null) { + if (standard == null) { log.warn("璁惧锛歿}锛屾湭閰嶇疆鎶�鏈姸鎬侀壌瀹氳鑼冿紝鏃犳硶鐢熸垚鎶�鏈壌瀹氬伐鍗曪紒鏃ユ湡锛歿}", equipment.getEquipmentCode(), DateUtils.date2Str(DateUtils.date_sdf.get())); failCount.incrementAndGet(); sb.append("璁惧锛�").append(equipment.getEquipmentCode()).append("锛屾湭閰嶇疆鎶�鏈姸鎬侀壌瀹氳鑼冿紝鏃犳硶鐢熸垚鎶�鏈壌瀹氬伐鍗曪紒"); @@ -134,10 +162,12 @@ try { evaluationOrderService.addTechnicalStatusEvaluationOrder(request); successCount.incrementAndGet(); + //鏇存柊鎵╁睍琛ㄤ腑鐨勭敓鎴愭爣璇� + equipmentExtendService.updateTechnologyParam(equipment.getId(), null, null, CommonConstant.STATUS_1); } catch (Exception e) { - log.error("鐢熸垚鎶�鏈姸鎬侀壌瀹氬伐鍗曞け璐ワ紝鍘熷洜锛歿}", e.getMessage(), e); + log.error("璁惧锛歿}锛岀敓鎴愭妧鏈姸鎬侀壌瀹氬伐鍗曞け璐ワ紝鍘熷洜锛歿}", equipment.getEquipmentCode(), e.getMessage(), e); failCount.incrementAndGet(); - sb.append("鐢熸垚鎶�鏈姸鎬侀壌瀹氬伐鍗曞け璐ワ紝鍘熷洜锛�").append(e.getMessage()).append("锛�"); + sb.append("璁惧锛�").append(equipment.getEquipmentCode()).append("锛岀敓鎴愭妧鏈姸鎬侀壌瀹氬伐鍗曞け璐ワ紝鍘熷洜锛�").append(e.getMessage()).append("锛�"); } } } -- Gitblit v1.9.3