Просмотр исходного кода

巡检模块-审批流程-批量审批

chenshudong месяцев назад: 2
Родитель
Сommit
eb4fd6d428

+ 21 - 0
airport-admin/src/main/java/com/sundot/airport/web/controller/check/CheckCorrectionController.java

@@ -5,6 +5,7 @@ import java.util.List;
5
 import javax.servlet.http.HttpServletResponse;
5
 import javax.servlet.http.HttpServletResponse;
6
 
6
 
7
 import cn.hutool.core.collection.CollUtil;
7
 import cn.hutool.core.collection.CollUtil;
8
+import com.sundot.airport.common.core.domain.ApprovalWorkflowBatchDto;
8
 import com.sundot.airport.common.core.domain.DataPermissionResult;
9
 import com.sundot.airport.common.core.domain.DataPermissionResult;
9
 import com.sundot.airport.web.core.utils.DataPermissionUtils;
10
 import com.sundot.airport.web.core.utils.DataPermissionUtils;
10
 import org.springframework.security.access.prepost.PreAuthorize;
11
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -172,4 +173,24 @@ public class CheckCorrectionController extends BaseController {
172
     public AjaxResult rejectTask(@RequestBody CheckCorrection checkCorrection) {
173
     public AjaxResult rejectTask(@RequestBody CheckCorrection checkCorrection) {
173
         return success(checkCorrectionService.rejectTask(checkCorrection));
174
         return success(checkCorrectionService.rejectTask(checkCorrection));
174
     }
175
     }
176
+
177
+    /**
178
+     * 批量审批任务(同意)
179
+     */
180
+    @PreAuthorize("@ss.hasPermi('check:checkCorrection:edit')")
181
+    @Log(title = "批量审批任务(同意)", businessType = BusinessType.UPDATE)
182
+    @PostMapping("/approveTaskBatch")
183
+    public AjaxResult approveTaskBatch(@RequestBody ApprovalWorkflowBatchDto approvalWorkflowBatchDto) {
184
+        return success(checkCorrectionService.approveTaskBatch(approvalWorkflowBatchDto));
185
+    }
186
+
187
+    /**
188
+     * 批量审批任务(驳回)
189
+     */
190
+    @PreAuthorize("@ss.hasPermi('check:checkCorrection:edit')")
191
+    @Log(title = "批量审批任务(驳回)", businessType = BusinessType.UPDATE)
192
+    @PostMapping("/rejectTaskBatch")
193
+    public AjaxResult rejectTaskBatch(@RequestBody ApprovalWorkflowBatchDto approvalWorkflowBatchDto) {
194
+        return success(checkCorrectionService.rejectTaskBatch(approvalWorkflowBatchDto));
195
+    }
175
 }
196
 }

+ 17 - 0
airport-check/src/main/java/com/sundot/airport/check/service/ICheckCorrectionService.java

@@ -4,6 +4,7 @@ import java.util.List;
4
 
4
 
5
 import com.baomidou.mybatisplus.extension.service.IService;
5
 import com.baomidou.mybatisplus.extension.service.IService;
6
 import com.sundot.airport.check.domain.CheckCorrection;
6
 import com.sundot.airport.check.domain.CheckCorrection;
7
+import com.sundot.airport.common.core.domain.ApprovalWorkflowBatchDto;
7
 
8
 
8
 /**
9
 /**
9
  * 问题整改Service接口
10
  * 问题整改Service接口
@@ -75,4 +76,20 @@ public interface ICheckCorrectionService extends IService<CheckCorrection> {
75
      * @return 结果
76
      * @return 结果
76
      */
77
      */
77
     public int rejectTask(CheckCorrection checkCorrection);
78
     public int rejectTask(CheckCorrection checkCorrection);
79
+
80
+    /**
81
+     * 批量审批任务(同意)
82
+     *
83
+     * @param approvalWorkflowBatchDto 批量审批参数
84
+     * @return 结果
85
+     */
86
+    public int approveTaskBatch(ApprovalWorkflowBatchDto approvalWorkflowBatchDto);
87
+
88
+    /**
89
+     * 批量审批任务(驳回)
90
+     *
91
+     * @param approvalWorkflowBatchDto 批量审批参数
92
+     * @return 结果
93
+     */
94
+    public int rejectTaskBatch(ApprovalWorkflowBatchDto approvalWorkflowBatchDto);
78
 }
95
 }

+ 52 - 0
airport-check/src/main/java/com/sundot/airport/check/service/impl/CheckCorrectionServiceImpl.java

@@ -13,6 +13,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
13
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
13
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
14
 import com.sundot.airport.check.domain.CheckProjectItem;
14
 import com.sundot.airport.check.domain.CheckProjectItem;
15
 import com.sundot.airport.check.domain.CheckUser;
15
 import com.sundot.airport.check.domain.CheckUser;
16
+import com.sundot.airport.common.core.domain.ApprovalWorkflowBatchDto;
16
 import com.sundot.airport.check.service.ICheckProjectItemService;
17
 import com.sundot.airport.check.service.ICheckProjectItemService;
17
 import com.sundot.airport.check.service.ICheckUserService;
18
 import com.sundot.airport.check.service.ICheckUserService;
18
 import com.sundot.airport.common.constant.Constants;
