|
@@ -319,7 +319,7 @@ public class ArTreeContractInitServiceImpl {
|
|
|
for (ArchiveTreeContractVO2 ar : archiveTreeContractVO2s) {
|
|
|
//关联质检资料
|
|
|
if (ar.IsQualityAssociationNode()) {
|
|
|
- List<ArchiveTreeContract> tmpList = getTreeContractFromWbs(tenantId, projectId, wbsId, ar);
|
|
|
+ List<ArchiveTreeContract> tmpList = getTreeContractFromWbs(tenantId, projectId, wbsId, ar,1);
|
|
|
addNodes.addAll(tmpList);
|
|
|
}
|
|
|
}
|
|
@@ -335,7 +335,7 @@ public class ArTreeContractInitServiceImpl {
|
|
|
* @param tree
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<ArchiveTreeContract> getContractExtNodes(String tenantId, Long projectId, ArchiveTreeContractVO2 tree) {
|
|
|
+ public List<ArchiveTreeContract> getContractExtNodes(String tenantId, Long projectId, ArchiveTreeContractVO2 tree,Integer classify) {
|
|
|
|
|
|
List<ArchiveTreeContract> addNodes = new ArrayList<>();
|
|
|
List<ArchiveTreeContractVO2> archiveTreeContractVO2s = new ArrayList<>();
|
|
@@ -348,15 +348,28 @@ public class ArTreeContractInitServiceImpl {
|
|
|
for (ArchiveTreeContractVO2 ar : archiveTreeContractVO2s) {
|
|
|
//关联质检资料
|
|
|
if (ar.IsQualityAssociationNode()) {
|
|
|
- List<ArchiveTreeContract> tmpList = getTreeContractFromWbs(tenantId, projectId, wbsId, ar);
|
|
|
- addNodes.addAll(tmpList);
|
|
|
+
|
|
|
+ //处理施工和监理
|
|
|
+ if (classify == 1 ){
|
|
|
+ List<ArchiveTreeContract> tmpList = getTreeContractFromWbs(tenantId, projectId, wbsId, ar,classify);
|
|
|
+ addNodes.addAll(tmpList);
|
|
|
+ }else {
|
|
|
+ Long contractId = ar.getContractId();
|
|
|
+ List<ContractRelationJlyz> list = contractInfoService.searchContractRelationInfo(contractId.toString());
|
|
|
+ for (ContractRelationJlyz contractRelationJlyz: list) {
|
|
|
+ ar.setContractId(contractRelationJlyz.getId());
|
|
|
+ List<ArchiveTreeContract> tmpList = getTreeContractFromWbs(tenantId, projectId, wbsId, ar,classify);
|
|
|
+ addNodes.addAll(tmpList);
|
|
|
+ }
|
|
|
+ ar.setContractId(contractId);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
return addNodes;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- public List<ArchiveTreeContract> getTreeContractFromWbs(String tenantId, Long projectId, Long wbsId, ArchiveTreeContractVO2 subTree) {
|
|
|
+ public List<ArchiveTreeContract> getTreeContractFromWbs(String tenantId, Long projectId, Long wbsId,
|
|
|
+ ArchiveTreeContractVO2 subTree,Integer classify) {
|
|
|
List<ArchiveTreeContract> archiveTreeContracts = new ArrayList<>();
|
|
|
|
|
|
Long contractId = subTree.getContractId();
|
|
@@ -404,7 +417,9 @@ public class ArTreeContractInitServiceImpl {
|
|
|
//修改配置
|
|
|
if (wbsTreeVO2.getParentId() == 0) {
|
|
|
rootId = wbsTreeVO2.getId();
|
|
|
- continue;
|
|
|
+ if (classify == 1) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if(wbsTreeVO2.getNodeType() == null){
|
|
@@ -441,12 +456,27 @@ public class ArTreeContractInitServiceImpl {
|
|
|
archiveTree.setContractId(contractId);
|
|
|
archiveTree.setTreeCode(contractId.toString());
|
|
|
archiveTree.setId(oldNewMap.get(wbsTreeVO2.getId()));
|
|
|
+
|
|
|
if (wbsTreeVO2.getParentId().equals(rootId)) {
|
|
|
- archiveTree.setParentId(subTree.getId());
|
|
|
+ //施工直接在配置节点下
|
|
|
+ if (classify == 1){
|
|
|
+ archiveTree.setParentId(subTree.getId());
|
|
|
+ }else {
|
|
|
+ archiveTree.setParentId(oldNewMap.get(wbsTreeVO2.getParentId()));
|
|
|
+ }
|
|
|
+
|
|
|
} else {
|
|
|
archiveTree.setParentId(oldNewMap.get(wbsTreeVO2.getParentId()));
|
|
|
}
|
|
|
|
|
|
+ //监理需要一个合同段节点
|
|
|
+ if (classify == 2){
|
|
|
+ if (wbsTreeVO2.getParentId() == 0) {
|
|
|
+ archiveTree.setParentId(subTree.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
// archiveTree.setId(wbsTreeVO2.getId());
|
|
|
// if (wbsTreeVO2.getParentId() == 0) {
|
|
|
// archiveTree.setParentId(subTree.getId());
|
|
@@ -463,8 +493,18 @@ public class ArTreeContractInitServiceImpl {
|
|
|
}
|
|
|
|
|
|
archiveTree.setNodeName(wbsTreeVO2.getTitle());
|
|
|
+ //监理的最高节点设置成
|
|
|
+ if (classify == 2){
|
|
|
+ if (wbsTreeVO2.getParentId() == 0) {
|
|
|
+ ContractInfo contractInfo = contractInfoService.getById(contractId);
|
|
|
+ if (contractInfo != null) {
|
|
|
+ archiveTree.setNodeName(contractInfo.getContractName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
//设置关联
|
|
|
+ archiveTree.setClassify(classify);
|
|
|
archiveTree.setExtType(1);
|
|
|
archiveTree.setExtId(wbsTreeVO2.getId());
|
|
|
archiveTree.setExtKeyId(wbsTreeVO2.getPKeyId());
|