From b871e526e794c09708de431899ef6de75886bbc4 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 20 十月 2026 15:22:32 +0800
Subject: [PATCH] feat: 设备巡检优化,巡检项目拆分
---
src/main/java/com/ruoyi/inspectiontask/service/impl/TimingTaskJob.java | 80 +++++++++++++++++++++++++++++++--------
1 files changed, 63 insertions(+), 17 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 adc2416..c439b6e 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,19 @@
package com.ruoyi.inspectiontask.service.impl;
-import com.ruoyi.inspectiontask.mapper.InspectionTaskMapper;
-import com.ruoyi.inspectiontask.pojo.InspectionTask;
-import com.ruoyi.inspectiontask.pojo.TimingTask;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.utils.StringUtils;
-import org.quartz.*;
+import com.ruoyi.inspectiontask.mapper.InspectionTaskItemMapper;
+import com.ruoyi.inspectiontask.mapper.InspectionTaskMapper;
+import com.ruoyi.inspectiontask.mapper.TimingTaskItemMapper;
+import com.ruoyi.inspectiontask.pojo.InspectionTask;
+import com.ruoyi.inspectiontask.pojo.InspectionTaskItem;
+import com.ruoyi.inspectiontask.pojo.TimingTask;
+import com.ruoyi.inspectiontask.pojo.TimingTaskItem;
+import org.quartz.DisallowConcurrentExecution;
+import org.quartz.Job;
+import org.quartz.JobDataMap;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
@@ -22,10 +31,14 @@
@Component
@DisallowConcurrentExecution // 绂佹骞跺彂鎵ц鍚屼竴涓狫ob
public class TimingTaskJob implements Job, Serializable {
- private static final long serialVersionUID = 1L; // 蹇呴』瀹氫箟搴忓垪鍖朓D
+ private static final long serialVersionUID = 1L;
@Autowired
private InspectionTaskMapper inspectionTaskMapper;
+ @Autowired
+ private TimingTaskItemMapper timingTaskItemMapper;
+ @Autowired
+ private InspectionTaskItemMapper inspectionTaskItemMapper;
@Autowired
private JdbcTemplate jdbcTemplate;
@@ -38,7 +51,7 @@
try {
// 3. 灏濊瘯鏌ヨ浣犵殑涓氬姟鏁版嵁
// 閫氳繃JDBC妯℃澘鏌ヨ瀹氭椂浠诲姟淇℃伅锛屼娇鐢ㄥ弬鏁板寲鏌ヨ闃叉SQL娉ㄥ叆
- String yourSql = "SELECT * FROM timing_task where id = ?";
+ String yourSql = "SELECT * FROM timing_task WHERE id = ?";
List<TimingTask> tasks = jdbcTemplate.query(
yourSql,
new BeanPropertyRowMapper<>(TimingTask.class),
@@ -59,6 +72,7 @@
// 2. 鍒涘缓骞朵繚瀛樺贰妫�浠诲姟璁板綍 - 杩欏氨鏄偍鎻愪緵鐨勪唬鐮佸簲璇ユ斁鐨勪綅缃�
InspectionTask inspectionTask = createInspectionTask(timingTask);
inspectionTaskMapper.insert(inspectionTask);
+ copyTaskItemsToRecord(timingTask.getId(), inspectionTask.getId());
// 3. 鏇存柊瀹氭椂浠诲姟鐨勬墽琛屾椂闂�
if (!tasks.isEmpty()) {
@@ -75,9 +89,9 @@
);
// 鎵ц鏇存柊鎿嶄綔
- String updateSql = "UPDATE timing_task " +
- "SET last_execution_time = ?, next_execution_time = ? " +
- "WHERE id = ?";
+ String updateSql = "UPDATE timing_task "
+ + "SET last_execution_time = ?, next_execution_time = ? "
+ + "WHERE id = ?";
jdbcTemplate.update(
updateSql,
@@ -103,7 +117,6 @@
// 澶嶅埗鍩烘湰灞炴��
inspectionTask.setTaskName(timingTask.getTaskName());
- inspectionTask.setInspectionProject(timingTask.getInspectionProject());
inspectionTask.setTaskId(timingTask.getTaskId());
inspectionTask.setInspectorId(timingTask.getInspectorIds());
inspectionTask.setInspectionLocation(timingTask.getInspectionLocation());
@@ -118,6 +131,25 @@
inspectionTask.setTenantId(timingTask.getTenantId());
return inspectionTask;
+ }
+
+ private void copyTaskItemsToRecord(Long timingTaskId, Long inspectionTaskId) {
+ List<TimingTaskItem> taskItems = timingTaskItemMapper.selectList(
+ new LambdaQueryWrapper<TimingTaskItem>()
+ .eq(TimingTaskItem::getTimingTaskId, timingTaskId)
+ .orderByAsc(TimingTaskItem::getSortNum));
+ for (TimingTaskItem source : taskItems) {
+ InspectionTaskItem recordItem = new InspectionTaskItem();
+ recordItem.setInspectionTaskId(inspectionTaskId);
+ recordItem.setInspectionItemId(source.getInspectionItemId());
+ recordItem.setItemProject(source.getItemProject());
+ recordItem.setItemContent(source.getItemContent());
+ recordItem.setItemStatus(0);
+ recordItem.setSortNum(source.getSortNum());
+ recordItem.setTenantId(source.getTenantId());
+ recordItem.setDeptId(source.getDeptId());
+ inspectionTaskItemMapper.insert(recordItem);
+ }
}
@@ -243,13 +275,27 @@
for (String dayStr : dayStrs) {
switch (dayStr) {
- case "MON": days.add(DayOfWeek.MONDAY); break;
- case "TUE": days.add(DayOfWeek.TUESDAY); break;
- case "WED": days.add(DayOfWeek.WEDNESDAY); break;
- case "THU": days.add(DayOfWeek.THURSDAY); break;
- case "FRI": days.add(DayOfWeek.FRIDAY); break;
- case "SAT": days.add(DayOfWeek.SATURDAY); break;
- case "SUN": days.add(DayOfWeek.SUNDAY); break;
+ case "MON":
+ days.add(DayOfWeek.MONDAY);
+ break;
+ case "TUE":
+ days.add(DayOfWeek.TUESDAY);
+ break;
+ case "WED":
+ days.add(DayOfWeek.WEDNESDAY);
+ break;
+ case "THU":
+ days.add(DayOfWeek.THURSDAY);
+ break;
+ case "FRI":
+ days.add(DayOfWeek.FRIDAY);
+ break;
+ case "SAT":
+ days.add(DayOfWeek.SATURDAY);
+ break;
+ case "SUN":
+ days.add(DayOfWeek.SUNDAY);
+ break;
default: throw new IllegalArgumentException("鏃犳晥鐨勬槦鏈熷嚑: " + dayStr);
}
}
--
Gitblit v1.9.3