处理流程高亮时的问题
This commit is contained in:
parent
ec72a2c181
commit
7c624e7482
@ -185,13 +185,17 @@ public class ActivitiModelServiceImpl extends DefaultBaseService implements IAct
|
||||
BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinitionId);
|
||||
|
||||
//获取流程实例当前的节点,需要高亮显示
|
||||
List<String> highLightedActivitiIds = Collections.EMPTY_LIST;
|
||||
List<String> highLightedActivitiIds = new ArrayList<>();
|
||||
if (processInstance != null) {
|
||||
highLightedActivitiIds = runtimeService.getActiveActivityIds(processInstance.getId());
|
||||
List<String> activeActivityIds = runtimeService.getActiveActivityIds(processInstance.getId());
|
||||
highLightedActivitiIds.addAll(activeActivityIds);
|
||||
// 获取历史节点
|
||||
List<HistoricActivityInstance> historicActivityInstances = historyService.createHistoricActivityInstanceQuery().processInstanceId(processInstanceId).list();
|
||||
if (!historicActivityInstances.isEmpty()) {
|
||||
for (HistoricActivityInstance historicActivityInstance : historicActivityInstances) {
|
||||
if (isActiveActivityId(historicActivityInstance.getActivityId(), activeActivityIds)) {
|
||||
continue;
|
||||
}
|
||||
highLightedActivitiIds.add("#" + historicActivityInstance.getActivityId());
|
||||
}
|
||||
}
|
||||
@ -202,6 +206,25 @@ public class ActivitiModelServiceImpl extends DefaultBaseService implements IAct
|
||||
fontName, fontName, fontName, null, 1D);
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断历史节点是否是激活节点
|
||||
*
|
||||
* @param historyActivityId
|
||||
* @param activeActivityIds
|
||||
* @return
|
||||
*/
|
||||
private boolean isActiveActivityId(String historyActivityId, List<String> activeActivityIds) {
|
||||
if (activeActivityIds == null || activeActivityIds.isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
for (String activeActivityId : activeActivityIds) {
|
||||
if (StringUtils.equals(historyActivityId, activeActivityId)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 序列流列表
|
||||
*
|
||||
|
@ -52,8 +52,8 @@ public class CustomProcessDiagramCanvas {
|
||||
protected static Color EVENT_COLOR = new Color(255, 255, 255);
|
||||
protected static Color CONNECTION_COLOR = new Color(88, 88, 88);
|
||||
protected static Color CONDITIONAL_INDICATOR_COLOR = new Color(255, 255, 255);
|
||||
protected static Color HIGHLIGHT_COLOR = new Color(255, 87, 34);
|
||||
protected static Color HIGHLIGHT_HISTORY_COLOR = new Color(0, 150, 136);
|
||||
protected static Color HIGHLIGHT_COLOR = new Color(255, 0, 0);
|
||||
protected static Color HIGHLIGHT_HISTORY_COLOR = new Color(0, 255, 0);
|
||||
protected static Color LABEL_COLOR = Color.BLACK; // new Color(112, 146, 190);
|
||||
protected static Color TASK_BORDER_COLOR = new Color(187, 187, 187);
|
||||
protected static Color EVENT_BORDER_COLOR = new Color(88, 88, 88);
|
||||
@ -64,7 +64,7 @@ public class CustomProcessDiagramCanvas {
|
||||
protected static Font ANNOTATION_FONT = null;
|
||||
|
||||
// Strokes
|
||||
protected static Stroke THICK_TASK_BORDER_STROKE = new BasicStroke(2.0f);
|
||||
protected static Stroke THICK_TASK_BORDER_STROKE = new BasicStroke(3.0f);
|
||||
protected static Stroke GATEWAY_TYPE_STROKE = new BasicStroke(3.0f);
|
||||
protected static Stroke END_EVENT_STROKE = new BasicStroke(3.0f);
|
||||
protected static Stroke MULTI_INSTANCE_STROKE = new BasicStroke(1.3f);
|
||||
|
Loading…
Reference in New Issue
Block a user