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 | 65 ++++++++++++++++++++++----------
1 files changed, 44 insertions(+), 21 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 1cfc748..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,39 +1,34 @@
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;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
-import javax.annotation.Resource;
-import javax.sql.DataSource;
+import java.io.Serializable;
import java.time.DayOfWeek;
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
-public class TimingTaskJob implements Job {
-
- @Autowired
- private TimingTaskMapper timingTaskMapper;
-
- @Autowired
- private TimingTaskService timingTaskService;
+public class TimingTaskJob implements Job, Serializable {
+ private static final long serialVersionUID = 1L; // 蹇呴』瀹氫箟搴忓垪鍖朓D
@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