1、优化getTaskTree中查询流程模板的代码
This commit is contained in:
@@ -508,6 +508,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
Map<Long,CIDUserResp> cidUserMap = new HashMap<>();
|
||||
Map<Long,String> dataMap = new HashMap<>();
|
||||
Map<String,List<TaskNodeExtraPo>> taskExtraMap = new HashMap<>();
|
||||
Map<String, FlowTemplateResp> flowTemplateRespMap = new HashMap<>();
|
||||
List<SimulationPerformanceExtra> performanceExtraList = new ArrayList<>();
|
||||
List<SpdmNodeExtraVo> nodeExtraList = new ArrayList<>();
|
||||
if (CollectionUtils.isNotEmpty(taskTreeTaskList)) {
|
||||
@@ -569,6 +570,18 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
taskTreePerformanceList.stream().map(PerformanceNodePo::getUuid).toList()).list();
|
||||
}
|
||||
nodeExtraList = nodeMapper.getNodeExtraListByNodeIdList(realTopProjectNodeList.stream().map(ProjectNodePo::getUuid).toList());
|
||||
|
||||
List<String> templateCodeList = taskTreeTaskList.stream().map(TaskNodePo::getFlowTemplate).filter(StringUtils::isNotBlank).toList();
|
||||
if (CollectionUtils.isNotEmpty(templateCodeList)) {
|
||||
try {
|
||||
SdmResponse<Map<String, FlowTemplateResp>> flowTemplateResponse = flowFeignClient.batchQueryFlowTemplate(templateCodeList);
|
||||
if (flowTemplateResponse.isSuccess()) {
|
||||
flowTemplateRespMap = flowTemplateResponse.getData();
|
||||
}
|
||||
}catch (Exception ex) {
|
||||
log.error("批量查询模板库异常");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -576,7 +589,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
|
||||
for (ProjectNodePo projectNodePo : realTopProjectNodeList) {
|
||||
generateTaskTree(projectNodePo,addedIdList,currentAddedIdList,queryTaskFlag,taskMemberMap,cidUserMap,
|
||||
dataMap,taskExtraMap,performanceExtraList,nodeExtraList);
|
||||
dataMap,taskExtraMap,performanceExtraList,nodeExtraList,flowTemplateRespMap);
|
||||
addedIdList.clear();
|
||||
}
|
||||
// 汇总任务进度、仿真负责人、执行人
|
||||
@@ -739,7 +752,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
}
|
||||
|
||||
private void generateTaskTree(ProjectNodePo projectNodePo,List<String> addedIdList,List<String> currentAddedIdList,Integer queryTaskFlag,Map<String,List<SimulationTaskMember>> taskMemberMap,Map<Long,CIDUserResp> cidUserMap,Map<Long,String> dataMap,Map<String,List<TaskNodeExtraPo>> taskExtraMap,
|
||||
List<SimulationPerformanceExtra> performanceExtraList,List<SpdmNodeExtraVo> nodeExtraList) {
|
||||
List<SimulationPerformanceExtra> performanceExtraList,List<SpdmNodeExtraVo> nodeExtraList,Map<String, FlowTemplateResp> flowTemplateRespMap) {
|
||||
currentAddedIdList.add(projectNodePo.getUuid());
|
||||
String currentNodeType = projectNodePo.getNodeType();
|
||||
String currentTag = taskTreeNodeTypeTagMap.get(currentNodeType);
|
||||
@@ -834,11 +847,11 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
List<String> flowTemplateNameList = new ArrayList<>();
|
||||
String[] flowTemplateArr = taskNodePo.getFlowTemplate().split(",");
|
||||
for (String flowTemplate : flowTemplateArr) {
|
||||
SdmResponse<FlowTemplateResp> flowTemplateResp = flowFeignClient.queryFlowTemplateInfoByTemplateCode(flowTemplate);
|
||||
if (flowTemplateResp.getData() == null) {
|
||||
FlowTemplateResp flowTemplateResp = flowTemplateRespMap.get(flowTemplate);
|
||||
if (ObjectUtils.isEmpty(flowTemplateResp)) {
|
||||
continue;
|
||||
}
|
||||
flowTemplateNameList.add(flowTemplateResp.getData().getTemplateName());
|
||||
flowTemplateNameList.add(flowTemplateResp.getTemplateName());
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(flowTemplateNameList)) {
|
||||
taskNodePo.setFlowTemplateNames(String.join(",", flowTemplateNameList));
|
||||
@@ -980,7 +993,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
// 递归
|
||||
for (ProjectNodePo nodePo : sameTypeNodeList) {
|
||||
generateTaskTree(nodePo,addedIdList,currentAddedIdList,queryTaskFlag,taskMemberMap,cidUserMap,
|
||||
dataMap,taskExtraMap,performanceExtraList,nodeExtraList);
|
||||
dataMap,taskExtraMap,performanceExtraList,nodeExtraList,flowTemplateRespMap);
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(sameTypeNodeList)) {
|
||||
addedIdList.addAll(sameTypeNodeList.stream().map(ProjectNodePo::getUuid).toList());
|
||||
@@ -1009,7 +1022,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
// 递归
|
||||
for (ProjectNodePo nodePo : childrenTypeNodeList) {
|
||||
generateTaskTree(nodePo,addedIdList,currentAddedIdList,queryTaskFlag,taskMemberMap,cidUserMap,
|
||||
dataMap,taskExtraMap,performanceExtraList,nodeExtraList);
|
||||
dataMap,taskExtraMap,performanceExtraList,nodeExtraList,flowTemplateRespMap);
|
||||
}
|
||||
addedIdList.addAll(childrenTypeNodeList.stream().map(ProjectNodePo::getUuid).toList());
|
||||
for (ProjectNodePo nodePo : childrenTypeNodeList) {
|
||||
@@ -1042,7 +1055,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
// 递归
|
||||
for (ProjectNodePo nodePo : otherChildrenNodeList) {
|
||||
generateTaskTree(nodePo,addedIdList,currentAddedIdList,queryTaskFlag,taskMemberMap,cidUserMap,
|
||||
dataMap,taskExtraMap,performanceExtraList,nodeExtraList);
|
||||
dataMap,taskExtraMap,performanceExtraList,nodeExtraList,flowTemplateRespMap);
|
||||
}
|
||||
addedIdList.addAll(otherChildrenNodeList.stream().map(ProjectNodePo::getUuid).toList());
|
||||
for (ProjectNodePo nodePo : otherChildrenNodeList) {
|
||||
|
||||
Reference in New Issue
Block a user