|
@@ -1113,7 +1113,8 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
List<String> delIds = idList2.stream().filter(f -> !idList1.contains(f)).collect(Collectors.toList());
|
|
List<String> delIds = idList2.stream().filter(f -> !idList1.contains(f)).collect(Collectors.toList());
|
|
|
|
|
|
if (saveIds.size() == 0 && delIds.size() == 0) {
|
|
if (saveIds.size() == 0 && delIds.size() == 0) {
|
|
- //节点id未变,只进行节点下的元素表的同步
|
|
|
|
|
|
+ //节点id未变,只进行节点下的元素表的同步 1.项目表单同步 2.同步到该项目下所有合同段wbs树
|
|
|
|
+ //1.项目表单同步
|
|
if (pawDTO.getReferenceType().equals("public")) {
|
|
if (pawDTO.getReferenceType().equals("public")) {
|
|
//公有同步新增元素表
|
|
//公有同步新增元素表
|
|
//获取公有wbs树新增的元素表
|
|
//获取公有wbs树新增的元素表
|
|
@@ -1152,13 +1153,25 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
|
|
|
} else {
|
|
} else {
|
|
if (collect2.size() > collect4.size()) {
|
|
if (collect2.size() > collect4.size()) {
|
|
|
|
+ //获取当前项目下所有施工合同段id
|
|
|
|
+ List<ContractInfo> contractInfoIds = contractInfoMapper.selectContractIdByProjectId(pawDTO.getProjectId());
|
|
//公有同步元素表
|
|
//公有同步元素表
|
|
diffRent1.stream().forEach(tableId -> {
|
|
diffRent1.stream().forEach(tableId -> {
|
|
WbsTree wbsTree = wbsTreeMapper.selectById(tableId);
|
|
WbsTree wbsTree = wbsTreeMapper.selectById(tableId);
|
|
Long snowId1 = SnowFlakeUtil.getId();
|
|
Long snowId1 = SnowFlakeUtil.getId();
|
|
wbsTreePrivateMapper.insertCombination1(snowId1, wbsTree, pawDTO.getWbsType(), pawDTO.getProjectId());
|
|
wbsTreePrivateMapper.insertCombination1(snowId1, wbsTree, pawDTO.getWbsType(), pawDTO.getProjectId());
|
|
- });
|
|
|
|
|
|
|
|
|
|
+ //找到当前新增成功的元素表
|
|
|
|
+ WbsTreePrivate wbsTreePrivate = wbsTreePrivateMapper.selectOne(Wrappers.<WbsTreePrivate>query().lambda().eq(WbsTreePrivate::getPKeyId, snowId1));
|
|
|
|
+
|
|
|
|
+ //同步到该项目下的所有合同段
|
|
|
|
+ for (ContractInfo contractInfoId : contractInfoIds) {
|
|
|
|
+ WbsTreeContract wbsTreeContract = getWbsTreeContract(wbsTreePrivate,pawDTO);
|
|
|
|
+ wbsTreeContract.setContractId(String.valueOf(contractInfoId.getId()));
|
|
|
|
+ wbsTreeContractMapper.insert(wbsTreeContract);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ });
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1198,6 +1211,8 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
|
|
|
} else {
|
|
} else {
|
|
if (collect2.size() > collect4.size()) {
|
|
if (collect2.size() > collect4.size()) {
|
|
|
|
+ //获取当前项目下所有施工合同段id
|
|
|
|
+ List<ContractInfo> contractInfoIds = contractInfoMapper.selectContractIdByProjectId(pawDTO.getProjectId());
|
|
//私有同步元素表
|
|
//私有同步元素表
|
|
List<WbsTreePrivate> lists = new ArrayList<>();
|
|
List<WbsTreePrivate> lists = new ArrayList<>();
|
|
|
|
|
|
@@ -1215,15 +1230,24 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
list.setPKeyId(SnowFlakeUtil.getId());
|
|
list.setPKeyId(SnowFlakeUtil.getId());
|
|
list.setWbsId(pawDTO.getPrimaryKeyId());
|
|
list.setWbsId(pawDTO.getPrimaryKeyId());
|
|
list.setProjectId(pawDTO.getProjectId());
|
|
list.setProjectId(pawDTO.getProjectId());
|
|
|
|
+
|
|
|
|
+ //同步到该项目下的所有合同段
|
|
|
|
+ for (ContractInfo contractInfoId : contractInfoIds) {
|
|
|
|
+ WbsTreeContract wbsTreeContract = getWbsTreeContract(list,pawDTO);
|
|
|
|
+ wbsTreeContract.setContractId(String.valueOf(contractInfoId.getId()));
|
|
|
|
+ wbsTreeContract.setWbsId(pawDTO.getPrimaryKeyId());
|
|
|
|
+ wbsTreeContractMapper.insert(wbsTreeContract);
|
|
|
|
+ }
|
|
|
|
+
|
|
});
|
|
});
|
|
|
|
|
|
wbsTreePrivateService.saveBatch(lists, 10000);
|
|
wbsTreePrivateService.saveBatch(lists, 10000);
|
|
|
|
+
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
} else {
|
|
} else {
|
|
//节点id改变,进行新增或删除节点以及该节点下的元素表
|
|
//节点id改变,进行新增或删除节点以及该节点下的元素表
|
|
//1.删除
|
|
//1.删除
|
|
@@ -1288,7 +1312,6 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
|
|
|
//2.新增
|
|
//2.新增
|
|
if (saveIds.size() > 0) {
|
|
if (saveIds.size() > 0) {
|
|
-
|
|
|
|
//数据初始化节点-引用公有
|
|
//数据初始化节点-引用公有
|
|
List<WbsTreePrivate> insertData = new ArrayList<>();
|
|
List<WbsTreePrivate> insertData = new ArrayList<>();
|
|
//数据初始化节点-引用私有
|
|
//数据初始化节点-引用私有
|
|
@@ -1441,6 +1464,42 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
return wbsTreePrivate;
|
|
return wbsTreePrivate;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private WbsTreeContract getWbsTreeContract(WbsTreePrivate wbsTree, WbsTreeContractDTO pawDTO) {
|
|
|
|
+ WbsTreeContract wbsTreeContract = new WbsTreeContract();
|
|
|
|
+ //数据初始化-施工合同
|
|
|
|
+ Long snowId = SnowFlakeUtil.getId();
|
|
|
|
+ wbsTreeContract.setPKeyId(snowId);
|
|
|
|
+ wbsTreeContract.setId(wbsTree.getId());
|
|
|
|
+ wbsTreeContract.setWbsId(pawDTO.getWbsId());
|
|
|
|
+ wbsTreeContract.setWbsType(wbsTree.getType());
|
|
|
|
+ wbsTreeContract.setProjectId(pawDTO.getProjectId());
|
|
|
|
+ wbsTreeContract.setContractType(pawDTO.getContractType());
|
|
|
|
+ wbsTreeContract.setTenantId(wbsTree.getTenantId());
|
|
|
|
+ wbsTreeContract.setParentId(wbsTree.getParentId());
|
|
|
|
+ wbsTreeContract.setAncestors(wbsTree.getAncestors());
|
|
|
|
+ wbsTreeContract.setDeptName(wbsTree.getDeptName());
|
|
|
|
+ wbsTreeContract.setDeptCategory(wbsTree.getDeptCategory());
|
|
|
|
+ wbsTreeContract.setFullName(wbsTree.getDeptName());
|
|
|
|
+ wbsTreeContract.setSort(wbsTree.getSort());
|
|
|
|
+ wbsTreeContract.setRemark(wbsTree.getRemark());
|
|
|
|
+ wbsTreeContract.setType(wbsTree.getType());
|
|
|
|
+ wbsTreeContract.setTableType(wbsTree.getTableType());
|
|
|
|
+ wbsTreeContract.setStatus(wbsTree.getStatus());
|
|
|
|
+ wbsTreeContract.setIsDeleted(wbsTree.getIsDeleted());
|
|
|
|
+ wbsTreeContract.setUniqueCode(wbsTree.getUniqueCode());
|
|
|
|
+ wbsTreeContract.setPartitionCode(wbsTree.getPartitionCode());
|
|
|
|
+ wbsTreeContract.setIsConcrete(wbsTree.getIsConcrete());
|
|
|
|
+ wbsTreeContract.setIsExpernode(wbsTree.getIsExpernode());
|
|
|
|
+ wbsTreeContract.setTableOwner(wbsTree.getTableOwner());
|
|
|
|
+ wbsTreeContract.setMajorDataType(wbsTree.getMajorDataType());
|
|
|
|
+ wbsTreeContract.setInitTableName(wbsTree.getInitTableName());
|
|
|
|
+ wbsTreeContract.setIsLinkTable(wbsTree.getIsLinkTable());
|
|
|
|
+ wbsTreeContract.setExcelId(wbsTree.getExcelId());
|
|
|
|
+ wbsTreeContract.setHtmlUrl(wbsTree.getHtmlUrl());
|
|
|
|
+ wbsTreeContract.setIsBussShow("1");
|
|
|
|
+ return wbsTreeContract;
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public WbsTreeAllListVO findWbsTreeList(Integer type) {
|
|
public WbsTreeAllListVO findWbsTreeList(Integer type) {
|
|
WbsTreeAllListVO wbsTreeAllListVO = new WbsTreeAllListVO();
|
|
WbsTreeAllListVO wbsTreeAllListVO = new WbsTreeAllListVO();
|