浏览代码

新增添加步骤时的校验

车车 4 月之前
父节点
当前提交
3cf9af2f36

+ 3 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workflow/vo/WorkflowStepPageReqVO.java

@@ -24,6 +24,9 @@ public class WorkflowStepPageReqVO extends PageParam {
     @Schema(description = "名称", example = "赵六")
     private String stepName;
 
+    @Schema(description = "图标", example = "HTTP://1212131")
+    private String stepIcon;
+
     @Schema(description = "标题")
     private String stepTitle;
 

+ 3 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workflow/vo/WorkflowStepRespVO.java

@@ -32,6 +32,9 @@ public class WorkflowStepRespVO {
     @ExcelProperty("名称")
     private String stepName;
 
+    @Schema(description = "图标", example = "HTTP://1212131")
+    private String stepIcon;
+
     @Schema(description = "标题")
     @ExcelProperty("标题")
     private String stepTitle;

+ 3 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workflow/vo/WorkflowStepSaveReqVO.java

@@ -25,6 +25,9 @@ public class WorkflowStepSaveReqVO {
     @Schema(description = "名称", example = "赵六")
     private String stepName;
 
+    @Schema(description = "图标", example = "HTTP://1212131")
+    private String stepIcon;
+
     @Schema(description = "标题")
     private String stepTitle;
 

+ 3 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workflow/vo/WorkflowStepTemplatePageReqVO.java

@@ -22,6 +22,9 @@ public class WorkflowStepTemplatePageReqVO extends PageParam {
     @Schema(description = "名称", example = "李四")
     private String stepName;
 
+    @Schema(description = "图标", example = "HTTP://1212131")
+    private String stepIcon;
+
     @Schema(description = "标题")
     private String stepTitle;
 

+ 3 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workflow/vo/WorkflowStepTemplateRespVO.java

@@ -28,6 +28,9 @@ public class WorkflowStepTemplateRespVO {
     @ExcelProperty("名称")
     private String stepName;
 
+    @Schema(description = "图标", example = "HTTP://1212131")
+    private String stepIcon;
+
     @Schema(description = "标题")
     @ExcelProperty("标题")
     private String stepTitle;

+ 3 - 1
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workflow/vo/WorkflowStepTemplateSaveReqVO.java

@@ -1,7 +1,6 @@
 package cn.iocoder.yudao.module.iscs.controller.admin.workflow.vo;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import jakarta.validation.constraints.NotEmpty;
 import lombok.Data;
 
 @Schema(description = "管理后台 - 工作流步骤模板新增/修改 Request VO")
@@ -21,6 +20,9 @@ public class WorkflowStepTemplateSaveReqVO {
     @Schema(description = "名称", example = "李四")
     private String stepName;
 
+    @Schema(description = "图标", example = "HTTP://1212131")
+    private String stepIcon;
+
     @Schema(description = "标题")
     private String stepTitle;
 

+ 23 - 5
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/workflow/WorkflowStepServiceImpl.java

@@ -1,18 +1,17 @@
 package cn.iocoder.yudao.module.iscs.service.workflow;
 
-import cn.hutool.core.lang.Assert;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.module.iscs.controller.admin.workflow.vo.WorkflowStepPageReqVO;
 import cn.iocoder.yudao.module.iscs.controller.admin.workflow.vo.WorkflowStepSaveReqVO;
 import cn.iocoder.yudao.module.iscs.dal.dataobject.workflow.WorkflowStepDO;
-import cn.iocoder.yudao.module.iscs.dal.dataobject.workflow.WorkflowStepTemplateDO;
 import cn.iocoder.yudao.module.iscs.dal.mysql.workflow.WorkflowStepMapper;
-import cn.iocoder.yudao.module.iscs.dal.mysql.workflow.WorkflowStepTemplateMapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import jakarta.annotation.Resource;
-import org.apache.ibatis.annotations.Delete;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.util.Assert;
 import org.springframework.validation.annotation.Validated;
 
 import java.util.List;
@@ -34,10 +33,29 @@ public class WorkflowStepServiceImpl extends ServiceImpl<WorkflowStepMapper, Wor
     @Override
     public Long createWorkflowStep(WorkflowStepSaveReqVO createReqVO) {
         // 如果步骤模板不是空,则开始复制模板
-        if (createReqVO.getStepTemplateId() != null) {
+        /*if (createReqVO.getStepTemplateId() != null) {
             WorkflowStepTemplateDO stepTemplateDO = workflowStepTemplateService.getById(createReqVO.getStepTemplateId());
             Assert.isFalse(stepTemplateDO == null, "模板数据消失啦!");
             BeanUtils.toBean(createReqVO, WorkflowStepDO.class);
+        }*/
+        // 检查序号是否重复
+        List<WorkflowStepDO> list = list(Wrappers.<WorkflowStepDO>lambdaQuery()
+                .eq(WorkflowStepDO::getModeId, createReqVO.getModeId())
+                .eq(WorkflowStepDO::getStepIndex, createReqVO.getStepIndex()));
+        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()));
+            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()));
+            Assert.isTrue(list2.isEmpty(), "存在重复名称的步骤,请检查!");
         }
         // 插入
         WorkflowStepDO workflowStep = BeanUtils.toBean(createReqVO, WorkflowStepDO.class);