Ver Fonte

矿山域-流程管理

ltt há 1 ano atrás
pai
commit
5dc4fed7a1

+ 20 - 2
business-modules/business-mine/src/main/java/com/sckw/mine/service/WorkFlowService.java

@@ -63,7 +63,15 @@ public class WorkFlowService {
         if (param.getWorkFlowNode().isEmpty()) {
             return HttpResult.error("流程节点不能为空");
         }
-
+        List<WorkFlowNodeDTO> workFlowNode = param.getWorkFlowNode();
+        String lastNodeId = workFlowNode.get(0).getNodeId();
+        for (int f = 1; f < workFlowNode.size(); f++) {
+            String currentNodeId = workFlowNode.get(f).getNodeId();
+            if (Integer.valueOf(currentNodeId) > Integer.valueOf(lastNodeId)) {
+                return HttpResult.error("请按照正确的顺序添加");
+            }
+            lastNodeId = currentNodeId; // 更新上一个节点的ID
+        }
 
         KwBusinessWorkFlow kwBusinessWorkFlow = BeanUtil.copyProperties(param, KwBusinessWorkFlow.class);
 
@@ -77,7 +85,7 @@ public class WorkFlowService {
         kwBusinessWorkFlow.setWorkCode(workCode);
         workFlowMapper.insert(kwBusinessWorkFlow);
         //流程节点新增
-        insertWorkFlowNode(String.valueOf(workFlowId), param.getWorkFlowNode());
+        insertWorkFlowNode(String.valueOf(workFlowId), workFlowNode);
         return HttpResult.ok("添加成功");
     }
 
@@ -105,6 +113,16 @@ public class WorkFlowService {
             return HttpResult.error("当前流程名称已存在,请重新输入");
         }
 
+        List<WorkFlowNodeDTO> workFlowNode = param.getWorkFlowNode();
+        String lastNodeId = workFlowNode.get(0).getNodeId();
+        for (int f = 1; f < workFlowNode.size(); f++) {
+            String currentNodeId = workFlowNode.get(f).getNodeId();
+            if (Integer.valueOf(currentNodeId) > Integer.valueOf(lastNodeId)) {
+                return HttpResult.error("请按照正确的顺序添加");
+            }
+            lastNodeId = currentNodeId; // 更新上一个节点的ID
+        }
+
         KwBusinessWorkFlow kwBusinessWorkFlow = BeanUtil.copyProperties(param, KwBusinessWorkFlow.class);
         int i = workFlowMapper.updateById(kwBusinessWorkFlow);
         if (i > 0) {