From c1c83baa9b5081c09167f29bc6a9214be396c513 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 20 十月 2026 15:31:40 +0800
Subject: [PATCH] Revert "feat: 设备保养优化,保养项目拆分"
---
src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskServiceImpl.java | 114 +--------------------------------------------------------
1 files changed, 2 insertions(+), 112 deletions(-)
diff --git a/src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskServiceImpl.java b/src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskServiceImpl.java
index 5808c73..0d2b421 100644
--- a/src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskServiceImpl.java
+++ b/src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskServiceImpl.java
@@ -5,11 +5,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.device.mapper.MaintenanceTaskMapper;
-import com.ruoyi.device.mapper.MaintenanceItemMapper;
-import com.ruoyi.device.mapper.MaintenanceTaskItemMapper;
-import com.ruoyi.device.pojo.MaintenanceItem;
import com.ruoyi.device.pojo.MaintenanceTask;
-import com.ruoyi.device.pojo.MaintenanceTaskItem;
import com.ruoyi.device.service.MaintenanceTaskService;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.inspectiontask.pojo.TimingTask;
@@ -19,18 +15,9 @@
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
-import java.util.stream.Collectors;
+import java.util.*;
/**
* @author :yys
@@ -42,15 +29,13 @@
public class MaintenanceTaskServiceImpl extends ServiceImpl<MaintenanceTaskMapper, MaintenanceTask> implements MaintenanceTaskService {
private final MaintenanceTaskMapper maintenanceTaskMapper;
- private final MaintenanceItemMapper maintenanceItemMapper;
- private final MaintenanceTaskItemMapper maintenanceTaskItemMapper;
private final SysUserMapper sysUserMapper;
private final TimingTaskServiceImpl timingTaskService;
private final MaintenanceTaskScheduler maintenanceTaskScheduler;
@Override
public AjaxResult listPage(Page page, MaintenanceTask maintenanceTask) {
- LambdaQueryWrapper<MaintenanceTask> queryWrapper = new LambdaQueryWrapper<>();
+ LambdaQueryWrapper<MaintenanceTask> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.orderByDesc(MaintenanceTask::getId);
Page<MaintenanceTask> taskPage = maintenanceTaskMapper.selectPage(page, queryWrapper);
// 2. 濡傛灉娌℃湁鏁版嵁锛岀洿鎺ヨ繑鍥炵┖鍒嗛〉
@@ -80,17 +65,11 @@
task.setRegistrant(userNickNameMap.getOrDefault(task.getRegistrantId(), "鏈煡鐢ㄦ埛"));
}
});
- taskPage.getRecords().forEach(this::fillTaskItems);
return AjaxResult.success(taskPage);
}
@Override
- @Transactional(rollbackFor = Exception.class)
public AjaxResult add(MaintenanceTask maintenanceTask) {
- List<MaintenanceItem> selectedItems = getSelectedItems(maintenanceTask.getMaintenanceItemIds(), null, maintenanceTask.getTaskId(), maintenanceTask.getFrequencyType());
- List<MaintenanceTaskItem> customItems = normalizeCustomItems(maintenanceTask.getCustomItems());
- if (selectedItems == null || selectedItems.size() + customItems.size() == 0)
- return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�涓湁鏁堢殑淇濆吇椤圭洰");
// 璁$畻棣栨鎵ц鏃堕棿
TimingTask task = new TimingTask();
task.setFrequencyType(maintenanceTask.getFrequencyType());
@@ -99,7 +78,6 @@
maintenanceTask.setNextExecutionTime(firstExecutionTime);
int insert = maintenanceTaskMapper.insert(maintenanceTask);
if (insert > 0) {
- saveTaskItems(maintenanceTask, selectedItems, customItems);
// 鍙湁褰� isActive 涓� 1 鏃舵墠娣诲姞鍒板畾鏃朵换鍔¤皟搴﹀櫒
if (maintenanceTask.getIsActive() != null && maintenanceTask.getIsActive() == 1) {
maintenanceTaskScheduler.scheduleMaintenanceTask(maintenanceTask);
@@ -109,16 +87,11 @@
}
@Override
- @Transactional(rollbackFor = Exception.class)
public AjaxResult updateByMaintenanceTaskId(MaintenanceTask maintenanceTask) {
MaintenanceTask maintenanceTask1 = maintenanceTaskMapper.selectById(maintenanceTask.getId());
if (maintenanceTask1 == null) {
return AjaxResult.warn("娌℃湁姝ゆ暟鎹�");
}
- List<MaintenanceItem> selectedItems = getSelectedItems(maintenanceTask.getMaintenanceItemIds(), maintenanceTask1.getId(), maintenanceTask.getTaskId(), maintenanceTask.getFrequencyType());
- List<MaintenanceTaskItem> customItems = normalizeCustomItems(maintenanceTask.getCustomItems());
- if (selectedItems == null || selectedItems.size() + customItems.size() == 0)
- return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�涓湁鏁堢殑淇濆吇椤圭洰");
// 淇濆瓨鏃х殑 isActive 鐘舵��
Integer oldIsActive = maintenanceTask1.getIsActive();
@@ -127,9 +100,6 @@
BeanUtils.copyProperties(maintenanceTask, maintenanceTask1);
int update = maintenanceTaskMapper.updateById(maintenanceTask1);
if (update > 0) {
- maintenanceTaskItemMapper.delete(new LambdaQueryWrapper<MaintenanceTaskItem>()
- .eq(MaintenanceTaskItem::getMaintenanceTaskId, maintenanceTask1.getId()));
- saveTaskItems(maintenanceTask1, selectedItems, customItems);
// 澶勭悊 isActive 鐘舵�佸彉鍖�
if (newIsActive != null && newIsActive == 1) {
// 鏂扮姸鎬佷负鍚敤锛氭坊鍔犲埌瀹氭椂浠诲姟璋冨害鍣�
@@ -164,88 +134,8 @@
// 鍐嶄粠鏁版嵁搴撲腑鍒犻櫎璁板綍
int delete = maintenanceTaskMapper.deleteBatchIds(ids);
if (delete > 0) {
- maintenanceTaskItemMapper.delete(new LambdaQueryWrapper<MaintenanceTaskItem>()
- .in(MaintenanceTaskItem::getMaintenanceTaskId, ids));
- }
- if (delete > 0) {
return AjaxResult.success("鍒犻櫎鎴愬姛");
}
return AjaxResult.error("鍒犻櫎澶辫触");
- }
-
- private List<MaintenanceTaskItem> normalizeCustomItems(List<MaintenanceTaskItem> customItems) {
- if (customItems == null) return new ArrayList<>();
- return customItems.stream().filter(Objects::nonNull)
- .filter(item -> item.getItemProject() != null && !item.getItemProject().trim().isEmpty()
- && item.getItemName() != null && !item.getItemName().trim().isEmpty())
- .peek(item -> {
- item.setItemProject(item.getItemProject().trim());
- item.setItemName(item.getItemName().trim());
- })
- .toList();
- }
-
- private List<MaintenanceItem> getSelectedItems(List<Long> ids, Long taskId, Long deviceId, String frequencyType) {
- if (deviceId == null || !List.of("DAILY", "WEEKLY", "MONTHLY", "QUARTERLY").contains(frequencyType)
- || (ids != null && new HashSet<>(ids).size() != ids.size())) return null;
- if (ids == null || ids.isEmpty()) return new ArrayList<>();
- List<MaintenanceItem> items = maintenanceItemMapper.selectList(new LambdaQueryWrapper<MaintenanceItem>()
- .in(MaintenanceItem::getId, ids));
- if (items.size() != ids.size()) return null;
- if (items.stream().anyMatch(item -> (item.getDeviceLedgerId() != null && !deviceId.equals(item.getDeviceLedgerId()))
- || !(frequencyType.equals(item.getFrequencyType()) || "ALL".equals(item.getFrequencyType()))))
- return null;
- Map<Long, MaintenanceItem> itemMap = new HashMap<>();
- items.forEach(item -> itemMap.put(item.getId(), item));
- Set<Long> existingIds = taskId == null ? Collections.emptySet() : maintenanceTaskItemMapper.selectList(
- new LambdaQueryWrapper<MaintenanceTaskItem>()
- .eq(MaintenanceTaskItem::getMaintenanceTaskId, taskId))
- .stream().map(MaintenanceTaskItem::getMaintenanceItemId).collect(Collectors.toSet());
- if (items.stream().anyMatch(item -> (item.getDeleted() != null && item.getDeleted() == 1
- || item.getIsActive() == null || item.getIsActive() != 1)
- && !existingIds.contains(item.getId()))) return null;
- List<MaintenanceItem> sorted = new ArrayList<>();
- ids.forEach(id -> sorted.add(itemMap.get(id)));
- return sorted;
- }
-
- private void saveTaskItems(MaintenanceTask task, List<MaintenanceItem> selectedItems, List<MaintenanceTaskItem> customItems) {
- for (int i = 0; i < selectedItems.size(); i++) {
- MaintenanceItem source = selectedItems.get(i);
- MaintenanceTaskItem link = new MaintenanceTaskItem();
- link.setMaintenanceTaskId(task.getId());
- link.setMaintenanceItemId(source.getId());
- link.setItemProject(source.getItemProject());
- link.setItemName(source.getItemName());
- link.setSortNum(i);
- link.setTenantId(task.getTenantId());
- link.setDeptId(task.getDeptId());
- maintenanceTaskItemMapper.insert(link);
- }
- for (int i = 0; i < customItems.size(); i++) {
- MaintenanceTaskItem link = new MaintenanceTaskItem();
- link.setMaintenanceTaskId(task.getId());
- link.setMaintenanceItemId(null);
- link.setItemProject(customItems.get(i).getItemProject());
- link.setItemName(customItems.get(i).getItemName());
- link.setSortNum(selectedItems.size() + i);
- link.setTenantId(task.getTenantId());
- link.setDeptId(task.getDeptId());
- maintenanceTaskItemMapper.insert(link);
- }
- task.setMaintenanceItems(maintenanceTaskItemMapper.selectList(new LambdaQueryWrapper<MaintenanceTaskItem>()
- .eq(MaintenanceTaskItem::getMaintenanceTaskId, task.getId())
- .orderByAsc(MaintenanceTaskItem::getSortNum)));
- task.setMaintenanceItemIds(task.getMaintenanceItems().stream()
- .map(MaintenanceTaskItem::getMaintenanceItemId).filter(Objects::nonNull).collect(Collectors.toList()));
- }
-
- private void fillTaskItems(MaintenanceTask task) {
- List<MaintenanceTaskItem> items = maintenanceTaskItemMapper.selectList(new LambdaQueryWrapper<MaintenanceTaskItem>()
- .eq(MaintenanceTaskItem::getMaintenanceTaskId, task.getId())
- .orderByAsc(MaintenanceTaskItem::getSortNum));
- task.setMaintenanceItems(items);
- task.setMaintenanceItemIds(items.stream().map(MaintenanceTaskItem::getMaintenanceItemId).filter(Objects::nonNull)
- .collect(Collectors.toList()));
}
}
--
Gitblit v1.9.3