From 9cd4074a456fd5c422506279191b6015836347e5 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 30 十月 2026 10:08:35 +0800
Subject: [PATCH] feat: 设备台账启用状态、审批签核展示与导入健壮性

---
 src/main/java/com/ruoyi/inspectiontask/service/impl/TimingTaskJob.java |   45 +++++++++++++++++++++++++++++++--------------
 1 files changed, 31 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/ruoyi/inspectiontask/service/impl/TimingTaskJob.java b/src/main/java/com/ruoyi/inspectiontask/service/impl/TimingTaskJob.java
index b8ffdf5..910ef4b 100644
--- a/src/main/java/com/ruoyi/inspectiontask/service/impl/TimingTaskJob.java
+++ b/src/main/java/com/ruoyi/inspectiontask/service/impl/TimingTaskJob.java
@@ -1,10 +1,9 @@
 package com.ruoyi.inspectiontask.service.impl;
 
 import com.ruoyi.inspectiontask.mapper.InspectionTaskMapper;
-import com.ruoyi.inspectiontask.mapper.TimingTaskMapper;
 import com.ruoyi.inspectiontask.pojo.InspectionTask;
 import com.ruoyi.inspectiontask.pojo.TimingTask;
-import com.ruoyi.inspectiontask.service.TimingTaskService;
+import com.ruoyi.common.utils.StringUtils;
 import org.quartz.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.BeanPropertyRowMapper;
@@ -26,14 +25,7 @@
     private static final long serialVersionUID = 1L; // 蹇呴』瀹氫箟搴忓垪鍖朓D
 
     @Autowired
-    private TimingTaskMapper timingTaskMapper;
-
-    @Autowired
-    private TimingTaskService timingTaskService;
-
-    @Autowired
     private InspectionTaskMapper inspectionTaskMapper;
-
     @Autowired
     private JdbcTemplate jdbcTemplate;
 
@@ -56,14 +48,19 @@
             if (timingTask == null) {
                 throw new JobExecutionException("鎵句笉鍒板畾鏃朵换鍔�: " + taskId);
             }
-            
+            if (timingTask.getIsEnabled() != null && timingTask.getIsEnabled() == 0) {
+                return;
+            }
+
 //            if (!timingTask.isActive()) {
 //                throw new JobExecutionException("瀹氭椂浠诲姟宸茬鐢�: " + taskId);
 //            }
 
-            // 2. 鍒涘缓骞朵繚瀛樺贰妫�浠诲姟璁板綍 - 杩欏氨鏄偍鎻愪緵鐨勪唬鐮佸簲璇ユ斁鐨勪綅缃�
-            InspectionTask inspectionTask = createInspectionTask(timingTask);
-            inspectionTaskMapper.insert(inspectionTask);
+            // 2. 鍒涘缓骞朵繚瀛樺贰妫�浠诲姟璁板綍锛涜澶囧凡鍋滅敤鏃惰烦杩囷紝涓嶇敓鎴愬贰妫�浠诲姟
+            if (!isDeviceDisabled(timingTask.getTaskId())) {
+                InspectionTask inspectionTask = createInspectionTask(timingTask);
+                inspectionTaskMapper.insert(inspectionTask);
+            }
 
             // 3. 鏇存柊瀹氭椂浠诲姟鐨勬墽琛屾椂闂�
             if (!tasks.isEmpty()) {
@@ -102,16 +99,36 @@
         }
     }
 
+    /**
+     * 璁惧鏄惁宸插仠鐢紙鍋滅敤璁惧涓嶅弬涓庡贰妫�锛�
+     */
+    private boolean isDeviceDisabled(Integer deviceId) {
+        if (deviceId == null || deviceId <= 0) {
+            return false;
+        }
+        List<Integer> enabledList = jdbcTemplate.queryForList(
+                "SELECT is_enabled FROM device_ledger WHERE id = ?", Integer.class, deviceId);
+        if (enabledList.isEmpty() || enabledList.get(0) == null) {
+            return false;
+        }
+        return enabledList.get(0) == 0;
+    }
+
     // 杩欏氨鏄偍鎻愪緵鐨勪唬鐮佸皝瑁呮垚鐨勬柟娉�
     private InspectionTask createInspectionTask(TimingTask timingTask) {
         InspectionTask inspectionTask = new InspectionTask();
 
         // 澶嶅埗鍩烘湰灞炴��
         inspectionTask.setTaskName(timingTask.getTaskName());
+        inspectionTask.setInspectionProject(timingTask.getInspectionProject());
         inspectionTask.setTaskId(timingTask.getTaskId());
         inspectionTask.setInspectorId(timingTask.getInspectorIds());
         inspectionTask.setInspectionLocation(timingTask.getInspectionLocation());
-        inspectionTask.setRemarks("鑷姩鐢熸垚鑷畾鏃朵换鍔D: " + timingTask.getId());
+        String remarks = "鑷姩鐢熸垚鑷畾鏃朵换鍔D: " + timingTask.getId();
+        if (StringUtils.isNotBlank(timingTask.getRemarks())) {
+            remarks = remarks + "锛�" + timingTask.getRemarks();
+        }
+        inspectionTask.setRemarks(remarks);
         inspectionTask.setRegistrantId(timingTask.getRegistrantId());
         inspectionTask.setFrequencyType(timingTask.getFrequencyType());
         inspectionTask.setFrequencyDetail(timingTask.getFrequencyDetail());

--
Gitblit v1.9.3