From da6b322fb0b3e80ad8bb3e0f5bdbf9e5113dbb5e Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 20 十月 2026 15:22:30 +0800
Subject: [PATCH] feat: 设备保养优化,保养项目拆分
---
src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskJob.java | 61 ++++++++++++++++++++++++++----
1 files changed, 52 insertions(+), 9 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 204667b..58693ca 100644
--- a/src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskJob.java
+++ b/src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskJob.java
@@ -1,6 +1,11 @@
package com.ruoyi.device.service.impl;
import com.ruoyi.device.pojo.DeviceMaintenance;
+import com.ruoyi.device.mapper.MaintenanceTaskItemMapper;
+import com.ruoyi.device.mapper.DeviceMaintenanceItemMapper;
+import com.ruoyi.device.pojo.MaintenanceTaskItem;
+import com.ruoyi.device.pojo.DeviceMaintenanceItem;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.device.pojo.MaintenanceTask;
import lombok.RequiredArgsConstructor;
import org.quartz.*;
@@ -29,6 +34,12 @@
@Autowired
private JdbcTemplate jdbcTemplate;
+ @Autowired
+ private MaintenanceTaskItemMapper maintenanceTaskItemMapper;
+
+ @Autowired
+ private DeviceMaintenanceItemMapper deviceMaintenanceItemMapper;
+
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
JobDataMap jobDataMap = context.getJobDetail().getJobDataMap();
@@ -49,9 +60,26 @@
throw new JobExecutionException("MaintenanceTaskJob鎵句笉鍒板畾鏃朵换鍔�: " + taskId);
}
- // 2. 鍒涘缓骞朵繚瀛樺贰妫�浠诲姟璁板綍 - 杩欏氨鏄偍鎻愪緵鐨勪唬鐮佸簲璇ユ斁鐨勪綅缃�
+ List<MaintenanceTaskItem> taskItems = maintenanceTaskItemMapper.selectByTaskId(timingTask.getId());
+ if (taskItems.isEmpty()) {
+ throw new JobExecutionException("淇濆吇浠诲姟鏈厤缃繚鍏婚」鐩�: " + taskId);
+ }
+ // 鎸変换鍔¢」鐩揩鐓х敓鎴愭湰娆′繚鍏昏褰曞強椤圭洰娓呭崟銆�
DeviceMaintenance deviceMaintenance = createInspectionTask(timingTask);
deviceMaintenanceService.save(deviceMaintenance);
+ for (MaintenanceTaskItem taskItem : taskItems) {
+ DeviceMaintenanceItem recordItem = new DeviceMaintenanceItem();
+ recordItem.setDeviceMaintenanceId(deviceMaintenance.getId());
+ recordItem.setMaintenanceTaskItemId(taskItem.getId());
+ recordItem.setMaintenanceItemId(taskItem.getMaintenanceItemId());
+ recordItem.setItemProject(taskItem.getItemProject());
+ recordItem.setItemName(taskItem.getItemName());
+ recordItem.setItemStatus(0);
+ recordItem.setSortNum(taskItem.getSortNum());
+ recordItem.setTenantId(deviceMaintenance.getTenantId());
+ recordItem.setDeptId(timingTask.getDeptId());
+ deviceMaintenanceItemMapper.insert(recordItem);
+ }
// 3. 鏇存柊瀹氭椂浠诲姟鐨勬墽琛屾椂闂�
if (!tasks.isEmpty()) {
@@ -230,14 +258,29 @@
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;
- default: throw new IllegalArgumentException("鏃犳晥鐨勬槦鏈熷嚑: " + 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;
+ default:
+ throw new IllegalArgumentException("鏃犳晥鐨勬槦鏈熷嚑: " + dayStr);
}
}
--
Gitblit v1.9.3