车车 4 сар өмнө
parent
commit
9d3acbbd1b

+ 7 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workflow/WorkflowStepController.java

@@ -37,6 +37,13 @@ public class WorkflowStepController {
         return success(workflowStepService.createWorkflowStep(createReqVO));
     }
 
+    @PostMapping("/updateWorkflowStep")
+    @Operation(summary = "修改工作流步骤")
+    @PreAuthorize("@ss.hasPermission('iscs:workflow-step:update')")
+    public CommonResult<Long> updateWorkflowStep(@Valid @RequestBody WorkflowStepSaveReqVO createReqVO) {
+        return success(workflowStepService.updateWorkflowStep(createReqVO));
+    }
+
     @GetMapping("/getWorkflowStepPage")
     @Operation(summary = "获得工作流步骤分页")
     @PreAuthorize("@ss.hasPermission('iscs:workflow-step:query')")

+ 8 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/workflow/WorkflowStepService.java

@@ -24,6 +24,14 @@ public interface WorkflowStepService extends IService<WorkflowStepDO> {
      */
     Long createWorkflowStep(@Valid WorkflowStepSaveReqVO createReqVO);
 
+    /**
+     * 修改工作流步骤
+     *
+     * @param createReqVO 创建信息
+     * @return 编号
+     */
+    Long updateWorkflowStep(@Valid WorkflowStepSaveReqVO createReqVO);
+
     /**
     * 批量删除工作流步骤
     *

+ 33 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/workflow/WorkflowStepServiceImpl.java

@@ -65,6 +65,39 @@ public class WorkflowStepServiceImpl extends ServiceImpl<WorkflowStepMapper, Wor
         return workflowStep.getId();
     }
 
+    @Override
+    public Long updateWorkflowStep(WorkflowStepSaveReqVO createReqVO) {
+        Assert.notNull(createReqVO.getId(), "主键id不可为空!");
+        // 检查序号是否重复
+        List<WorkflowStepDO> list = list(Wrappers.<WorkflowStepDO>lambdaQuery()
+                .eq(WorkflowStepDO::getModeId, createReqVO.getModeId())
+                .eq(WorkflowStepDO::getStepIndex, createReqVO.getStepIndex())
+                .ne(WorkflowStepDO::getId, createReqVO.getId()));
+        Assert.isTrue(list.isEmpty(), "序号重复,请检查!");
+        // 检查重复步骤
+        if (StringUtils.isNotBlank(createReqVO.getStepName())) {
+            List<WorkflowStepDO> list1 = list(Wrappers.<WorkflowStepDO>lambdaQuery()
+                    .eq(WorkflowStepDO::getModeId, createReqVO.getModeId())
+                    .eq(WorkflowStepDO::getStepName, createReqVO.getStepName())
+                    .ne(WorkflowStepDO::getId, createReqVO.getId()));
+            Assert.isTrue(list1.isEmpty(), "存在重复名称的步骤,请检查!");
+        }
+        // 检查重复选取模板步骤
+        if (createReqVO.getStepTemplateId() != null) {
+            List<WorkflowStepDO> list2 = list(Wrappers.<WorkflowStepDO>lambdaQuery()
+                    .eq(WorkflowStepDO::getModeId, createReqVO.getModeId())
+                    .eq(WorkflowStepDO::getStepTemplateId, createReqVO.getStepTemplateId())
+                    .ne(WorkflowStepDO::getId, createReqVO.getId()));
+            Assert.isTrue(list2.isEmpty(), "存在重复名称的步骤,请检查!");
+        }
+        // 修改
+        WorkflowStepDO workflowStep = BeanUtils.toBean(createReqVO, WorkflowStepDO.class);
+        workflowStepMapper.updateById(workflowStep);
+
+        // 返回
+        return workflowStep.getId();
+    }
+
 
     @Override
     public void deleteWorkflowStepListByIds(List<Long> ids) {