|
@@ -24,6 +24,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.io.File;
|
|
|
import java.io.IOException;
|
|
|
+import java.rmi.ServerException;
|
|
|
import java.util.*;
|
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -200,6 +201,8 @@ public class WbsSynchronousServiceImpl {
|
|
|
|
|
|
//获取项目信息
|
|
|
ProjectInfo projectInfo = projectInfoMapper.selectOne(Wrappers.<ProjectInfo>lambdaQuery().eq(ProjectInfo::getId, wbsTreeSynchronousRecord.getProjectId()));
|
|
|
+ //模板项目信息
|
|
|
+ ProjectInfo tempProject = projectInfoMapper.selectOne(Wrappers.<ProjectInfo>lambdaQuery().eq(ProjectInfo::getId, wbsTreeSynchronousRecord.getTemplateId()));
|
|
|
|
|
|
List<WbsTreePrivate> editData = new ArrayList<>();
|
|
|
|
|
@@ -212,16 +215,11 @@ public class WbsSynchronousServiceImpl {
|
|
|
}
|
|
|
//当前项目绑定的是公有模板还是私有项目
|
|
|
Boolean isPublic = false;
|
|
|
- if (
|
|
|
- ("1".equals(wbsTreePrivate.getWbsType()) && ("public").equals(projectInfo.getReferenceWbsTemplateType())) ||
|
|
|
- ("2".equals(wbsTreePrivate.getWbsType()) && ("public").equals(projectInfo.getReferenceWbsTemplateTypeTrial())) ||
|
|
|
- ("3".equals(wbsTreePrivate.getWbsType()) && ("public").equals(projectInfo.getReferenceWbsTemplateTypeMeter())) ||
|
|
|
- ("5".equals(wbsTreePrivate.getWbsType()) && ("public").equals(projectInfo.getReferenceWbsTemplateTypeLar()))
|
|
|
- ) {
|
|
|
+
|
|
|
+ if(tempProject == null){
|
|
|
isPublic = true;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
//当前项目模板对应的节点信息
|
|
|
List<WbsTreePrivate> templateNodes = new ArrayList<>();
|
|
|
//质检
|
|
@@ -248,13 +246,9 @@ public class WbsSynchronousServiceImpl {
|
|
|
templateNodes.forEach(f -> f.setTreePId(f.getId()));
|
|
|
|
|
|
} else {
|
|
|
- //根据wbsTreePrivate的wbsId=私有引用的pKeyId来获取引用树根节点
|
|
|
- WbsTreePrivate wbsTreePrivateRoot = wbsTreePrivateMapper.selectOne(Wrappers.<WbsTreePrivate>lambdaQuery()
|
|
|
- .eq(WbsTreePrivate::getPKeyId, wbsTreePrivate.getWbsId()));
|
|
|
-
|
|
|
//获取当前选中节点与私有模板对应的节点信息 父级模板项目的当前选中节点
|
|
|
- wbsTreePrivateRoot = wbsTreePrivateMapper.selectOne(Wrappers.<WbsTreePrivate>lambdaQuery()
|
|
|
- .eq(WbsTreePrivate::getProjectId, wbsTreePrivateRoot.getProjectId())
|
|
|
+ WbsTreePrivate wbsTreePrivateRoot = wbsTreePrivateMapper.selectOne(Wrappers.<WbsTreePrivate>lambdaQuery()
|
|
|
+ .eq(WbsTreePrivate::getProjectId, wbsTreeSynchronousRecord.getTemplateId())
|
|
|
.eq(WbsTreePrivate::getTreePId, wbsTreePrivate.getTreePId()));
|
|
|
|
|
|
//获取模板中当前节点的子节点的数据------------------------------------------------------------------------------------------------------------------------
|
|
@@ -307,12 +301,15 @@ public class WbsSynchronousServiceImpl {
|
|
|
for (WbsTreePrivate templateNode : templateNodes) {
|
|
|
//数据修复-----------------------------------------------------------------------------------------------------------------------------------开始
|
|
|
|
|
|
- if (isPublic) {
|
|
|
+ if (!isPublic) {
|
|
|
boolean isUpdate = false;
|
|
|
if (templateNode.getExcelId() != null) {
|
|
|
ExcelTab excelTab = excelTabMapper.selectOne(Wrappers.<ExcelTab>lambdaQuery()
|
|
|
.select(ExcelTab::getTabId)
|
|
|
.eq(ExcelTab::getTabId, templateNode.getExcelId()));
|
|
|
+ if(excelTab != null){
|
|
|
+ throw new ServerException(templateNode.getNodeName() + " excel未知");
|
|
|
+ }
|
|
|
if (StringUtil.isBlank(templateNode.getInitTableName())) {
|
|
|
TableInfo tableInfo = tableInfoMapper.selectOne(Wrappers.<TableInfo>lambdaQuery()
|
|
|
.select(TableInfo::getId)
|
|
@@ -334,6 +331,9 @@ public class WbsSynchronousServiceImpl {
|
|
|
TableInfo tableInfo = tableInfoMapper.selectOne(Wrappers.<TableInfo>lambdaQuery()
|
|
|
.select(TableInfo::getId)
|
|
|
.eq(TableInfo::getTabEnName, templateNode.getInitTableName()));
|
|
|
+ if(tableInfo != null){
|
|
|
+ throw new ServerException(templateNode.getNodeName() + " 实体表未知");
|
|
|
+ }
|
|
|
if (templateNode.getExcelId() == null) {
|
|
|
ExcelTab excelTab = excelTabMapper.selectOne(Wrappers.<ExcelTab>lambdaQuery()
|
|
|
.select(ExcelTab::getId)
|
|
@@ -783,7 +783,8 @@ public class WbsSynchronousServiceImpl {
|
|
|
}
|
|
|
//如果现在还找不到当前节点的父节点就表示数据有问题
|
|
|
if (addPrivateParentNodes.isEmpty()) {
|
|
|
- throw new ServiceException(addPrivateNode.getNodeName() + "-找不到父节点");
|
|
|
+// throw new ServiceException(addPrivateNode.getNodeName() + "-找不到父节点");
|
|
|
+ continue;
|
|
|
}
|
|
|
//当前新增节点的父节点
|
|
|
WbsTreePrivate parent = addPrivateParentNodes.get(0);
|