|
@@ -2193,6 +2193,33 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
wbsTreeContractService.syncCurrentFormToAllContract(treePrivate);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void syncFormToContractNode(Long projectId, String nodeIds, Long primaryKeyId) {
|
|
|
+ try {
|
|
|
+ if (projectId == null || StringUtils.isBlank(nodeIds) || primaryKeyId == null){
|
|
|
+ throw new ServiceException("参数不能为空,请检查参数");
|
|
|
+ }
|
|
|
+ //找到当前项目级的节点信息
|
|
|
+ List<WbsTreePrivate> privates = this.list(new LambdaQueryWrapper<WbsTreePrivate>()
|
|
|
+ .in(WbsTreePrivate::getPKeyId, Func.toLongList(nodeIds)));
|
|
|
+ if (privates.size() == 0){
|
|
|
+ throw new ServiceException("未找到当前项目的节点信息,是确认是否选择节点");
|
|
|
+ }
|
|
|
+ //找到项目所有合同段下当前节点
|
|
|
+ List<WbsTreeContract> list = wbsTreeContractService.list(new LambdaQueryWrapper<WbsTreeContract>()
|
|
|
+ .eq(WbsTreeContract::getProjectId, projectId)
|
|
|
+ .in(WbsTreeContract::getIsTypePrivatePid, Func.toLongList(nodeIds)));
|
|
|
+ if (list.size() > 0){
|
|
|
+ //循环保存
|
|
|
+ for (WbsTreeContract wbsTreeContract : list) {
|
|
|
+ this.addWbsTreeContractInfo(wbsTreeContract.getPKeyId()+"",primaryKeyId+"", Long.valueOf(wbsTreeContract.getContractId()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ throw new ServiceException("分配失败,原因:"+e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private List<WbsTreePrivateVO5> buildWbsTreeByStreamTrial(List<WbsTreePrivateVO5> wbsTreeVO2s) {
|
|
|
List<WbsTreePrivateVO5> list = wbsTreeVO2s.stream().filter(f -> f.getParentId() == 0L).collect(Collectors.toList());
|
|
|
Map<Long, List<WbsTreePrivateVO5>> map = wbsTreeVO2s.stream().collect(Collectors.groupingBy(WbsTreePrivateVO5::getParentId));
|
|
@@ -2231,7 +2258,7 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public R addWbsTreeContractInfo(String nodeId, String primaryKeyIds, long contractId) {
|
|
|
+ public R addWbsTreeContractInfo(String nodeId, String primaryKeyIds, Long contractId) {
|
|
|
if (com.alibaba.cloud.commons.lang.StringUtils.isEmpty(nodeId)) {
|
|
|
return R.fail("nodeId不能为空");
|
|
|
}
|
|
@@ -2245,6 +2272,7 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
for (Long id : longs) {
|
|
|
WbsTreePrivate wbsTreePrivate = wbsTreePrivateMapper.getByPKeyId(id);
|
|
|
wbsTreePrivate.setParentId(wbsTreeContract.getId());
|
|
|
+ wbsTreePrivate.setAncestors(wbsTreeContract.getAncestors()+","+wbsTreeContract.getId());
|
|
|
wbsTreePrivate.setWbsId(wbsTreeContract.getWbsId());
|
|
|
wbsTreePrivate.setFullName(wbsTreePrivate.getNodeName());
|
|
|
wbsTreePrivate.setType(2);
|