|
@@ -41,6 +41,7 @@ import org.springblade.manager.feign.ProjectClient;
|
|
import org.springblade.manager.feign.WbsTreeContractClient;
|
|
import org.springblade.manager.feign.WbsTreeContractClient;
|
|
import org.springblade.manager.feign.WbsTreePrivateClient;
|
|
import org.springblade.manager.feign.WbsTreePrivateClient;
|
|
import org.springblade.manager.vo.WbsTreeContractTreeVOS;
|
|
import org.springblade.manager.vo.WbsTreeContractTreeVOS;
|
|
|
|
+import org.springblade.manager.vo.WbsTreeContractVO;
|
|
import org.springblade.resource.feign.NewIOSSClient;
|
|
import org.springblade.resource.feign.NewIOSSClient;
|
|
import org.springblade.system.cache.ParamCache;
|
|
import org.springblade.system.cache.ParamCache;
|
|
import org.springblade.system.entity.DictBiz;
|
|
import org.springblade.system.entity.DictBiz;
|
|
@@ -163,18 +164,44 @@ public class InformationWriteQueryController extends BladeController {
|
|
List<WbsTreeContractTreeVOS> sgChildNodeList = new ArrayList<>();
|
|
List<WbsTreeContractTreeVOS> sgChildNodeList = new ArrayList<>();
|
|
|
|
|
|
for (ContractRelationJlyz jlkz : jlyzList) {
|
|
for (ContractRelationJlyz jlkz : jlyzList) {
|
|
- List<WbsTreeContract> queryValueList = this.wbsTreeContractClient.selectQueryValueLikeNodeName(queryValue, jlkz.getContractIdSg().toString());
|
|
|
|
- if (queryValueList != null && queryValueList.size() > 0) {
|
|
|
|
|
|
+ //List<WbsTreeContract> queryValueList = this.wbsTreeContractClient.selectQueryValueLikeNodeName(queryValue, jlkz.getContractIdSg().toString());
|
|
|
|
+
|
|
|
|
+ List<WbsTreeContract> wbsTreeContracts = this.wbsTreeContractClient.selectContractTreeAll(jlkz.getContractIdSg().toString());
|
|
|
|
+ List<WbsTreeContract> queryValueList = wbsTreeContracts.stream().filter(f -> f.getNodeName().contains(queryValue)).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ if (queryValueList.size() > 0) {
|
|
//查询与当前节点相关联的数据
|
|
//查询与当前节点相关联的数据
|
|
List<WbsTreeContractTreeVOS> associatedVONodeList = new ArrayList<>();
|
|
List<WbsTreeContractTreeVOS> associatedVONodeList = new ArrayList<>();
|
|
- List<String> ids = JSONArray.parseArray(JSONObject.toJSONString(queryValueList.stream().map(WbsTreeContract::getId).distinct().collect(Collectors.toList())), String.class);
|
|
|
|
- //查询相关联的数据
|
|
|
|
- List<WbsTreeContract> associatedList = this.wbsTreeContractClient.selectQueryCurrentNodeByAncestors(ids, jlkz.getContractIdSg().toString());
|
|
|
|
- if (associatedList != null) {
|
|
|
|
- queryValueList.addAll(associatedList);
|
|
|
|
|
|
+
|
|
|
|
+ List<String> ancestorsAll = queryValueList.stream().map(WbsTreeContract::getAncestors).collect(Collectors.toList()).stream().map(String::valueOf).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ //获取父级节点id
|
|
|
|
+ Set<String> parentIdsSet = new HashSet<>();
|
|
|
|
+ for (String ancestors : ancestorsAll) {
|
|
|
|
+ List<String> parentIds = Func.toStrList(ancestors);
|
|
|
|
+ parentIdsSet.addAll(parentIds);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //添加父级节点
|
|
|
|
+ for (WbsTreeContract wbsTreeContract : wbsTreeContracts) {
|
|
|
|
+ for (String parentId : parentIdsSet) {
|
|
|
|
+ if (wbsTreeContract.getId().equals(Long.parseLong(parentId))) {
|
|
|
|
+ queryValueList.add(wbsTreeContract);
|
|
|
|
+ }
|
|
|
|
+ if (wbsTreeContract.getParentId() == 0L) {
|
|
|
|
+ queryValueList.add(wbsTreeContract);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ //根据id、nodeName去重
|
|
|
|
+ List<WbsTreeContract> resultNodeData = queryValueList.stream().collect(
|
|
|
|
+ Collectors.collectingAndThen(
|
|
|
|
+ Collectors.toCollection(() -> new TreeSet<>(
|
|
|
|
+ Comparator.comparing(o -> o.getId() + ";" + o.getNodeName()))), ArrayList::new));
|
|
|
|
+
|
|
//处理参数
|
|
//处理参数
|
|
- this.queryContractTree(associatedVONodeList, queryValueList, 2);
|
|
|
|
|
|
+ this.queryContractTree(associatedVONodeList, resultNodeData, 2);
|
|
|
|
|
|
if (associatedVONodeList.size() > 0) {
|
|
if (associatedVONodeList.size() > 0) {
|
|
List<WbsTreeContractTreeVOS> list = ForestNodeMerger.merge(associatedVONodeList);
|
|
List<WbsTreeContractTreeVOS> list = ForestNodeMerger.merge(associatedVONodeList);
|
|
@@ -195,21 +222,41 @@ public class InformationWriteQueryController extends BladeController {
|
|
} else if (contract.getContractType().equals(1)) {
|
|
} else if (contract.getContractType().equals(1)) {
|
|
//施工,直接查询
|
|
//施工,直接查询
|
|
//获取当前合同段下所有的数据
|
|
//获取当前合同段下所有的数据
|
|
- //List<WbsTreeContract> queryValueList = this.wbsTreeContractClient.selectQueryValueLikeNodeName(queryValue, contractId);
|
|
|
|
- List<WbsTreeContract> wbsTreeContracts = this.wbsTreeContractClient.selectAllByContractId(contractId);
|
|
|
|
|
|
+ List<WbsTreeContract> wbsTreeContracts = this.wbsTreeContractClient.selectContractTreeAll(contractId);
|
|
List<WbsTreeContract> queryValueList = wbsTreeContracts.stream().filter(f -> f.getNodeName().contains(queryValue)).collect(Collectors.toList());
|
|
List<WbsTreeContract> queryValueList = wbsTreeContracts.stream().filter(f -> f.getNodeName().contains(queryValue)).collect(Collectors.toList());
|
|
|
|
|
|
if (queryValueList.size() > 0) {
|
|
if (queryValueList.size() > 0) {
|
|
//查询与当前节点相关联的数据
|
|
//查询与当前节点相关联的数据
|
|
List<WbsTreeContractTreeVOS> associatedVONodeList = new ArrayList<>();
|
|
List<WbsTreeContractTreeVOS> associatedVONodeList = new ArrayList<>();
|
|
- List<String> ids = JSONArray.parseArray(JSONObject.toJSONString(queryValueList.stream().map(WbsTreeContract::getId).distinct().collect(Collectors.toList())), String.class);
|
|
|
|
- //查询相关联的数据
|
|
|
|
- List<WbsTreeContract> associatedList = this.wbsTreeContractClient.selectQueryCurrentNodeByAncestors(ids, contractId);
|
|
|
|
- if (associatedList != null && associatedList.size() > 0) {
|
|
|
|
- queryValueList.addAll(associatedList);
|
|
|
|
|
|
+
|
|
|
|
+ List<String> ancestorsAll = queryValueList.stream().map(WbsTreeContract::getAncestors).collect(Collectors.toList()).stream().map(String::valueOf).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ //获取父级节点id
|
|
|
|
+ Set<String> parentIdsSet = new HashSet<>();
|
|
|
|
+ for (String ancestors : ancestorsAll) {
|
|
|
|
+ List<String> parentIds = Func.toStrList(ancestors);
|
|
|
|
+ parentIdsSet.addAll(parentIds);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //添加父级节点
|
|
|
|
+ for (WbsTreeContract wbsTreeContract : wbsTreeContracts) {
|
|
|
|
+ for (String parentId : parentIdsSet) {
|
|
|
|
+ if (wbsTreeContract.getId().equals(Long.parseLong(parentId))) {
|
|
|
|
+ queryValueList.add(wbsTreeContract);
|
|
|
|
+ }
|
|
|
|
+ if (wbsTreeContract.getParentId() == 0L) {
|
|
|
|
+ queryValueList.add(wbsTreeContract);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- //处理参数
|
|
|
|
- this.queryContractTree(associatedVONodeList, queryValueList, 1);
|
|
|
|
|
|
+
|
|
|
|
+ //根据id、nodeName去重
|
|
|
|
+ List<WbsTreeContract> resultNodeData = queryValueList.stream().collect(
|
|
|
|
+ Collectors.collectingAndThen(
|
|
|
|
+ Collectors.toCollection(() -> new TreeSet<>(
|
|
|
|
+ Comparator.comparing(o -> o.getId() + ";" + o.getNodeName()))), ArrayList::new));
|
|
|
|
+
|
|
|
|
+ this.queryContractTree(associatedVONodeList, resultNodeData, 1);
|
|
|
|
|
|
if (associatedVONodeList.size() > 0) {
|
|
if (associatedVONodeList.size() > 0) {
|
|
List<WbsTreeContractTreeVOS> list = ForestNodeMerger.merge(associatedVONodeList);
|
|
List<WbsTreeContractTreeVOS> list = ForestNodeMerger.merge(associatedVONodeList);
|