|
@@ -34,10 +34,7 @@ import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Objects;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -215,10 +212,24 @@ public class ProcessTaskServiceImpl implements IProcessTaskService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<String> listPreviousNodeNames(Long taskId) {
|
|
|
+ public List<Map<String, String>> listPreviousNodes(Long taskId) {
|
|
|
FlwTask flwTask = this.getFlwTask(taskId);
|
|
|
ProcessModel processModel = flowLongEngine.runtimeService().getProcessModelByInstanceId(flwTask.getInstanceId());
|
|
|
- return ModelHelper.getAllPreviousNodeKeys(processModel.getNode(flwTask.getTaskName()));
|
|
|
+ List<String> nodeKeys = ModelHelper.getAllPreviousNodeKeys(processModel.getNode(flwTask.getTaskKey()));
|
|
|
+ List<Map<String, String>> mapList = new ArrayList<>();
|
|
|
+ if (CollectionUtils.isNotEmpty(nodeKeys)) {
|
|
|
+ for (String nodeKey : nodeKeys) {
|
|
|
+ // 模型中找到可回退历史节点信息
|
|
|
+ NodeModel nodeModel = processModel.getNode(nodeKey);
|
|
|
+ if (null != nodeModel) {
|
|
|
+ Map<String, String> map = new HashMap<>();
|
|
|
+ map.put("nodeName", nodeModel.getNodeName());
|
|
|
+ map.put("nodeKey", nodeModel.getNodeKey());
|
|
|
+ mapList.add(map);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return mapList;
|
|
|
}
|
|
|
|
|
|
@Override
|