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