From 4f55d3cb4bc644e4534106336f2047af1a4db5df Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 29 五月 2026 18:09:46 +0800
Subject: [PATCH] feat(config): 添加新环境配置并扩展设备台账功能

---
 src/main/java/com/ruoyi/inspectiontask/service/impl/TimingTaskJob.java |   59 +++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 41 insertions(+), 18 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..c6f15de 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;
@@ -16,9 +15,12 @@
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.YearMonth;
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+import java.util.stream.Collectors;
 
 @Component
 @DisallowConcurrentExecution // 绂佹骞跺彂鎵ц鍚屼竴涓狫ob
@@ -26,14 +28,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 +51,20 @@
             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. 瑙f瀽璁惧ID鍒楄〃锛屼负姣忎釜璁惧鍒涘缓宸℃浠诲姟璁板綍
+            List<Integer> deviceIds = resolveDeviceIds(timingTask);
+            for (Integer deviceId : deviceIds) {
+                InspectionTask inspectionTask = createInspectionTask(timingTask, deviceId);
+                inspectionTaskMapper.insert(inspectionTask);
+            }
 
             // 3. 鏇存柊瀹氭椂浠诲姟鐨勬墽琛屾椂闂�
             if (!tasks.isEmpty()) {
@@ -102,20 +103,42 @@
         }
     }
 
-    // 杩欏氨鏄偍鎻愪緵鐨勪唬鐮佸皝瑁呮垚鐨勬柟娉�
-    private InspectionTask createInspectionTask(TimingTask timingTask) {
+    private List<Integer> resolveDeviceIds(TimingTask timingTask) throws JobExecutionException {
+        if (StringUtils.isNotBlank(timingTask.getTaskIdsStr())) {
+            return Arrays.stream(timingTask.getTaskIdsStr().split(","))
+                    .map(String::trim)
+                    .filter(StringUtils::isNotBlank)
+                    .map(Integer::parseInt)
+                    .collect(Collectors.toList());
+        }
+        if (timingTask.getTaskId() != null) {
+            List<Integer> list = new ArrayList<>();
+            list.add(timingTask.getTaskId());
+            return list;
+        }
+        throw new JobExecutionException("瀹氭椂浠诲姟 " + timingTask.getId() + " 鏈厤缃澶嘔D");
+    }
+
+    private InspectionTask createInspectionTask(TimingTask timingTask, Integer deviceId) {
         InspectionTask inspectionTask = new InspectionTask();
 
-        // 澶嶅埗鍩烘湰灞炴��
         inspectionTask.setTaskName(timingTask.getTaskName());
-        inspectionTask.setTaskId(timingTask.getTaskId());
+        inspectionTask.setInspectionProject(timingTask.getInspectionProject());
+        inspectionTask.setTaskId(deviceId);
         inspectionTask.setInspectorId(timingTask.getInspectorIds());
         inspectionTask.setInspectionLocation(timingTask.getInspectionLocation());
-        inspectionTask.setRemarks("鑷姩鐢熸垚鑷畾鏃朵换鍔D: " + timingTask.getId());
+        inspectionTask.setAreaId(timingTask.getAreaId());
+        inspectionTask.setTimingId(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());
         inspectionTask.setTenantId(timingTask.getTenantId());
+        inspectionTask.setInspectionStatus(1);
 
         return inspectionTask;
     }

--
Gitblit v1.9.3