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