|
@@ -323,7 +323,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
ProjectInfo projectInfo = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(ProjectInfo.class)).stream().findAny().orElse(null);
|
|
|
if (projectInfo != null) {
|
|
|
if (("1").equals(wbsTreePrivate.getWbsType())) {
|
|
|
- //TODO =====质检公有=====
|
|
|
+ /*=====质检公有=====*/
|
|
|
if (ObjectUtil.isNotEmpty(projectInfo.getReferenceWbsTemplateId()) && (ObjectUtil.isNotEmpty(projectInfo.getReferenceWbsTemplateType()) && ("public").equals(projectInfo.getReferenceWbsTemplateType()))) {
|
|
|
//获取引用的公有树节点信息,没有元素表
|
|
|
WbsTree wbsTree = wbsTreeMapper.selectOne(Wrappers.<WbsTree>lambdaQuery().eq(WbsTree::getId, wbsTreePrivate.getId()).eq(WbsTree::getStatus, 1));
|
|
@@ -342,7 +342,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
this.asyncUpdateWbsPublic(childNodesAllPublic, childNodesAllNowProjectNodes, wbsTreePrivate.getProjectId(), Integer.parseInt(wbsTreePrivate.getWbsType()));
|
|
|
|
|
|
} else if (ObjectUtil.isNotEmpty(projectInfo.getReferenceWbsTemplateId()) && ObjectUtil.isNotEmpty(projectInfo.getReferenceWbsTemplateType()) && ("private").equals(projectInfo.getReferenceWbsTemplateType())) {
|
|
|
- //TODO =====质检私有=====
|
|
|
+ /*=====质检私有=====*/
|
|
|
//获取私有引用根节点
|
|
|
WbsTreePrivate wbsTreePrivateRecord = wbsTreePrivateMapper.selectOne(Wrappers.<WbsTreePrivate>query().lambda().select(WbsTreePrivate::getProjectId, WbsTreePrivate::getWbsId).eq(WbsTreePrivate::getPKeyId, projectInfo.getReferenceWbsTemplateId()));
|
|
|
|
|
@@ -363,7 +363,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
}
|
|
|
|
|
|
} else if (("2").equals(wbsTreePrivate.getWbsType())) {
|
|
|
- //TODO =====试验公有=====
|
|
|
+ /*=====试验公有=====*/
|
|
|
if (ObjectUtil.isNotEmpty(projectInfo.getReferenceWbsTemplateIdTrial()) && (ObjectUtil.isNotEmpty(projectInfo.getReferenceWbsTemplateTypeTrial()) && ("public").equals(projectInfo.getReferenceWbsTemplateTypeTrial()))) {
|
|
|
//获取引用的公有树节点信息,没有元素表
|
|
|
WbsTree wbsTree = wbsTreeMapper.selectOne(Wrappers.<WbsTree>lambdaQuery().eq(WbsTree::getId, wbsTreePrivate.getId()).eq(WbsTree::getWbsId, projectInfo.getReferenceWbsTemplateIdTrial()).eq(WbsTree::getStatus, 1));
|
|
@@ -381,7 +381,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
this.asyncUpdateWbsPublic(childNodesAllPublic, childNodesAllNowProjectNodes, wbsTreePrivate.getProjectId(), Integer.parseInt(wbsTreePrivate.getWbsType()));
|
|
|
|
|
|
} else if (ObjectUtil.isNotEmpty(projectInfo.getReferenceWbsTemplateIdTrial()) && (ObjectUtil.isNotEmpty(projectInfo.getReferenceWbsTemplateTypeTrial()) && ("private").equals(projectInfo.getReferenceWbsTemplateTypeTrial()))) {
|
|
|
- //TODO =====试验私有=====
|
|
|
+ /*=====试验私有=====*/
|
|
|
//私有引用试验根节点
|
|
|
WbsTreePrivate wbsTreePrivateRecord = wbsTreePrivateMapper.selectOne(Wrappers.<WbsTreePrivate>query().lambda().select(WbsTreePrivate::getProjectId, WbsTreePrivate::getWbsId).eq(WbsTreePrivate::getPKeyId, projectInfo.getReferenceWbsTemplateIdTrial()).eq(WbsTreePrivate::getStatus, 1));
|
|
|
//引用模板的对应节点
|
|
@@ -398,6 +398,42 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
|
|
|
this.asyncUpdateWbsPrivate(childNodesAllRecordProject, childNodesAllNowProject, wbsTreePrivate.getProjectId(), projectInfo.getReferenceWbsTemplateIdTrial().toString(), Integer.parseInt(wbsTreePrivate.getWbsType()));
|
|
|
}
|
|
|
+ } else if (("3").equals(wbsTreePrivate.getWbsType())) {
|
|
|
+ /*=====计量公有=====*/
|
|
|
+ if (ObjectUtil.isNotEmpty(projectInfo.getReferenceWbsTemplateIdMeter()) && (ObjectUtil.isNotEmpty(projectInfo.getReferenceWbsTemplateTypeMeter()) && ("public").equals(projectInfo.getReferenceWbsTemplateTypeMeter()))) {
|
|
|
+ //获取引用的公有树节点信息,没有元素表
|
|
|
+ WbsTree wbsTree = wbsTreeMapper.selectOne(Wrappers.<WbsTree>lambdaQuery().eq(WbsTree::getId, wbsTreePrivate.getId()).eq(WbsTree::getWbsId, projectInfo.getReferenceWbsTemplateIdMeter()).eq(WbsTree::getStatus, 1));
|
|
|
+ List<WbsTree> childNodesAllPublic = this.getChildNodes(wbsTree);
|
|
|
+ if (childNodesAllPublic == null) {
|
|
|
+ childNodesAllPublic = new ArrayList<>();
|
|
|
+ }
|
|
|
+ childNodesAllPublic.add(wbsTree);
|
|
|
+
|
|
|
+ //获取当前项目私节点、元素表
|
|
|
+ List<WbsTreePrivate> childNodesAllNowProject = this.getChildNodesAllNowProject(wbsTreePrivate);
|
|
|
+ //公有引用,由于没有关联清表,html_url不存在,所以不同步表的html_url信息
|
|
|
+ List<WbsTreePrivate> childNodesAllNowProjectNodes = childNodesAllNowProject.stream().filter(f -> new Integer(1).equals(f.getType())).collect(Collectors.toList());
|
|
|
+
|
|
|
+ this.asyncUpdateWbsPublic(childNodesAllPublic, childNodesAllNowProjectNodes, wbsTreePrivate.getProjectId(), Integer.parseInt(wbsTreePrivate.getWbsType()));
|
|
|
+
|
|
|
+ } else if (ObjectUtil.isNotEmpty(projectInfo.getReferenceWbsTemplateIdMeter()) && (ObjectUtil.isNotEmpty(projectInfo.getReferenceWbsTemplateTypeMeter()) && ("private").equals(projectInfo.getReferenceWbsTemplateTypeMeter()))) {
|
|
|
+ /*=====试验私有=====*/
|
|
|
+ //私有引用试验根节点
|
|
|
+ WbsTreePrivate wbsTreePrivateRecord = wbsTreePrivateMapper.selectOne(Wrappers.<WbsTreePrivate>query().lambda().select(WbsTreePrivate::getProjectId, WbsTreePrivate::getWbsId).eq(WbsTreePrivate::getPKeyId, projectInfo.getReferenceWbsTemplateIdMeter()).eq(WbsTreePrivate::getStatus, 1));
|
|
|
+ //引用模板的对应节点
|
|
|
+ WbsTreePrivate recordSelectNode = wbsTreePrivateMapper.selectOne(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getId, wbsTreePrivate.getId()).eq(WbsTreePrivate::getProjectId, wbsTreePrivateRecord.getProjectId()).eq(WbsTreePrivate::getWbsId, wbsTreePrivateRecord.getWbsId()));
|
|
|
+ //关联项目的对应节点的所有子级
|
|
|
+ List<WbsTreePrivate> childNodesAllRecordProject = this.getChildNodes(recordSelectNode);
|
|
|
+ if (childNodesAllRecordProject == null) {
|
|
|
+ childNodesAllRecordProject = new ArrayList<>();
|
|
|
+ }
|
|
|
+ childNodesAllRecordProject.add(recordSelectNode);
|
|
|
+
|
|
|
+ //获取当前项目私节点、元素表
|
|
|
+ List<WbsTreePrivate> childNodesAllNowProject = this.getChildNodesAllNowProject(wbsTreePrivate);
|
|
|
+
|
|
|
+ this.asyncUpdateWbsPrivate(childNodesAllRecordProject, childNodesAllNowProject, wbsTreePrivate.getProjectId(), projectInfo.getReferenceWbsTemplateIdMeter().toString(), Integer.parseInt(wbsTreePrivate.getWbsType()));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
return true;
|
|
@@ -946,7 +982,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
//映射新老pKeyId,用于保存表单配置
|
|
|
Map<Long, Long> map = new HashMap<>();
|
|
|
//是否存在独立库表,true为不存在,不存在才同步
|
|
|
- Boolean isExist = true;
|
|
|
+ boolean isExist = true;
|
|
|
|
|
|
if (pawDTO.getReferenceType().equals("public")) {
|
|
|
//获取当前树下所有节点、表信息
|
|
@@ -998,7 +1034,10 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
|
|
|
if (isType10WithParentIdMinus10) {
|
|
|
//判断是否存在独立表单,不存在则添加
|
|
|
- boolean existsInWbsTreePrivatesTableDL = wbsTreePrivatesTableDL.stream().anyMatch(t -> t.getId().equals(wbsTreePrivate.getId()));
|
|
|
+ boolean existsInWbsTreePrivatesTableDL = false;
|
|
|
+ if (wbsTreePrivatesTableDL != null) {
|
|
|
+ existsInWbsTreePrivatesTableDL = wbsTreePrivatesTableDL.stream().anyMatch(t -> t.getId().equals(wbsTreePrivate.getId()));
|
|
|
+ }
|
|
|
if (!existsInWbsTreePrivatesTableDL) {
|
|
|
addListData.add(wbsTreePrivate);
|
|
|
}
|
|
@@ -1034,13 +1073,16 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
for (List<WbsTreePrivate> addList : partition1) {
|
|
|
wbsTreePrivateService.insertBatch(addList, 1000);
|
|
|
}
|
|
|
- if (pawDTO.getWbsType() == 1) {
|
|
|
+ if (pawDTO.getWbsType() == 1) { //质检
|
|
|
projectInfoMapper.updateTemplateInfoQuality(pawDTO.getProjectId(), pawDTO.getWbsId(), "public");
|
|
|
}
|
|
|
- if (pawDTO.getWbsType() == 2) {
|
|
|
+ if (pawDTO.getWbsType() == 2) { //试验
|
|
|
projectInfoMapper.updateTemplateInfoTrial(pawDTO.getProjectId(), pawDTO.getWbsId(), "public");
|
|
|
}
|
|
|
- if (pawDTO.getWbsType() == 5) {
|
|
|
+ if (pawDTO.getWbsType() == 3) { //计量
|
|
|
+ projectInfoMapper.updateTemplateInfoMeter(pawDTO.getProjectId(), pawDTO.getWbsId(), "public");
|
|
|
+ }
|
|
|
+ if (pawDTO.getWbsType() == 5) { //征拆
|
|
|
projectInfoMapper.updateTemplateInfoLar(pawDTO.getProjectId(), pawDTO.getWbsId(), "public");
|
|
|
}
|
|
|
} else if (pawDTO.getReferenceType().equals("private")) {
|
|
@@ -1062,6 +1104,9 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
if (pawDTO.getWbsType() == 2) {
|
|
|
projectInfoMapper.updateTemplateInfoTrial(pawDTO.getProjectId(), pawDTO.getPrimaryKeyId(), "private");
|
|
|
}
|
|
|
+ if (pawDTO.getWbsType() == 3) { //计量
|
|
|
+ projectInfoMapper.updateTemplateInfoMeter(pawDTO.getProjectId(), pawDTO.getPrimaryKeyId(), "private");
|
|
|
+ }
|
|
|
if (pawDTO.getWbsType() == 5) {
|
|
|
projectInfoMapper.updateTemplateInfoLar(pawDTO.getProjectId(), pawDTO.getWbsId(), "private");
|
|
|
}
|