From a23e66f179586eeffc55d116f5a3bb53eab9cb09 Mon Sep 17 00:00:00 2001
From: dongyukun <1208714201@qq.com>
Date: 星期五, 03 一月 2025 14:00:17 +0800
Subject: [PATCH] 调度方案批量启禁

---
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/controller/admin/StScheduleSchemeController.java |   18 +++++++++++++++++-
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleSchemeServiceImpl.java    |   30 ++++++++++++++++++++++++++++++
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StScheduleSchemeService.java             |    4 ++++
 3 files changed, 51 insertions(+), 1 deletions(-)

diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/controller/admin/StScheduleSchemeController.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/controller/admin/StScheduleSchemeController.java
index 139dd39..3c45312 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/controller/admin/StScheduleSchemeController.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/controller/admin/StScheduleSchemeController.java
@@ -83,7 +83,7 @@
 
     @GetMapping("/export-excel")
     @Operation(summary = "导出调度方案 Excel")
-    @PreAuthorize("@ss.hasPermission('system:tenant:export')")
+    @PreAuthorize("@ss.hasPermission('sche:scheme:export')")
     @ApiAccessLog(operateType = EXPORT)
     public void exportTenantExcel(@Valid StScheduleSchemePageReqVO exportReqVO,
                                   HttpServletResponse response) throws IOException {
@@ -93,4 +93,20 @@
         ExcelUtils.write(response, "调度方案.xls", "数据", StScheduleSchemeEntity.class,
                 BeanUtils.toBean(list, StScheduleSchemeEntity.class));
     }
+
+    @PreAuthorize("@ss.hasPermission('sche:scheme:update')")
+    @PutMapping("/enable")
+    @Operation(summary = "启用")
+    public CommonResult<Boolean> enable(@RequestBody String[] ids) {
+        stScheduleSchemeService.enableByIds(ids);
+        return success(true);
+    }
+
+    @PreAuthorize("@ss.hasPermission('sche:scheme:update')")
+    @PutMapping("/disable")
+    @Operation(summary = "禁用")
+    public CommonResult<Boolean> disable(@RequestBody String[] ids) {
+        stScheduleSchemeService.disableByIds(ids);
+        return success(true);
+    }
 }
\ No newline at end of file
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StScheduleSchemeService.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StScheduleSchemeService.java
index 2670914..63e8012 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StScheduleSchemeService.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StScheduleSchemeService.java
@@ -32,4 +32,8 @@
     StScheduleSchemeEntity getByCode(String code);
 
     List<StScheduleSchemeDTO> list(Map<String, Object> params);
+
+    void enableByIds(String[] ids);
+
+    void disableByIds(String[] ids);
 }
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleSchemeServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleSchemeServiceImpl.java
index bb3ddd6..b395057 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleSchemeServiceImpl.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleSchemeServiceImpl.java
@@ -1,5 +1,6 @@
 package com.iailab.module.model.mcs.sche.service.impl;
 
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.iailab.framework.common.pojo.PageResult;
 import com.iailab.framework.common.service.impl.BaseServiceImpl;
@@ -14,6 +15,7 @@
 import com.iailab.module.model.mcs.sche.vo.StScheduleSchemePageReqVO;
 import com.iailab.module.model.mcs.sche.vo.StScheduleSchemeSaveReqVO;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
 import java.util.*;
 
@@ -77,4 +79,32 @@
         entity.setScheduleTime(scheduleTime);
         baseDao.updateById(entity);
     }
+
+    @Override
+    @DSTransactional(rollbackFor = Exception.class)
+    public void enableByIds(String[] ids) {
+        if (CollectionUtils.isEmpty(Arrays.asList(ids))) {
+            return;
+        }
+        Arrays.asList(ids).forEach(item -> {
+            StScheduleSchemeEntity entity = new StScheduleSchemeEntity();
+            entity.setId(item);
+            entity.setStatus(0);
+            baseDao.updateById(entity);
+        });
+    }
+
+    @Override
+    @DSTransactional(rollbackFor = Exception.class)
+    public void disableByIds(String[] ids) {
+        if (CollectionUtils.isEmpty(Arrays.asList(ids))) {
+            return;
+        }
+        Arrays.asList(ids).forEach(item -> {
+            StScheduleSchemeEntity entity = new StScheduleSchemeEntity();
+            entity.setId(item);
+            entity.setStatus(1);
+            baseDao.updateById(entity);
+        });
+    }
 }

--
Gitblit v1.9.3