1、解决编辑节点报错
This commit is contained in:
@@ -115,7 +115,7 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
@Autowired
|
||||
private SimulationProjectMapper projectMapper;
|
||||
|
||||
public static final String SYNC_PROJECT_SOURCE = "同步";
|
||||
public static final String SYNC_PROJECT_SOURCE = "EP";
|
||||
|
||||
@Autowired
|
||||
private LyricVMainPlanDMService lyricVMainPlanDMService;
|
||||
@@ -518,6 +518,7 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
List<SpdmNodeRelateMemberReq> allNodeManagerList = new ArrayList<>();
|
||||
List<SpdmNodeExtraReq> extraList;
|
||||
List<SpdmNodeExtraReq> allExtraList = new ArrayList<>();
|
||||
List<String> nodeIdList = editNodeList.stream().map(SpdmNodeDetailReq::getUuid).toList();
|
||||
for (SpdmNodeDetailReq editNode : editNodeList) {
|
||||
editNode.setUpdateTime(curDateStr);
|
||||
editNode.setUpdater(jobNumber);
|
||||
@@ -537,6 +538,7 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
extraList.forEach(extra -> {
|
||||
extra.setUpdateTime(curDateStr);
|
||||
extra.setUpdater(jobNumber);
|
||||
extra.setNodeId(editNode.getUuid());
|
||||
});
|
||||
allExtraList.addAll(extraList);
|
||||
}
|
||||
@@ -562,11 +564,31 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
}
|
||||
|
||||
if (CollectionUtils.isNotEmpty(allExtraList)) {
|
||||
List<SpdmNodeExtraVo> nodeExtraList = nodeMapper.getNodeExtraListByNodeIdList(nodeIdList);
|
||||
Map<String, List<SpdmNodeExtraVo>> nodeExtraMap = Map.of();
|
||||
if (CollectionUtils.isNotEmpty(nodeExtraList)) {
|
||||
nodeExtraMap = nodeExtraList.stream().collect(Collectors.groupingBy(SpdmNodeExtraVo::getNodeId));
|
||||
}
|
||||
List<SpdmNodeExtraReq> saveExtraList = new ArrayList<>();
|
||||
List<SpdmNodeExtraVo> eachNodeExtraVoList;
|
||||
for (SpdmNodeExtraReq nodeExtra : allExtraList) {
|
||||
if (nodeMapper.editNodeExtra(nodeExtra) <= 0) {
|
||||
return false;
|
||||
nodeExtra.setCreateTime(curDateStr);
|
||||
eachNodeExtraVoList = nodeExtraMap.get(nodeExtra.getNodeId());
|
||||
if (CollectionUtils.isNotEmpty(eachNodeExtraVoList)) {
|
||||
Optional<SpdmNodeExtraVo> updateNodeExtraOptional = eachNodeExtraVoList.stream().filter(node -> StringUtils.isNotBlank(nodeExtra.getPropertyName()) && nodeExtra.getPropertyName().equals(node.getPropertyName())).findFirst();
|
||||
if (updateNodeExtraOptional.isPresent()) {
|
||||
nodeExtra.setId(updateNodeExtraOptional.get().getId());
|
||||
if (nodeMapper.editNodeExtra(nodeExtra) <= 0) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}else {
|
||||
saveExtraList.add(nodeExtra);
|
||||
}
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(saveExtraList)) {
|
||||
nodeMapper.addNodeExtraBatch(saveExtraList);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user