diff --git a/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java index d9d05866..2c177450 100644 --- a/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java @@ -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 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 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 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();