处理实例流程图问题
This commit is contained in:
parent
5d3ea2f478
commit
768b55c58f
@ -166,10 +166,11 @@ public class ActivitiModelServiceImpl extends DefaultBaseService implements IAct
|
||||
public InputStream getRuntimeProcessImageInputStream(String processInstanceId) {
|
||||
//获得流程实例
|
||||
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
|
||||
HistoricProcessInstance processInstanceHistory;
|
||||
String processDefinitionId;
|
||||
if (processInstance == null) {
|
||||
//查询已经结束的流程实例
|
||||
HistoricProcessInstance processInstanceHistory = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
|
||||
processInstanceHistory = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
|
||||
if (processInstanceHistory == null) {
|
||||
return null;
|
||||
} else {
|
||||
@ -187,6 +188,7 @@ public class ActivitiModelServiceImpl extends DefaultBaseService implements IAct
|
||||
//获取流程实例当前的节点,需要高亮显示
|
||||
List<String> highLightedActivitiIds = new ArrayList<>();
|
||||
if (processInstance != null) {
|
||||
// 正在运行的流程
|
||||
List<String> activeActivityIds = runtimeService.getActiveActivityIds(processInstance.getId());
|
||||
// 先添加历史节点
|
||||
List<HistoricActivityInstance> historicActivityInstances = historyService.createHistoricActivityInstanceQuery().processInstanceId(processInstanceId).list();
|
||||
@ -195,11 +197,21 @@ public class ActivitiModelServiceImpl extends DefaultBaseService implements IAct
|
||||
if (isActiveActivityId(historicActivityInstance.getActivityId(), activeActivityIds)) {
|
||||
continue;
|
||||
}
|
||||
highLightedActivitiIds.add("#" + historicActivityInstance.getActivityId());
|
||||
highLightedActivitiIds.add(historicActivityInstance.getActivityId());
|
||||
}
|
||||
}
|
||||
// 添加现有节点
|
||||
highLightedActivitiIds.addAll(activeActivityIds);
|
||||
for (String activeActivityId : activeActivityIds) {
|
||||
highLightedActivitiIds.add("#" + activeActivityId);
|
||||
}
|
||||
} else {
|
||||
// 历史流程
|
||||
List<HistoricActivityInstance> historicActivityInstances = historyService.createHistoricActivityInstanceQuery().processInstanceId(processInstanceId).list();
|
||||
if (!historicActivityInstances.isEmpty()) {
|
||||
for (HistoricActivityInstance historicActivityInstance : historicActivityInstances) {
|
||||
highLightedActivitiIds.add(historicActivityInstance.getActivityId());
|
||||
}
|
||||
}
|
||||
}
|
||||
List<String> listSequenceFlows = listSequenceFlows(bpmnModel, highLightedActivitiIds);
|
||||
CustomProcessDiagramGenerator customProcessDiagramGenerator = new CustomProcessDiagramGenerator();
|
||||
|
@ -555,11 +555,11 @@ public class CustomProcessDiagramGenerator implements ProcessDiagramGenerator {
|
||||
}
|
||||
|
||||
// Draw highlighted activities
|
||||
if (highLightedActivities.contains(flowNode.getId())) {
|
||||
if (highLightedActivities.contains("#" + flowNode.getId())) {
|
||||
drawHighLight(processDiagramCanvas, bpmnModel.getGraphicInfo(flowNode.getId()));
|
||||
}
|
||||
// Drow highlighted history activities
|
||||
if (highLightedActivities.contains("#" + flowNode.getId())) {
|
||||
if (highLightedActivities.contains(flowNode.getId())) {
|
||||
drawHighLightHistory(processDiagramCanvas, bpmnModel.getGraphicInfo(flowNode.getId()));
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user