From f71cea3609c4c7bf0b70c77b2c9d8c571586df33 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期二, 02 九月 2025 14:24:26 +0800 Subject: [PATCH] 二保定时任务修改 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java | 40 ++++++++++++++++++++++++++++------------ 1 files changed, 28 insertions(+), 12 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java index 423acba..10cb913 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java @@ -52,7 +52,10 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.temporal.TemporalAdjusters; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -100,8 +103,6 @@ private BaseFactoryMapper baseFactoryMapper; @Autowired private IEamSecondMaintenanceOrderDetailService eamSecondMaintenanceOrderDetailService; - @Autowired - private EamSecondMaintenanceOrderAsyncService eamSecondMaintenanceOrderAsyncService; @Autowired private IEamFactorySecondMaintPlanService factorySecondMaintPlanService; @@ -349,9 +350,9 @@ } // 鎻掑叆棣栭〉浜屼繚鍏昏鍒� // 浣跨敤 SimpleDateFormat 鐩存帴鏍煎紡鍖栦负鈥測yyy骞碝M鏈堚�濇牸寮� - SimpleDateFormat sdf = new SimpleDateFormat("yyyy骞碝M鏈�"); - String formattedDate = sdf.format(order.getMaintenanceDate()); - factorySecondMaintPlanService.add(order.getEquipmentId(), formattedDate); +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy骞碝M鏈�"); +// String formattedDate = sdf.format(order.getMaintenanceDate()); +// factorySecondMaintPlanService.add(order.getEquipmentId(), formattedDate); return true; } @@ -486,7 +487,7 @@ @Override @Transactional(rollbackFor = Exception.class) @EquipmentHistoryLog(operationTag = EquipmentOperationTagEnum.SECOND_MAINTENANCE, businessTable = "eam_second_maintenance_order") - public EamSecondMaintenanceOrder approval(EamSecondMaintenanceRequest request) { + public EamSecondMaintenanceOrder approval(EamSecondMaintenanceRequest request) throws ParseException { EamSecondMaintenanceOrder entity = eamSecondMaintenanceOrderMapper.selectById(request.getId()); if (entity == null) { throw new JeecgBootException("瀹℃壒鐨勬暟鎹凡鍒犻櫎锛岃鍒锋柊閲嶈瘯锛�"); @@ -683,17 +684,32 @@ eamSecondMaintenanceOrderMapper.updateById(entity); //寮傛鐢熸垚涓嬫浜屼繚宸ュ崟 if (SecondMaintenanceStatusEnum.COMPLETE.name().equals(entity.getMaintenanceStatus())) { - try { - eamSecondMaintenanceOrderAsyncService.asyncGenerateNextMaintenanceOrder(entity.getId()); - } catch (Exception e) { - log.error("瑙﹀彂寮傛鐢熸垚涓嬫宸ュ崟澶辫触锛屽伐鍗旾D: {}", entity.getId(), e); - } + //濉厖璁$畻涓嬫浜屼繚鏃ユ湡 + EamEquipmentExtend eamEquipmentExtend=eamEquipmentExtendService.getById(entity.getEquipmentId()); + eamEquipmentExtend.setLatestSecondMaintenance(entity.getMaintenanceDate()); + eamEquipmentExtend.setNextSecondMaintenance(calculateNextMaintenanceDate(entity.getMaintenanceDate())); + eamEquipmentExtendService.updateById(eamEquipmentExtend); } - return entity; } /** + * 璁$畻鍏釜鏈堝悗鐨勫綋鏈堟渶鍚庝竴澶� + * @param currentDate 褰撳墠宸ュ崟鏃ユ湡 + * @return 鍏釜鏈堝悗鐨勫綋鏈堟渶鍚庝竴澶� + */ + private Date calculateNextMaintenanceDate(Date currentDate) { + // 杞崲涓篖ocalDate澶勭悊鏃ユ湡 + LocalDate localDate = DateUtils.dateToLocalDate(currentDate); + // 璁$畻鍏釜鏈堝悗鐨勬棩鏈� + LocalDate sixMonthsLater = localDate.plusMonths(6); + // 璋冩暣鍒板綋鏈堢殑鏈�鍚庝竴澶� + LocalDate lastDayOfMonth = sixMonthsLater.with(TemporalAdjusters.lastDayOfMonth()); + // 杞崲鍥濪ate绫诲瀷 + return DateUtils.localDateToDate(lastDayOfMonth); + } + + /** * 鎵归噺鎵撳嵃浜屼繚宸ュ崟 * @param ids * @return -- Gitblit v1.9.3