From 766e3d9f03b6ff9c52a37d14d19304f9822d7c3d Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 09 六月 2026 13:37:10 +0800
Subject: [PATCH] feat:销售台账-审核操作。新增的订单状态是未审核,审核人不能审核本人录入的订单。未审核的订单不能进行任何操作,只能修改、删除和审核
---
src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskServiceImpl.java | 41 ++++++++++++++++++++++++++++++-----------
1 files changed, 30 insertions(+), 11 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 951b13b..602eddc 100644
--- a/src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskServiceImpl.java
+++ b/src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskServiceImpl.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.device.mapper.MaintenanceTaskMapper;
@@ -47,8 +48,8 @@
if (StringUtils.isNotEmpty(maintenanceTask.getTaskName())) {
queryWrapper.like(MaintenanceTask::getTaskName, maintenanceTask.getTaskName());
}
- if (StringUtils.isNotEmpty(maintenanceTask.getStatus())) {
- queryWrapper.eq(MaintenanceTask::getStatus, maintenanceTask.getStatus());
+ if (maintenanceTask.getIsActive() != null) {
+ queryWrapper.eq(MaintenanceTask::getIsActive, maintenanceTask.getIsActive());
}
}
queryWrapper.orderByDesc(MaintenanceTask::getCreateTime);
@@ -90,15 +91,20 @@
@Override
public AjaxResult add(MaintenanceTask maintenanceTask) {
- maintenanceTask.setActive(true);
- // 璁$畻棣栨鎵ц鏃堕棿
- TimingTask task = new TimingTask();
- task.setFrequencyType(maintenanceTask.getFrequencyType());
- task.setFrequencyDetail(maintenanceTask.getFrequencyDetail());
- LocalDateTime firstExecutionTime = timingTaskService.calculateFirstExecutionTime(task);
- maintenanceTask.setNextExecutionTime(firstExecutionTime);
+ if (maintenanceTask == null){
+ throw new ServiceException("鏂板澶辫触,鏁版嵁涓嶈兘涓虹┖");
+ }
+ // 鍙湁鍚敤鐘舵�佹墠娣诲姞
+ if (maintenanceTask.getIsActive() != null && maintenanceTask.getIsActive() == 1) {
+ // 璁$畻棣栨鎵ц鏃堕棿
+ TimingTask task = new TimingTask();
+ task.setFrequencyType(maintenanceTask.getFrequencyType());
+ task.setFrequencyDetail(maintenanceTask.getFrequencyDetail());
+ LocalDateTime firstExecutionTime = timingTaskService.calculateFirstExecutionTime(task);
+ maintenanceTask.setNextExecutionTime(firstExecutionTime);
+ }
int insert = maintenanceTaskMapper.insert(maintenanceTask);
- if (insert > 0) {
+ if (insert > 0 && maintenanceTask.getIsActive() != null && maintenanceTask.getIsActive() == 1) {
maintenanceTaskScheduler.scheduleMaintenanceTask(maintenanceTask);
}
return AjaxResult.success("娣诲姞鎴愬姛");
@@ -110,10 +116,23 @@
if (maintenanceTask1 == null) {
return AjaxResult.warn("娌℃湁姝ゆ暟鎹�");
}
+
+ Integer oldIsActive = maintenanceTask1.getIsActive();
+ Integer newIsActive = maintenanceTask.getIsActive();
+
BeanUtils.copyProperties(maintenanceTask, maintenanceTask1);
int update = maintenanceTaskMapper.updateById(maintenanceTask1);
if (update > 0) {
- maintenanceTaskScheduler.rescheduleMaintenanceTask(maintenanceTask1);
+ // 鏍规嵁isActive鐘舵�佸彉鍖栨潵澶勭悊浠诲姟
+ if (oldIsActive != null && oldIsActive == 1 && newIsActive != null && newIsActive == 0) {
+ // 浠庡惎鐢ㄥ彉涓哄仠鐢紝绉婚櫎浠诲姟
+ maintenanceTaskScheduler.unscheduleMaintenanceTask(maintenanceTask.getId());
+ } else if ((oldIsActive == null || oldIsActive == 0) && newIsActive != null && newIsActive == 1) {
+ // 浠庡仠鐢ㄥ彉涓哄惎鐢紝娣诲姞
+ maintenanceTaskScheduler.scheduleMaintenanceTask(maintenanceTask1);
+ } else {
+ maintenanceTaskScheduler.rescheduleMaintenanceTask(maintenanceTask1);
+ }
}
return AjaxResult.success("鏇存柊鎴愬姛");
}
--
Gitblit v1.9.3