From dd5f82bb38e40af080569923e1e93576a79d15a4 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期五, 05 九月 2025 16:52:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/WeekMaintenanceOrderGenerateJob.java | 91 +++++++++++++++++++++------------------------ 1 files changed, 43 insertions(+), 48 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/WeekMaintenanceOrderGenerateJob.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/WeekMaintenanceOrderGenerateJob.java index 61e3a92..bd7c9ff 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/WeekMaintenanceOrderGenerateJob.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/WeekMaintenanceOrderGenerateJob.java @@ -13,7 +13,6 @@ import org.jeecg.modules.eam.service.IEamMaintenanceStandardDetailService; import org.jeecg.modules.eam.service.IEamMaintenanceStandardService; import org.jeecg.modules.eam.service.IEamWeekMaintenanceOrderService; -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; @@ -24,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; @@ -54,7 +52,6 @@ * @throws JobExecutionException */ @Override - @Transactional(rollbackFor = Exception.class) public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { //浠诲姟鏃ュ織 SysQuartzLog quartzLog = new SysQuartzLog(); @@ -74,53 +71,51 @@ } //褰撳墠鏃ユ湡 LocalDate now = LocalDate.now(); - try { - for (EamMaintenanceStandard standard : standardList) { - if (standard.getMaintenancePeriod() == null || standard.getMaintenancePeriod() < 1) { - log.error("鍛ㄤ繚鏍囧噯鍛ㄦ湡璁剧疆閿欒锛岃鍏堥厤缃爣鍑嗗懆鏈�, standard:{}", standard); - continue; - } - if (standard.getInitialDate() == null) { - //璁剧疆鍒濆鏃ユ湡涓哄墠涓�澶� - standard.setInitialDate(DateUtils.localDateToDate(now.minusDays(1))); - } - LocalDate generateDate = DateUtils.dateToLocalDate(standard.getInitialDate()); - if (standard.getLastGenerateTime() != null) { - generateDate = DateUtils.dateToLocalDate(standard.getLastGenerateTime()); - } - //鍔犲懆鏈� - do { - //鍒濆鏃ユ湡璁剧疆鐨勬瘮杈冩棭锛屾垨浠诲姟闀挎椂闂存病鎵ц锛屽繀椤诲懆鏈熷埌浠婂ぉ鎵嶄細鐢熸垚宸ュ崟 - generateDate = generateDate.plusDays(standard.getMaintenancePeriod()); - } while (now.isAfter(generateDate)); - if(!now.isEqual(generateDate)) { - //杩樻湭鍒扮敓鎴愭棩鏈燂紝璺宠繃鎵ц - continue; - } - //鑾峰彇淇濆吇椤规槑缁� - List<EamMaintenanceStandardDetail> standardDetailList = eamMaintenanceStandardDetailService.selectByStandardId(standard.getId()); - if(CollectionUtil.isEmpty(standardDetailList)) { - log.error("鍛ㄤ繚鏍囧噯娌℃湁淇濆吇鏄庣粏锛岃鍏堥厤缃繚鍏绘槑缁�, standard:{}", standard); - continue; - } - //寮�濮嬬敓鎴� - EamWeekMaintenanceRequest request = new EamWeekMaintenanceRequest(); - request.setEquipmentId(standard.getEquipmentId()); - request.setStandardId(standard.getId()); - request.setMaintenanceDate(DateUtils.localDateToDate(generateDate)); - String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.WEEK_MAINTENANCE_CODE_RULE); - request.setOrderNum(codeSeq); - request.setCreationMethod(OrderCreationMethodEnum.AUTO.name()); - List<EamWeekMaintenanceOrderDetail> collect = standardDetailList.stream().map(EamWeekMaintenanceOrderDetail::new).collect(Collectors.toList()); - request.setTableDetailList(collect); - eamWeekMaintenanceOrderService.addWeekMaintenance(request); + for (EamMaintenanceStandard standard : standardList) { + if (standard.getMaintenancePeriod() == null || standard.getMaintenancePeriod() < 1) { + log.error("鍛ㄤ繚鏍囧噯鍛ㄦ湡璁剧疆閿欒锛岃鍏堥厤缃爣鍑嗗懆鏈�, standard:{}", standard); + continue; } - quartzLog.setIsSuccess(0); - } catch (Exception e) { - log.error("鍛ㄤ繚杩囩敓鎴愭墽琛屽畾鏃朵换鍔″け璐ワ紝{}", e.getMessage(), e); - quartzLog.setIsSuccess(-1); - quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e)); + if (standard.getInitialDate() == null) { + //璁剧疆鍒濆鏃ユ湡涓哄墠涓�澶� + standard.setInitialDate(DateUtils.localDateToDate(now.minusDays(1))); + } + LocalDate generateDate = DateUtils.dateToLocalDate(standard.getInitialDate()); + if (standard.getLastGenerateTime() != null) { + generateDate = DateUtils.dateToLocalDate(standard.getLastGenerateTime()); + } + //鍔犲懆鏈� + do { + //鍒濆鏃ユ湡璁剧疆鐨勬瘮杈冩棭锛屾垨浠诲姟闀挎椂闂存病鎵ц锛屽繀椤诲懆鏈熷埌浠婂ぉ鎵嶄細鐢熸垚宸ュ崟 + generateDate = generateDate.plusDays(standard.getMaintenancePeriod()); + } while (now.isAfter(generateDate)); + if(!now.isEqual(generateDate)) { + //杩樻湭鍒扮敓鎴愭棩鏈燂紝璺宠繃鎵ц + continue; + } + //鑾峰彇淇濆吇椤规槑缁� + List<EamMaintenanceStandardDetail> standardDetailList = eamMaintenanceStandardDetailService.selectByStandardId(standard.getId()); + if(CollectionUtil.isEmpty(standardDetailList)) { + log.error("鍛ㄤ繚鏍囧噯娌℃湁淇濆吇鏄庣粏锛岃鍏堥厤缃繚鍏绘槑缁�, standard:{}", standard); + continue; + } + //寮�濮嬬敓鎴� + EamWeekMaintenanceRequest request = new EamWeekMaintenanceRequest(); + request.setEquipmentId(standard.getEquipmentId()); + request.setStandardId(standard.getId()); + request.setMaintenanceDate(DateUtils.localDateToDate(generateDate)); + String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.WEEK_MAINTENANCE_CODE_RULE); + request.setOrderNum(codeSeq); + request.setCreationMethod(OrderCreationMethodEnum.AUTO.name()); + List<EamWeekMaintenanceOrderDetail> collect = standardDetailList.stream().map(EamWeekMaintenanceOrderDetail::new).collect(Collectors.toList()); + request.setTableDetailList(collect); + try { + eamWeekMaintenanceOrderService.addWeekMaintenance(request); + } catch (Exception e) { + log.error("鍛ㄤ繚鐢熸垚鎵ц瀹氭椂浠诲姟澶辫触锛寋}", e.getMessage(), e); + } } + quartzLog.setIsSuccess(0); long endTime = System.currentTimeMillis(); quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime))); sysQuartzLogService.save(quartzLog); -- Gitblit v1.9.3