|
@@ -290,56 +290,51 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
|
public boolean updateBatchByPid(List<WbsTreePrivateDTO3> wbsTreePrivates) {
|
|
public boolean updateBatchByPid(List<WbsTreePrivateDTO3> wbsTreePrivates) {
|
|
try {
|
|
try {
|
|
//修改当前私有项目元素表基础信息
|
|
//修改当前私有项目元素表基础信息
|
|
wbsTreePrivates.forEach(list -> {
|
|
wbsTreePrivates.forEach(list -> {
|
|
- baseMapper.updateBatchByPid(list);
|
|
|
|
|
|
+ this.update(Wrappers.<WbsTreePrivate>lambdaUpdate()
|
|
|
|
+ .set(WbsTreePrivate::getNodeName, list.getNodeName())
|
|
|
|
+ .set(WbsTreePrivate::getFullName, list.getNodeName())
|
|
|
|
+ .set(WbsTreePrivate::getTableType, list.getTableType())
|
|
|
|
+ .set(WbsTreePrivate::getTableOwner, list.getTableOwner())
|
|
|
|
+ .set(WbsTreePrivate::getFillRate, list.getFillRate())
|
|
|
|
+ .eq(WbsTreePrivate::getPKeyId, list.getPKeyId())
|
|
|
|
+ );
|
|
});
|
|
});
|
|
|
|
|
|
|
|
+ //获取最新项目表信息
|
|
|
|
+ List<Long> pKeyIds = wbsTreePrivates.stream().map(WbsTreePrivateDTO3::getPKeyId).collect(Collectors.toList());
|
|
|
|
+ List<WbsTreePrivate> wbsTreePrivateNew = baseMapper.selectList(Wrappers.<WbsTreePrivate>lambdaQuery()
|
|
|
|
+ .select(WbsTreePrivate::getNodeName, WbsTreePrivate::getTableType, WbsTreePrivate::getTableOwner, WbsTreePrivate::getId, WbsTreePrivate::getSort, WbsTreePrivate::getProjectId)
|
|
|
|
+ .in(WbsTreePrivate::getPKeyId, pKeyIds));
|
|
|
|
+ String projectId = wbsTreePrivateNew.stream().map(WbsTreePrivate::getProjectId).findAny().orElse(null);
|
|
|
|
+
|
|
//修改当前项目下所有合同段中的元素表基础信息
|
|
//修改当前项目下所有合同段中的元素表基础信息
|
|
- String projectId = "";
|
|
|
|
- String parentId = "";
|
|
|
|
- List<WbsTreePrivate> wbsTreePrivateList = new ArrayList<>();
|
|
|
|
- int number = 0;
|
|
|
|
- for (WbsTreePrivateDTO3 wbsTreePrivate : wbsTreePrivates) {
|
|
|
|
- WbsTreePrivate wbsTreePrivate1 = baseMapper.selectOne(Wrappers.<WbsTreePrivate>query().lambda().eq(WbsTreePrivate::getPKeyId, wbsTreePrivate.getPKeyId()));
|
|
|
|
- wbsTreePrivateList.add(wbsTreePrivate1);
|
|
|
|
- if (number == 0) {
|
|
|
|
- projectId = wbsTreePrivate1.getProjectId();
|
|
|
|
- parentId = String.valueOf(wbsTreePrivate1.getParentId());
|
|
|
|
- number = 1;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (StringUtils.isNotEmpty(projectId) && StringUtils.isNotEmpty(parentId) && wbsTreePrivateList.size() > 0) {
|
|
|
|
|
|
+ if (StringUtils.isNotEmpty(projectId) && wbsTreePrivateNew.size() > 0) {
|
|
//获取所有合同段ids
|
|
//获取所有合同段ids
|
|
- List<ContractInfo> contractInfos = contractInfoMapper.selectList(Wrappers.<ContractInfo>query().lambda().eq(ContractInfo::getPId, projectId));
|
|
|
|
- if (contractInfos.size() > 0) {
|
|
|
|
- List<Long> contractInfoIds = contractInfos.stream().map(ContractInfo::getId).collect(Collectors.toList());
|
|
|
|
- for (Long contractInfoId : contractInfoIds) {
|
|
|
|
- for (WbsTreePrivate wbsTreePrivate : wbsTreePrivateList) {
|
|
|
|
|
|
+ List<Long> contractInfoIds = contractInfoMapper.selectList(Wrappers.<ContractInfo>lambdaQuery().select(ContractInfo::getId).eq(ContractInfo::getPId, projectId)).stream().map(ContractInfo::getId).collect(Collectors.toList());
|
|
|
|
+ if (contractInfoIds.size() > 0) {
|
|
|
|
+ for (Long contractId : contractInfoIds) {
|
|
|
|
+ for (WbsTreePrivate wbsTreePrivate : wbsTreePrivateNew) {
|
|
//判断当前合同段是否存在该元素表、以及该元素表父级节点(包括新增、复制节点)
|
|
//判断当前合同段是否存在该元素表、以及该元素表父级节点(包括新增、复制节点)
|
|
- List<WbsTreeContract> wbsTreeContract = wbsTreeContractMapper.selectList(Wrappers.<WbsTreeContract>query().lambda()
|
|
|
|
- .eq(WbsTreeContract::getContractId, contractInfoId)
|
|
|
|
- .eq(WbsTreeContract::getProjectId, wbsTreePrivate.getProjectId())
|
|
|
|
|
|
+ long row = wbsTreeContractMapper.selectCount(Wrappers.<WbsTreeContract>lambdaQuery()
|
|
.eq(WbsTreeContract::getStatus, 1)
|
|
.eq(WbsTreeContract::getStatus, 1)
|
|
- .eq(WbsTreeContract::getId, wbsTreePrivate.getId())
|
|
|
|
- .or()
|
|
|
|
- .eq(WbsTreeContract::getParentId, wbsTreePrivate.getId())
|
|
|
|
- .or()
|
|
|
|
- .eq(WbsTreeContract::getOldId, wbsTreePrivate.getId())
|
|
|
|
|
|
+ .eq(WbsTreeContract::getContractId, contractId)
|
|
|
|
+ .eq(WbsTreeContract::getProjectId, projectId)
|
|
|
|
+ .and(obj -> obj.eq(WbsTreeContract::getId, wbsTreePrivate.getId()).or().eq(WbsTreeContract::getParentId, wbsTreePrivate.getId()).or().eq(WbsTreeContract::getOldId, wbsTreePrivate.getId()))
|
|
);
|
|
);
|
|
//修改原始、复制、新增节点下的元素表
|
|
//修改原始、复制、新增节点下的元素表
|
|
- if (wbsTreeContract.size() > 0) {
|
|
|
|
- wbsTreeContractMapper.updateContractTablesInfo(contractInfoId, wbsTreePrivate);
|
|
|
|
|
|
+ if (row > 0) {
|
|
|
|
+ wbsTreeContractMapper.updateContractTablesInfo(contractId, wbsTreePrivate);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
- throw new ServiceException("修改同步到合同段时异常 " + e.getMessage());
|
|
|
|
|
|
+ throw new ServiceException("修改同步到合同段时异常" + e.getMessage());
|
|
}
|
|
}
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
@@ -1799,7 +1794,7 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
tableOwnerList = Func.toStrList(tableOwners);
|
|
tableOwnerList = Func.toStrList(tableOwners);
|
|
}
|
|
}
|
|
|
|
|
|
- return baseMapper.selectWbsTreeTrialTabList(roleAndTabOwners, tableType, wbsTreePrivate.getProjectId(), wbsTreePrivate.getWbsId(), wbsTreePrivate.getId(), tableOwnerList,contractId);
|
|
|
|
|
|
+ return baseMapper.selectWbsTreeTrialTabList(roleAndTabOwners, tableType, wbsTreePrivate.getProjectId(), wbsTreePrivate.getWbsId(), wbsTreePrivate.getId(), tableOwnerList, contractId);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|