|
@@ -601,18 +601,14 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
@Override
|
|
|
public List<Map> findProjectAndContractList(Long userId) {
|
|
|
List<SaveUserInfoByProjectVO2> list = baseMapper.selectListByUserId(userId);
|
|
|
-
|
|
|
//用户项目合同段角色返回Map
|
|
|
Map<String, List<SaveUserInfoByProjectVO2>> collect = list.stream().collect(Collectors.groupingBy(SaveUserInfoByProjectVO2::getProjectName));
|
|
|
- List<Map> collect1 = collect.entrySet().stream().map(entity -> {
|
|
|
- Map resultMap = new HashMap();
|
|
|
+ return collect.entrySet().stream().map(entity -> {
|
|
|
+ Map<String, Object> resultMap = new HashMap<>();
|
|
|
resultMap.put("projectName", entity.getKey());
|
|
|
resultMap.put("dataInfo", entity.getValue());
|
|
|
return resultMap;
|
|
|
}).collect(Collectors.toList());
|
|
|
-
|
|
|
- return collect1;
|
|
|
-
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -703,8 +699,9 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
//公有同步新增元素表
|
|
|
//获取公有wbs树新增的元素表
|
|
|
List<WbsTree> allNodeList = findAllNodeList(wbsTreeIds);
|
|
|
+
|
|
|
+ //获取公有wbs树所有的节点、元素表
|
|
|
List<WbsTree> wbsTreeListAll = new ArrayList<>();
|
|
|
- //获取公有wbs树所有的元素表
|
|
|
if (allNodeList != null) {
|
|
|
List<WbsTree> wbsTreeList = wbsTreeMapper.selectList(Wrappers.<WbsTree>query().lambda()
|
|
|
.eq(WbsTree::getWbsId, pawDTO.getWbsId())
|
|
@@ -713,32 +710,32 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
wbsTreeListAll.addAll(wbsTreeList);
|
|
|
}
|
|
|
|
|
|
- //所有表单信息
|
|
|
- List<WbsTree> wbsTreeListTables = wbsTreeListAll.stream().filter(f -> f.getType() == 2).collect(Collectors.toList());
|
|
|
-
|
|
|
//所有节点信息
|
|
|
//List<WbsTree> wbsTreeListNodes = wbsTreeListAll.stream().filter(f -> f.getType() == 1).collect(Collectors.toList());
|
|
|
|
|
|
+ //所有表单信息
|
|
|
+ List<WbsTree> wbsTreeListTables = wbsTreeListAll.stream().filter(f -> f.getType() == 2).collect(Collectors.toList());
|
|
|
+
|
|
|
//公有元素表的id
|
|
|
List<Long> collect1 = wbsTreeListTables.stream().map(WbsTree::getId).collect(Collectors.toList());
|
|
|
List<String> collect2 = collect1.stream().map(String::valueOf).collect(Collectors.toList());
|
|
|
|
|
|
- //获取项目私有wbs树下当前所有的元素表
|
|
|
- List<WbsTreePrivate> wbsTreePrivates1 = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
|
|
|
+ //获取项目私有wbs树下所有的节点、元素表
|
|
|
+ List<WbsTreePrivate> wbsTreePrivatesAll = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
|
|
|
.eq(WbsTreePrivate::getWbsId, pawDTO.getWbsId())
|
|
|
.eq(WbsTreePrivate::getProjectId, pawDTO.getProjectId())
|
|
|
- .eq(WbsTreePrivate::getType, 2)
|
|
|
+ .eq(WbsTreePrivate::getStatus, 1)
|
|
|
);
|
|
|
|
|
|
//私有下元素表id
|
|
|
- List<Long> collect3 = wbsTreePrivates1.stream().map(WbsTreePrivate::getId).collect(Collectors.toList());
|
|
|
+ List<WbsTreePrivate> collect = wbsTreePrivatesAll.stream().filter(f -> f.getType() == 2).collect(Collectors.toList());
|
|
|
+ List<Long> collect3 = collect.stream().map(WbsTreePrivate::getId).collect(Collectors.toList());
|
|
|
List<String> collect4 = collect3.stream().map(String::valueOf).collect(Collectors.toList());
|
|
|
|
|
|
List<String> diffRent1 = WbsTreeContractServiceImpl.getDiffrent(collect2, collect4);
|
|
|
|
|
|
- //同步公有wbs节点信息、元素表基础信息到项目级wbs、合同段wbs
|
|
|
- //wbsTreePrivateService.updateBatchByIds(wbsTreeListAll,pawDTO.getProjectId());
|
|
|
- updateWbsInfoPrivateAsync(wbsTreeListAll, pawDTO.getProjectId());
|
|
|
+ //修改公有wbs节点信息、元素表基础信息到项目级wbs、合同段wbs
|
|
|
+ updateWbsInfoPrivateAsync(wbsTreeListAll, wbsTreePrivatesAll, pawDTO.getProjectId());
|
|
|
|
|
|
if (diffRent1.size() == 0) {
|
|
|
//当wbsTreeIds == "" 时 1.在第一次新增未选择wbs树时 2.同步新增的元素表时
|
|
@@ -823,39 +820,38 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
WbsTreePrivate wbsTreePrivate = wbsTreePrivateMapper.selectOne(Wrappers.<WbsTreePrivate>query().lambda()
|
|
|
.eq(WbsTreePrivate::getPKeyId, pawDTO.getPrimaryKeyId()));
|
|
|
|
|
|
- //获取私有引用项目的wbs树的全部元素表+节点信息
|
|
|
- List<WbsTreePrivate> wbsTreePrivates = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
|
|
|
+ //获取私有引用项目的wbs树的所有节点、元素表
|
|
|
+ List<WbsTreePrivate> wbsTreePrivateAllOld = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
|
|
|
.eq(WbsTreePrivate::getWbsId, wbsTreePrivate.getWbsId())
|
|
|
.eq(WbsTreePrivate::getProjectId, wbsTreePrivate.getProjectId())
|
|
|
.eq(WbsTreePrivate::getStatus, 1)
|
|
|
);
|
|
|
|
|
|
- //私有引用项目的表单信息
|
|
|
- List<WbsTreePrivate> WbsTreePrivateTables = wbsTreePrivates.stream().filter(f -> f.getType() == 2).collect(Collectors.toList());
|
|
|
-
|
|
|
//私有引用项目的节点信息
|
|
|
- //List<WbsTreePrivate> WbsTreePrivateNodes = wbsTreePrivates.stream().filter(f -> f.getType() == 1).collect(Collectors.toList());
|
|
|
+ //List<WbsTreePrivate> WbsTreePrivateNodes = wbsTreePrivateAllOld.stream().filter(f -> f.getType() == 1).collect(Collectors.toList());
|
|
|
+
|
|
|
+ //私有引用项目的表单信息
|
|
|
+ List<WbsTreePrivate> WbsTreePrivateTables = wbsTreePrivateAllOld.stream().filter(f -> f.getType() == 2).collect(Collectors.toList());
|
|
|
|
|
|
//当前新增表单的id
|
|
|
List<Long> collect1 = WbsTreePrivateTables.stream().map(WbsTreePrivate::getId).collect(Collectors.toList());
|
|
|
List<String> collect2 = collect1.stream().map(String::valueOf).collect(Collectors.toList());
|
|
|
|
|
|
- //获取当前项目私有wbs树下当前所有的元素表
|
|
|
- List<WbsTreePrivate> wbsTreePrivates1 = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
|
|
|
+ //获取当前项目私有wbs树下当前所有节点、元素表
|
|
|
+ List<WbsTreePrivate> wbsTreePrivatesAllNow = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
|
|
|
.eq(WbsTreePrivate::getWbsId, pawDTO.getPrimaryKeyId())
|
|
|
.eq(WbsTreePrivate::getProjectId, pawDTO.getProjectId())
|
|
|
- .eq(WbsTreePrivate::getType, 2)
|
|
|
);
|
|
|
|
|
|
//当前存在的表单的id
|
|
|
- List<Long> collect3 = wbsTreePrivates1.stream().map(WbsTreePrivate::getId).collect(Collectors.toList());
|
|
|
+ List<WbsTreePrivate> wbsTreePrivateNowTypes = wbsTreePrivatesAllNow.stream().filter(f -> f.getType() == 2).collect(Collectors.toList());
|
|
|
+ List<Long> collect3 = wbsTreePrivateNowTypes.stream().map(WbsTreePrivate::getId).collect(Collectors.toList());
|
|
|
List<String> collect4 = collect3.stream().map(String::valueOf).collect(Collectors.toList());
|
|
|
|
|
|
List<String> diffRent1 = WbsTreeContractServiceImpl.getDiffrent(collect2, collect4);
|
|
|
|
|
|
- //同步私有wbs节点信息、元素表基础信息到项目级wbs、合同段wbs
|
|
|
- //wbsTreePrivateService.updateBatchByIds2(wbsTreePrivates, pawDTO.getProjectId(), pawDTO.getPrimaryKeyId());
|
|
|
- updateWbsInfoContractAsync(wbsTreePrivates, pawDTO.getProjectId(), pawDTO.getPrimaryKeyId());
|
|
|
+ //修改私有wbs节点信息、元素表基础信息到项目级wbs、合同段wbs
|
|
|
+ updateWbsInfoContractAsync(wbsTreePrivateAllOld, wbsTreePrivatesAllNow, pawDTO.getProjectId(), pawDTO.getPrimaryKeyId());
|
|
|
|
|
|
if (diffRent1.size() == 0) {
|
|
|
return true;
|
|
@@ -1084,18 +1080,15 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
}
|
|
|
|
|
|
@Async
|
|
|
- public boolean updateWbsInfoPrivateAsync(List<WbsTree> wbsTreeListAll, String projectId) {
|
|
|
- wbsTreePrivateService.updateBatchByIds(wbsTreeListAll, projectId);
|
|
|
- return true;
|
|
|
+ public boolean updateWbsInfoPrivateAsync(List<WbsTree> wbsTreeListAll, List<WbsTreePrivate> wbsTreePrivatesAll, String projectId) {
|
|
|
+ return wbsTreePrivateService.updateBatchByIds(wbsTreeListAll, wbsTreePrivatesAll, projectId);
|
|
|
}
|
|
|
|
|
|
@Async
|
|
|
- public boolean updateWbsInfoContractAsync(List<WbsTreePrivate> wbsTreePrivates, String projectId, String primaryKeyId) {
|
|
|
- wbsTreePrivateService.updateBatchByIds2(wbsTreePrivates, projectId, primaryKeyId);
|
|
|
- return true;
|
|
|
+ public boolean updateWbsInfoContractAsync(List<WbsTreePrivate> wbsTreePrivates, List<WbsTreePrivate> wbsTreePrivatesAllNow, String projectId, String primaryKeyId) {
|
|
|
+ return wbsTreePrivateService.updateBatchByIds2(wbsTreePrivates, wbsTreePrivatesAllNow, projectId, primaryKeyId);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
private WbsTreePrivate getWbsTreePrivate1(WbsTree wbsTree, WbsTreeContractDTO pawDTO) {
|
|
|
WbsTreePrivate wbsTreePrivate = new WbsTreePrivate();
|
|
|
//数据初始化
|
|
@@ -1126,6 +1119,14 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
wbsTreePrivate.setInitTableName(wbsTree.getInitTableName());
|
|
|
wbsTreePrivate.setIsLinkTable(wbsTree.getIsLinkTable());
|
|
|
wbsTreePrivate.setIsExistForm(wbsTree.getIsExistForm());
|
|
|
+
|
|
|
+ wbsTreePrivate.setCreateTime(wbsTree.getCreateTime());
|
|
|
+ wbsTreePrivate.setUpdateTime(wbsTree.getUpdateTime());
|
|
|
+ wbsTreePrivate.setUpdateUser(wbsTree.getUpdateUser());
|
|
|
+ wbsTreePrivate.setCreateUser(wbsTree.getCreateUser());
|
|
|
+ wbsTreePrivate.setCreateDept(wbsTree.getCreateDept());
|
|
|
+
|
|
|
+
|
|
|
return wbsTreePrivate;
|
|
|
}
|
|
|
|
|
@@ -1160,6 +1161,13 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
wbsTreePrivate.setIsLinkTable(wbsTree.getIsLinkTable());
|
|
|
wbsTreePrivate.setIsExistForm(wbsTree.getIsExistForm());
|
|
|
wbsTreePrivate.setHtmlUrl(wbsTree.getHtmlUrl());
|
|
|
+
|
|
|
+ wbsTreePrivate.setCreateTime(wbsTree.getCreateTime());
|
|
|
+ wbsTreePrivate.setUpdateTime(wbsTree.getUpdateTime());
|
|
|
+ wbsTreePrivate.setUpdateUser(wbsTree.getUpdateUser());
|
|
|
+ wbsTreePrivate.setCreateUser(wbsTree.getCreateUser());
|
|
|
+ wbsTreePrivate.setCreateDept(wbsTree.getCreateDept());
|
|
|
+
|
|
|
return wbsTreePrivate;
|
|
|
}
|
|
|
|
|
@@ -1196,6 +1204,13 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
wbsTreeContract.setExcelId(wbsTree.getExcelId());
|
|
|
wbsTreeContract.setHtmlUrl(wbsTree.getHtmlUrl());
|
|
|
wbsTreeContract.setIsBussShow(1);
|
|
|
+
|
|
|
+ wbsTreeContract.setCreateTime(wbsTree.getCreateTime());
|
|
|
+ wbsTreeContract.setUpdateTime(wbsTree.getUpdateTime());
|
|
|
+ wbsTreeContract.setUpdateUser(wbsTree.getUpdateUser());
|
|
|
+ wbsTreeContract.setCreateUser(wbsTree.getCreateUser());
|
|
|
+ wbsTreeContract.setCreateDept(wbsTree.getCreateDept());
|
|
|
+
|
|
|
if (wbsTree.getType() == 2) {
|
|
|
wbsTreeContract.setIsTypePrivatePid(wbsTree.getPKeyId());
|
|
|
}
|