19
 import com.sundot.airport.common.constant.Constants;
@@ -29,6 +30,9 @@ import com.sundot.airport.common.utils.DateUtils;
29
 import com.sundot.airport.common.utils.SecurityUtils;
30
 import com.sundot.airport.common.utils.SecurityUtils;
30
 import com.sundot.airport.common.utils.StringUtils;
31
 import com.sundot.airport.common.utils.StringUtils;
31
 import com.sundot.airport.system.domain.approval.ApprovalInstance;
32
 import com.sundot.airport.system.domain.approval.ApprovalInstance;
33
+import com.sundot.airport.system.domain.approval.ApprovalTask;
34
+import com.sundot.airport.system.mapper.approval.ApprovalInstanceMapper;
35
+import com.sundot.airport.system.mapper.approval.ApprovalTaskMapper;
32
 import com.sundot.airport.system.service.approval.IApprovalEngineService;
36
 import com.sundot.airport.system.service.approval.IApprovalEngineService;
33
 import com.sundot.airport.system.service.approval.ICheckApprovalService;
37
 import com.sundot.airport.system.service.approval.ICheckApprovalService;
34
 import lombok.SneakyThrows;
38
 import lombok.SneakyThrows;
@@ -63,6 +67,10 @@ public class CheckCorrectionServiceImpl extends ServiceImpl<CheckCorrectionMappe
63
     private ICheckApprovalService checkApprovalService;
67
     private ICheckApprovalService checkApprovalService;
64
     @Autowired
68
     @Autowired
65
     private IApprovalEngineService approvalEngineService;
69
     private IApprovalEngineService approvalEngineService;
70
+    @Autowired
71
+    private ApprovalTaskMapper taskMapper;
72
+    @Autowired
73
+    private ApprovalInstanceMapper instanceMapper;
66
 
74
 
67
     /**
75
     /**
68
      * 查询问题整改
76
      * 查询问题整改
@@ -407,4 +415,48 @@ public class CheckCorrectionServiceImpl extends ServiceImpl<CheckCorrectionMappe
407
             throw new ServiceException("被检查级别数据异常");
415
             throw new ServiceException("被检查级别数据异常");
408
         }
416
         }
409
     }
417
     }
418
+
419
+    /**
420
+     * 批量审批任务(同意)
421
+     *
422
+     * @param approvalWorkflowBatchDto 批量审批参数
423
+     * @return 结果
424
+     */
425
+    @SneakyThrows
426
+    @Transactional(rollbackFor = Exception.class)
427
+    @Override
428
+    public int approveTaskBatch(ApprovalWorkflowBatchDto approvalWorkflowBatchDto) {
429
+        approvalWorkflowBatchDto.getTaskIdList().forEach(taskId -> {
430
+            ApprovalTask task = taskMapper.selectApprovalTaskById(taskId);
431
+            ApprovalInstance instance = instanceMapper.selectApprovalInstanceById(task.getInstanceId());
432
+            CheckCorrection checkCorrection = selectCheckCorrectionById(instance.getBusinessId());
433
+            Map<String, Object> formData = BeanUtil.beanToMap(checkCorrection);
434
+            try {
435
+                checkApprovalService.approveTask(taskId, approvalWorkflowBatchDto.getComment(), formData, SecurityUtils.getLoginUser().getUserId(), SecurityUtils.getLoginUser().getUsername());
436
+            } catch (Exception e) {
437
+                throw new ServiceException("审批失败");
438
+            }
439
+        });
440
+        return 1;
441
+    }
442
+
443
+    /**
444
+     * 批量审批任务(驳回)
445
+     *
446
+     * @param approvalWorkflowBatchDto 批量审批参数
447
+     * @return 结果
448
+     */
449
+    @SneakyThrows
450
+    @Transactional(rollbackFor = Exception.class)
451
+    @Override
452
+    public int rejectTaskBatch(ApprovalWorkflowBatchDto approvalWorkflowBatchDto) {
453
+        approvalWorkflowBatchDto.getTaskIdList().forEach(taskId -> {
454
+            try {
455
+                checkApprovalService.rejectTask(taskId, approvalWorkflowBatchDto.getComment(), SecurityUtils.getLoginUser().getUserId(), SecurityUtils.getLoginUser().getUsername());
456
+            } catch (Exception e) {
457
+                throw new ServiceException("审批失败");
458
+            }
459
+        });
460
+        return 1;
461
+    }
410
 }
462
 }

+ 26 - 0
airport-common/src/main/java/com/sundot/airport/common/core/domain/ApprovalWorkflowBatchDto.java

@@ -0,0 +1,26 @@
1
+package com.sundot.airport.common.core.domain;
2
+
3
+import lombok.Data;
4
+
5
+import java.util.List;
6
+
7
+/**
8
+ * 批量审批参数
9
+ *
10
+ * @author ruoyi
11
+ * @date 2025-09-07
12
+ */
13
+@Data
14
+public class ApprovalWorkflowBatchDto {
15
+
16
+    /**
17
+     * 任务ID列表
18
+     */
19
+    private List<Long> taskIdList;
20
+
21
+    /**
22
+     * 审批意见
23
+     */
24
+    private String comment;
25
+
26
+}