From 4bcba729142ded6cd008f324e6a3bae364b6233b Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期六, 23 五月 2026 17:18:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_pro_河南鹤壁' into dev_pro_河南鹤壁
---
src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskServiceImpl.java | 65 +++++++++++++++++++++++---------
1 files changed, 47 insertions(+), 18 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 8d0caee..c666f3f 100644
--- a/src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskServiceImpl.java
+++ b/src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskServiceImpl.java
@@ -6,8 +6,7 @@
import com.ruoyi.device.mapper.MaintenanceTaskMapper;
import com.ruoyi.device.pojo.MaintenanceTask;
import com.ruoyi.device.service.MaintenanceTaskService;
-import com.ruoyi.common.constant.HttpStatus;
-import com.ruoyi.framework.web.domain.R;
+import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.inspectiontask.pojo.TimingTask;
import com.ruoyi.inspectiontask.service.impl.TimingTaskServiceImpl;
import com.ruoyi.project.system.domain.SysUser;
@@ -34,11 +33,11 @@
private final MaintenanceTaskScheduler maintenanceTaskScheduler;
@Override
- public R<?> listPage(Page page, MaintenanceTask maintenanceTask) {
+ public AjaxResult listPage(Page page, MaintenanceTask maintenanceTask) {
Page<MaintenanceTask> taskPage = maintenanceTaskMapper.selectPage(page, null);
// 2. 濡傛灉娌℃湁鏁版嵁锛岀洿鎺ヨ繑鍥炵┖鍒嗛〉
if (taskPage.getRecords().isEmpty()) {
- return R.ok(taskPage);
+ return AjaxResult.success(taskPage);
}
// 3. 鏀堕泦鎵�鏈夐渶瑕佹煡璇㈢殑鐢ㄦ埛ID
@@ -63,12 +62,11 @@
task.setRegistrant(userNickNameMap.getOrDefault(task.getRegistrantId(), "鏈煡鐢ㄦ埛"));
}
});
- return R.ok(taskPage);
+ return AjaxResult.success(taskPage);
}
@Override
- public R<?> add(MaintenanceTask maintenanceTask) {
- maintenanceTask.setActive(true);
+ public AjaxResult add(MaintenanceTask maintenanceTask) {
// 璁$畻棣栨鎵ц鏃堕棿
TimingTask task = new TimingTask();
task.setFrequencyType(maintenanceTask.getFrequencyType());
@@ -77,33 +75,64 @@
maintenanceTask.setNextExecutionTime(firstExecutionTime);
int insert = maintenanceTaskMapper.insert(maintenanceTask);
if (insert > 0) {
- maintenanceTaskScheduler.scheduleMaintenanceTask(maintenanceTask);
+ // 鍙湁褰� isActive 涓� 1 鏃舵墠娣诲姞鍒板畾鏃朵换鍔¤皟搴﹀櫒
+ if (maintenanceTask.getIsActive() != null && maintenanceTask.getIsActive() == 1) {
+ maintenanceTaskScheduler.scheduleMaintenanceTask(maintenanceTask);
+ }
}
- return R.ok(null, "娣诲姞鎴愬姛");
+ return AjaxResult.success("娣诲姞鎴愬姛");
}
@Override
- public R<?> updateByMaintenanceTaskId(MaintenanceTask maintenanceTask) {
+ public AjaxResult updateByMaintenanceTaskId(MaintenanceTask maintenanceTask) {
MaintenanceTask maintenanceTask1 = maintenanceTaskMapper.selectById(maintenanceTask.getId());
if (maintenanceTask1 == null) {
- return R.fail(HttpStatus.WARN, "娌℃湁姝ゆ暟鎹�");
+ return AjaxResult.warn("娌℃湁姝ゆ暟鎹�");
}
+
+ // 淇濆瓨鏃х殑 isActive 鐘舵��
+ 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 (newIsActive != null && newIsActive == 1) {
+ // 鏂扮姸鎬佷负鍚敤锛氭坊鍔犲埌瀹氭椂浠诲姟璋冨害鍣�
+ if (oldIsActive == null || oldIsActive != 1) {
+ // 浠庢湭鍚敤鍙樹负鍚敤锛屾坊鍔犲埌璋冨害鍣�
+ maintenanceTaskScheduler.scheduleMaintenanceTask(maintenanceTask1);
+ } else {
+ // 宸茬粡鍚敤锛屾洿鏂拌皟搴﹀櫒涓殑浠诲姟
+ maintenanceTaskScheduler.rescheduleMaintenanceTask(maintenanceTask1);
+ }
+ } else {
+ // 鏂扮姸鎬佷负鍋滅敤锛氫粠瀹氭椂浠诲姟璋冨害鍣ㄤ腑绉婚櫎
+ if (oldIsActive != null && oldIsActive == 1) {
+ maintenanceTaskScheduler.unscheduleMaintenanceTask(maintenanceTask1.getId());
+ }
+ }
}
- return R.ok(null, "鏇存柊鎴愬姛");
+ return AjaxResult.success("鏇存柊鎴愬姛");
}
@Override
- public R<?> delete(List<Long> ids) {
+ public AjaxResult delete(List<Long> ids) {
+ // 鍏堜粠瀹氭椂浠诲姟璋冨害鍣ㄤ腑绉婚櫎鎵�鏈夊緟鍒犻櫎鐨勪换鍔�
+ ids.forEach(id -> {
+ try {
+ maintenanceTaskScheduler.unscheduleMaintenanceTask(id);
+ } catch (Exception e) {
+ log.error("鍒犻櫎瀹氭椂浠诲姟璋冨害澶辫触, id: {}", id, e);
+ }
+ });
+
+ // 鍐嶄粠鏁版嵁搴撲腑鍒犻櫎璁板綍
int delete = maintenanceTaskMapper.deleteBatchIds(ids);
if (delete > 0) {
- ids.forEach(id -> {
- maintenanceTaskScheduler.unscheduleMaintenanceTask(id);
- });
+ return AjaxResult.success("鍒犻櫎鎴愬姛");
}
- return R.ok(null, "鍒犻櫎鎴愬姛");
+ return AjaxResult.error("鍒犻櫎澶辫触");
}
}
--
Gitblit v1.9.3