fix:仿真策划版本修改

This commit is contained in:
2026-03-09 16:40:36 +08:00
parent b1ff54f5fa
commit c125061483

View File

@@ -2730,86 +2730,56 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
return SdmResponse.failed("发起评审失败");
}
}
// 不需要评审 直接升版 or 不升
if (req.isBNewVersion()) {
// 构造查询任务树的入参
ProjectTreeTagReq getTaskTreeReq = req.getTaskTreeReq;
SdmResponse beforeTreeResp = getTaskTree(getTaskTreeReq);
// 获取修改前的任务树
String beforeContents = null;
if (beforeTreeResp.getData() != null) {
beforeContents = JSONObject.toJSONString(beforeTreeResp.getData());
}
// 修改当前策划版本
SdmResponse response = modify(req);
if (!response.isSuccess()) {
return response;
} else {
// 获取修改过后的任务树
SdmResponse treeRespond = getTaskTree(getTaskTreeReq);
if (treeRespond.getData() != null) {
String viewContents = JSONObject.toJSONString(treeRespond.getData());
List<SimulationDesignVersions> designVersions = simulationDesignVersionsService.lambdaQuery()
.eq(SimulationDesignVersions::getProjectId, req.getProjectNodeId())
.eq(SimulationDesignVersions::getPhaseId, req.getPhaseNodeId())
.list();
if (CollectionUtils.isNotEmpty(designVersions)) {
// 根据最新版本升版
SimulationDesignVersions latestVersion = designVersions.stream().sorted(Comparator.comparing(SimulationDesignVersions::getCreateTime).reversed()).collect(Collectors.toList()).get(0);
String newVersion = generateVersion(latestVersion.getCurrentVersion(), req.versionType);
SimulationDesignVersions newDesignVersion = new SimulationDesignVersions();
newDesignVersion.setProjectId(req.getProjectNodeId());
newDesignVersion.setPhaseId(req.getPhaseNodeId());
// 不需要评审 直接升版 or 不升
// 构造查询任务树的入参
ProjectTreeTagReq getTaskTreeReq = req.getTaskTreeReq;
SdmResponse beforeTreeResp = getTaskTree(getTaskTreeReq);
// 获取修改前的任务树
String beforeContents = null;
if (beforeTreeResp.getData() != null) {
beforeContents = JSONObject.toJSONString(beforeTreeResp.getData());
}
// 修改当前策划版本
SdmResponse response = modify(req);
if (!response.isSuccess()) {
return response;
} else {
// 获取修改过后的任务树
SdmResponse treeRespond = getTaskTree(getTaskTreeReq);
if (treeRespond.getData() != null) {
String viewContents = JSONObject.toJSONString(treeRespond.getData());
List<SimulationDesignVersions> designVersions = simulationDesignVersionsService.lambdaQuery()
.eq(SimulationDesignVersions::getProjectId, req.getProjectNodeId())
.eq(SimulationDesignVersions::getPhaseId, req.getPhaseNodeId())
.list();
if (CollectionUtils.isNotEmpty(designVersions)) {
// 根据最新版本升版
SimulationDesignVersions latestVersion = designVersions.stream().sorted(Comparator.comparing(SimulationDesignVersions::getCreateTime).reversed()).collect(Collectors.toList()).get(0);
String newVersion = generateVersion(latestVersion.getCurrentVersion(), req.versionType);
SimulationDesignVersions newDesignVersion = new SimulationDesignVersions();
newDesignVersion.setProjectId(req.getProjectNodeId());
newDesignVersion.setPhaseId(req.getPhaseNodeId());
// 是否升版
if (req.isBNewVersion()) {
newDesignVersion.setCurrentVersion(newVersion);
newDesignVersion.setParentVersion(latestVersion.getCurrentVersion());
newDesignVersion.setCreator(userId);
newDesignVersion.setVersionContents(viewContents);
newDesignVersion.setBeforeContents(beforeContents);
newDesignVersion.setCidFlowId(req.getCidFlowId());
simulationDesignVersionsService.save(newDesignVersion);
} else {
addNewVersion(req.getProjectNodeId(), req.getPhaseNodeId(), "V1.0", viewContents, userId, req.getCidFlowId());
newDesignVersion.setCurrentVersion(latestVersion.getCurrentVersion());
newDesignVersion.setParentVersion(latestVersion.getParentVersion());
}
newDesignVersion.setCreator(userId);
newDesignVersion.setVersionContents(viewContents);
newDesignVersion.setBeforeContents(beforeContents);
newDesignVersion.setCidFlowId(req.getCidFlowId());
simulationDesignVersionsService.save(newDesignVersion);
} else {
return SdmResponse.failed("获取不到任务树");
addNewVersion(req.getProjectNodeId(), req.getPhaseNodeId(), "V1.0", viewContents, userId, req.getCidFlowId());
}
}
} else {
// 构造查询任务树的入参
ProjectTreeTagReq getTaskTreeReq = req.getTaskTreeReq;
SdmResponse beforeTreeResp = getTaskTree(getTaskTreeReq);
// 获取修改前的任务树
String beforeContents = null;
if (beforeTreeResp.getData() != null) {
beforeContents = JSONObject.toJSONString(beforeTreeResp.getData());
}
// 直接修改当前策划版本
SdmResponse response = modify(req);
if (!response.isSuccess()) {
return response;
} else {
// 获取修改过后的任务树
SdmResponse treeRespond = getTaskTree(getTaskTreeReq);
if (treeRespond.getData() != null) {
String viewContents = JSONObject.toJSONString(treeRespond.getData());
List<SimulationDesignVersions> designVersions = simulationDesignVersionsService.lambdaQuery()
.eq(SimulationDesignVersions::getProjectId, req.getProjectNodeId())
.eq(SimulationDesignVersions::getPhaseId, req.getPhaseNodeId())
.list();
if (CollectionUtils.isNotEmpty(designVersions)) {
// 根据最新版本升版
SimulationDesignVersions latestVersion = designVersions.stream().sorted(Comparator.comparing(SimulationDesignVersions::getCreateTime).reversed()).collect(Collectors.toList()).get(0);
SimulationDesignVersions newVersion = new SimulationDesignVersions();
BeanUtils.copyProperties(latestVersion, newVersion);
newVersion.setVersionContents(viewContents);
newVersion.setBeforeContents(beforeContents);
newVersion.setCidFlowId(ObjectUtils.isNotEmpty(req.getCidFlowId()) ? req.getCidFlowId() : latestVersion.getCidFlowId());
simulationDesignVersionsService.updateById(newVersion);
} else {
addNewVersion(req.getProjectNodeId(), req.getPhaseNodeId(),"V1.0", viewContents, userId, req.getCidFlowId());
}
}
return SdmResponse.failed("获取不到任务树");
}
}
return SdmResponse.success();