update 导入时处理审批节点
This commit is contained in:
+8
-1
@@ -435,7 +435,14 @@ public class ModelerController {
|
||||
@PostMapping("/addTask")
|
||||
@ApiOperation("新增节点")
|
||||
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();
|
||||
List<ProcessModelNode> processModelNodeList = new ArrayList<>();
|
||||
int sort = 1;
|
||||
//审批节点list
|
||||
List<String> gatewayIdList = new ArrayList<>();
|
||||
//处理节点为list
|
||||
processModelNodeList = handlerLawsProcessModelNode(flowElements,sort,gatewayIdList,modelId, null);
|
||||
List<String> approvalNodeIdList = processModelNodeList.stream()
|
||||
.filter(item -> gatewayIdList.contains(item.getXmlTargetRef()))
|
||||
.map(ProcessModelNode::getXmlSourceRef)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
//判断是否是审批节点
|
||||
for (ProcessModelNode processModelNode : processModelNodeList) {
|
||||
String xmlNodeId = processModelNode.getXmlNodeId();
|
||||
if (approvalNodeIdList.contains(xmlNodeId) ){
|
||||
@@ -150,22 +152,17 @@ public class ProcessModelNodeService extends ServiceImpl<ProcessModelNodeMapper,
|
||||
for (SequenceFlow outgoingFlow : outgoingFlows) {
|
||||
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) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public Object deleteTask(AddTaskVO addTaskVO, HttpServletResponse response) {
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private void insertGateway(String modelId, ExclusiveGateway gateway) {
|
||||
ProcessModelNode gatewayNode = new ProcessModelNode();
|
||||
gatewayNode.setModelId(modelId);
|
||||
@@ -272,12 +269,15 @@ public class ProcessModelNodeService extends ServiceImpl<ProcessModelNodeMapper,
|
||||
xmlNodeId = sequenceFlow.getId();
|
||||
xmlSourceRef = sequenceFlow.getSourceRef();
|
||||
xmlTargetRef = sequenceFlow.getTargetRef();
|
||||
if ("通过".equals(nodeName)){
|
||||
gatewayIdList.add(xmlSourceRef);
|
||||
}
|
||||
} else if (flowElement instanceof ExclusiveGateway) {
|
||||
ExclusiveGateway gateway = (ExclusiveGateway) flowElement;
|
||||
nodeType = "gateway";
|
||||
nodeName = gateway.getName();
|
||||
xmlNodeId = gateway.getId();
|
||||
gatewayIdList.add(xmlNodeId);
|
||||
|
||||
} else if (flowElement instanceof SubProcess) {
|
||||
SubProcess subProcess = (SubProcess) flowElement;
|
||||
Collection<FlowElement> flowElements1 = subProcess.getFlowElements();
|
||||
@@ -313,4 +313,6 @@ public class ProcessModelNodeService extends ServiceImpl<ProcessModelNodeMapper,
|
||||
}
|
||||
return processModelNodeList;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user