From 0a4d548b6bf9cfef252400fb6d6612e45cf5b602 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 27 十月 2026 13:21:23 +0800
Subject: [PATCH] fix(scheduler): 修复定时任务调度问题并增强系统稳定性

---
 src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskJob.java |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskJob.java b/src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskJob.java
index fca829a..fbc1b15 100644
--- a/src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskJob.java
+++ b/src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskJob.java
@@ -2,6 +2,7 @@
 
 import com.ruoyi.device.pojo.DeviceMaintenance;
 import com.ruoyi.device.pojo.MaintenanceTask;
+import lombok.RequiredArgsConstructor;
 import org.quartz.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.BeanPropertyRowMapper;
@@ -18,9 +19,9 @@
 import java.util.Set;
 
 @Component
-@DisallowConcurrentExecution // 绂佹骞跺彂鎵ц鍚屼竴涓狫ob
+@DisallowConcurrentExecution
 public class MaintenanceTaskJob implements Job, Serializable {
-    private static final long serialVersionUID = 1L; // 蹇呴』瀹氫箟搴忓垪鍖朓D
+    private static final long serialVersionUID = 1L;
 
     @Autowired
     private DeviceMaintenanceServiceImpl deviceMaintenanceService;
@@ -46,6 +47,10 @@
             MaintenanceTask timingTask = tasks.isEmpty() ? null : tasks.get(0);
             if (timingTask == null) {
                 throw new JobExecutionException("MaintenanceTaskJob鎵句笉鍒板畾鏃朵换鍔�: " + taskId);
+            }
+            // 浠诲姟宸插仠鐢ㄦ椂涓嶇敓鎴愪繚鍏昏褰�
+            if (!timingTask.isActive()) {
+                return;
             }
 
             // 2. 鍒涘缓骞朵繚瀛樺贰妫�浠诲姟璁板綍 - 杩欏氨鏄偍鎻愪緵鐨勪唬鐮佸簲璇ユ斁鐨勪綅缃�
@@ -92,11 +97,13 @@
         inspectionTask.setMaintenanceTaskId(timingTask.getId());
         inspectionTask.setDeviceLedgerId(timingTask.getTaskId());
         inspectionTask.setMaintenancePlanTime(LocalDateTime.now());
+        inspectionTask.setMaintenanceActuallyName(timingTask.getMaintenancePerson());
         inspectionTask.setFrequencyType(timingTask.getFrequencyType());
         inspectionTask.setFrequencyDetail(timingTask.getFrequencyDetail());
         inspectionTask.setTenantId(timingTask.getTenantId());
         inspectionTask.setStatus(0);
         inspectionTask.setDeviceModel(timingTask.getDeviceModel());
+        inspectionTask.setMachineryCategory(timingTask.getMachineryCategory());
         inspectionTask.setCreateUser(Integer.parseInt(timingTask.getRegistrantId().toString()));
         inspectionTask.setUpdateTime(LocalDateTime.now());
         inspectionTask.setCreateTime(LocalDateTime.now());

--
Gitblit v1.9.3