|
@@ -952,6 +952,10 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
//构造入参集合
|
|
|
List<WbsTreePrivate> insertData1 = new ArrayList<>();
|
|
|
List<WbsTreePrivate> insertData2 = new ArrayList<>();
|
|
|
+ //映射新老pKeyId,用于保存表单配置
|
|
|
+ Map<Long,Long> map = new HashMap<>();
|
|
|
+ //是否存在独立库表,true为不存在,不存在才同步
|
|
|
+ Boolean isExist = true;
|
|
|
|
|
|
if (pawDTO.getReferenceType().equals("public")) {
|
|
|
//获取当前树下所有节点、表信息
|
|
@@ -985,6 +989,10 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
|
|
|
//获取当前项目下的所有独立表
|
|
|
List<WbsTreePrivate> wbsTreePrivatesTableDL = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>lambdaQuery().select(WbsTreePrivate::getId).eq(WbsTreePrivate::getProjectId, pawDTO.getProjectId()).eq(WbsTreePrivate::getType, 10).eq(WbsTreePrivate::getParentId, -10).eq(WbsTreePrivate::getStatus, 1));
|
|
|
+ //存在数据则不再同步独立库表单配置
|
|
|
+ if (wbsTreePrivatesTableDL != null && wbsTreePrivatesTableDL.size() > 0){
|
|
|
+ isExist = false;
|
|
|
+ }
|
|
|
Set<Long> saveIdsSet = saveIds.stream().map(Long::parseLong).collect(Collectors.toSet());
|
|
|
wbsTreePrivatesNodeAndTab.forEach(wbsTreePrivate -> {
|
|
|
boolean isType1Or2 = wbsTreePrivate.getType() == 1 || wbsTreePrivate.getType() == 2;
|
|
@@ -1020,6 +1028,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
if (tree.getType() == 10) {
|
|
|
wbsTreePrivate.setWbsId(null);
|
|
|
wbsTreePrivate.setWbsType(null);
|
|
|
+ map.put(tree.getPKeyId(),wbsTreePrivate.getPKeyId());
|
|
|
} else {
|
|
|
wbsTreePrivate.setWbsId(pawDTO.getPrimaryKeyId());
|
|
|
wbsTreePrivate.setWbsType(String.valueOf(pawDTO.getWbsType()));
|
|
@@ -1051,6 +1060,10 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
|
|
|
//异步修改htmlUrl
|
|
|
wbsTreePrivateService.batchResetHtmlUrl(insertData2);
|
|
|
+ //异步同步独立库表单配置
|
|
|
+ if (isExist && map.size() > 0) {
|
|
|
+ wbsTreePrivateService.batchSynTableConfig(map);
|
|
|
+ }
|
|
|
|
|
|
if (pawDTO.getWbsType() == 1) {
|
|
|
projectInfoMapper.updateTemplateInfoQuality(pawDTO.getProjectId(), pawDTO.getPrimaryKeyId(), "private");
|