update 导入时处理审批节点
This commit is contained in:
+8
-1
@@ -435,7 +435,14 @@ public class ModelerController {
|
|||||||
@PostMapping("/addTask")
|
@PostMapping("/addTask")
|
||||||
@ApiOperation("新增节点")
|
@ApiOperation("新增节点")
|
||||||
public Object addTask(@RequestBody AddTaskVO addTaskVO, HttpServletResponse response) {
|
public Object addTask(@RequestBody AddTaskVO addTaskVO, HttpServletResponse response) {
|
||||||
return processModelNodeService.addTask(addTaskVO,response);
|
processModelNodeService.addTask(addTaskVO,response);
|
||||||
|
return Result.OK();
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/deleteTask")
|
||||||
|
@ApiOperation("新增节点")
|
||||||
|
public Object deleteTask(@RequestBody AddTaskVO addTaskVO, HttpServletResponse response) {
|
||||||
|
return processModelNodeService.deleteTask(addTaskVO,response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+14
-12
@@ -54,13 +54,15 @@ public class ProcessModelNodeService extends ServiceImpl<ProcessModelNodeMapper,
|
|||||||
Collection<FlowElement> flowElements = process.getFlowElements();
|
Collection<FlowElement> flowElements = process.getFlowElements();
|
||||||
List<ProcessModelNode> processModelNodeList = new ArrayList<>();
|
List<ProcessModelNode> processModelNodeList = new ArrayList<>();
|
||||||
int sort = 1;
|
int sort = 1;
|
||||||
|
//审批节点list
|
||||||
List<String> gatewayIdList = new ArrayList<>();
|
List<String> gatewayIdList = new ArrayList<>();
|
||||||
|
//处理节点为list
|
||||||
processModelNodeList = handlerLawsProcessModelNode(flowElements,sort,gatewayIdList,modelId, null);
|
processModelNodeList = handlerLawsProcessModelNode(flowElements,sort,gatewayIdList,modelId, null);
|
||||||
List<String> approvalNodeIdList = processModelNodeList.stream()
|
List<String> approvalNodeIdList = processModelNodeList.stream()
|
||||||
.filter(item -> gatewayIdList.contains(item.getXmlTargetRef()))
|
.filter(item -> gatewayIdList.contains(item.getXmlTargetRef()))
|
||||||
.map(ProcessModelNode::getXmlSourceRef)
|
.map(ProcessModelNode::getXmlSourceRef)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
//判断是否是审批节点
|
||||||
for (ProcessModelNode processModelNode : processModelNodeList) {
|
for (ProcessModelNode processModelNode : processModelNodeList) {
|
||||||
String xmlNodeId = processModelNode.getXmlNodeId();
|
String xmlNodeId = processModelNode.getXmlNodeId();
|
||||||
if (approvalNodeIdList.contains(xmlNodeId) ){
|
if (approvalNodeIdList.contains(xmlNodeId) ){
|
||||||
@@ -150,22 +152,17 @@ public class ProcessModelNodeService extends ServiceImpl<ProcessModelNodeMapper,
|
|||||||
for (SequenceFlow outgoingFlow : outgoingFlows) {
|
for (SequenceFlow outgoingFlow : outgoingFlows) {
|
||||||
insertFlow(modelId, outgoingFlow);
|
insertFlow(modelId, outgoingFlow);
|
||||||
}
|
}
|
||||||
|
|
||||||
//把bpmnModel对象转换成字符
|
|
||||||
BpmnXMLConverter converter = new BpmnXMLConverter();
|
|
||||||
byte[] bytes = converter.convertToXML(bpmnModel);
|
|
||||||
ByteArrayInputStream in = new ByteArrayInputStream(bytes);
|
|
||||||
String filename = bpmnModel.getMainProcess().getId() + ".bpmn";
|
|
||||||
response.setContentType("application/force-download");// 设置强制下载不打开
|
|
||||||
response.setHeader("Content-Disposition", "attachment; filename=" + filename);
|
|
||||||
IOUtils.copy(in, response.getOutputStream());
|
|
||||||
response.flushBuffer();
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Object deleteTask(AddTaskVO addTaskVO, HttpServletResponse response) {
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
private void insertGateway(String modelId, ExclusiveGateway gateway) {
|
private void insertGateway(String modelId, ExclusiveGateway gateway) {
|
||||||
ProcessModelNode gatewayNode = new ProcessModelNode();
|
ProcessModelNode gatewayNode = new ProcessModelNode();
|
||||||
gatewayNode.setModelId(modelId);
|
gatewayNode.setModelId(modelId);
|
||||||
@@ -272,12 +269,15 @@ public class ProcessModelNodeService extends ServiceImpl<ProcessModelNodeMapper,
|
|||||||
xmlNodeId = sequenceFlow.getId();
|
xmlNodeId = sequenceFlow.getId();
|
||||||
xmlSourceRef = sequenceFlow.getSourceRef();
|
xmlSourceRef = sequenceFlow.getSourceRef();
|
||||||
xmlTargetRef = sequenceFlow.getTargetRef();
|
xmlTargetRef = sequenceFlow.getTargetRef();
|
||||||
|
if ("通过".equals(nodeName)){
|
||||||
|
gatewayIdList.add(xmlSourceRef);
|
||||||
|
}
|
||||||
} else if (flowElement instanceof ExclusiveGateway) {
|
} else if (flowElement instanceof ExclusiveGateway) {
|
||||||
ExclusiveGateway gateway = (ExclusiveGateway) flowElement;
|
ExclusiveGateway gateway = (ExclusiveGateway) flowElement;
|
||||||
nodeType = "gateway";
|
nodeType = "gateway";
|
||||||
nodeName = gateway.getName();
|
nodeName = gateway.getName();
|
||||||
xmlNodeId = gateway.getId();
|
xmlNodeId = gateway.getId();
|
||||||
gatewayIdList.add(xmlNodeId);
|
|
||||||
} else if (flowElement instanceof SubProcess) {
|
} else if (flowElement instanceof SubProcess) {
|
||||||
SubProcess subProcess = (SubProcess) flowElement;
|
SubProcess subProcess = (SubProcess) flowElement;
|
||||||
Collection<FlowElement> flowElements1 = subProcess.getFlowElements();
|
Collection<FlowElement> flowElements1 = subProcess.getFlowElements();
|
||||||
@@ -313,4 +313,6 @@ public class ProcessModelNodeService extends ServiceImpl<ProcessModelNodeMapper,
|
|||||||
}
|
}
|
||||||
return processModelNodeList;
|
return processModelNodeList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user