|
@@ -3,6 +3,7 @@ package org.jeecg.modules.activiti.web;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
|
@@ -20,9 +21,12 @@ import org.activiti.engine.repository.ProcessDefinition;
|
|
|
import org.activiti.engine.runtime.ProcessInstance;
|
|
|
import org.activiti.engine.task.Task;
|
|
|
import org.activiti.image.ProcessDiagramGenerator;
|
|
|
+import org.checkerframework.checker.units.qual.A;
|
|
|
import org.jeecg.common.api.vo.Result;
|
|
|
import org.jeecg.common.exception.JeecgBootException;
|
|
|
+import org.jeecg.modules.activiti.entity.ActNode;
|
|
|
import org.jeecg.modules.activiti.entity.ActZprocess;
|
|
|
+import org.jeecg.modules.activiti.service.IActNodeService;
|
|
|
import org.jeecg.modules.activiti.service.Impl.ActZprocessServiceImpl;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Controller;
|
|
@@ -36,6 +40,7 @@ import java.io.UnsupportedEncodingException;
|
|
|
import java.net.URLEncoder;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Controller
|
|
|
@RequestMapping("/activiti/models")
|
|
@@ -55,6 +60,8 @@ public class ActivitiModelController {
|
|
|
private ObjectMapper objectMapper;
|
|
|
@Autowired
|
|
|
private ActZprocessServiceImpl actZprocessService;
|
|
|
+ @Autowired
|
|
|
+ private IActNodeService actNodeService;
|
|
|
|
|
|
@RequestMapping("/modelListData")
|
|
|
@ResponseBody
|
|
@@ -145,6 +152,13 @@ public class ActivitiModelController {
|
|
|
if(model.getProcesses().size()==0){
|
|
|
return Result.error("模型不符要求,请至少设计一条主线流程");
|
|
|
}
|
|
|
+ List<String> nodeIds = model.getProcesses().get(0).getFlowElements().stream().map(t -> t.getId()).collect(Collectors.toList());
|
|
|
+ List<ActNode> nodeList = actNodeService.list(new QueryWrapper<ActNode>().in("node_id", nodeIds));
|
|
|
+ if(nodeList.size()!=0){
|
|
|
+ return Result.error("流程id名称已经存在:"+nodeList.get(0).getNodeId());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
byte[] bpmnBytes = new BpmnXMLConverter().convertToXML(model);
|
|
|
|
|
|
// 部署发布模型流程
|