Răsfoiți Sursa

Merge remote-tracking branch 'origin/master' into master

yangyj 2 ani în urmă
părinte
comite
6d826f979a
15 a modificat fișierele cu 80 adăugiri și 61 ștergeri
  1. 1 1
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/TaskClient.java
  2. 3 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/NeiYeQueryVO.java
  3. 7 1
      blade-service-api/blade-e-visa-api/src/main/java/org/springblade/evisa/feign/EVisaClient.java
  4. 2 1
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/feign/EVisaConfigClient.java
  5. 2 5
      blade-service/blade-business/src/main/java/org/springblade/business/controller/InformationWriteQueryController.java
  6. 12 5
      blade-service/blade-business/src/main/java/org/springblade/business/controller/NeiYeController.java
  7. 2 2
      blade-service/blade-business/src/main/java/org/springblade/business/feignClient/TaskClientImpl.java
  8. 1 1
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/InformationQueryMapper.xml
  9. 10 3
      blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TaskServiceImpl.java
  10. 5 0
      blade-service/blade-e-visa/src/main/java/org/springblade/evisa/feign/EVisaClientImpl.java
  11. 6 1
      blade-service/blade-e-visa/src/main/java/org/springblade/evisa/service/EVisaService.java
  12. 6 2
      blade-service/blade-e-visa/src/main/java/org/springblade/evisa/service/impl/EVisaServiceImpl.java
  13. 1 1
      blade-service/blade-manager/src/main/java/org/springblade/manager/feign/EVisaConfigClientImpl.java
  14. 14 19
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java
  15. 8 19
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeServiceImpl.java

+ 1 - 1
blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/TaskClient.java

@@ -33,7 +33,7 @@ public interface TaskClient {
      * 获取当前任务绑定的表格
      */
     @PostMapping(QUERY_BUSINESS_TABLE_E_VISA_CONFIG)
-    List<JSONObject> queryBusinessTableEVisaConfig(@RequestParam String taskId);
+    List<JSONObject> queryBusinessTableEVisaConfig(@RequestParam String taskId,@RequestParam String isFinal);
 
     /**
      * 获取填报人列表

+ 3 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/NeiYeQueryVO.java

@@ -35,6 +35,9 @@ public class NeiYeQueryVO {
     @ApiModelProperty(value = "项目ID")
     private String contractId;
 
+    @ApiModelProperty(value = "项目ID")
+    private String contractIdRelation;
+
     private List<String> wbsIds;
 
 }

+ 7 - 1
blade-service-api/blade-e-visa-api/src/main/java/org/springblade/evisa/feign/EVisaClient.java

@@ -20,7 +20,13 @@ public interface EVisaClient {
     String API_PREFIX = "/api/e_visa";
 
     /**
-     * 电签
+     * 电签(合同章)
+     */
+    @PostMapping(API_PREFIX + "/eVisaContractSeal")
+    String eVisaContractSeal(@RequestBody EVisaTaskApprovalVO task, @RequestParam String finalPdfUrl);
+
+    /**
+     * 电签(个人签)
      */
     @PostMapping(API_PREFIX + "/eVisa")
     String eVisa(@RequestBody EVisaTaskApprovalVO task);

+ 2 - 1
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/feign/EVisaConfigClient.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
 
@@ -18,6 +19,6 @@ public interface EVisaConfigClient {
     String API_PREFIX = "/api/manager/eVisaConfig";
 
     @PostMapping(API_PREFIX + "/queryEVisaConfigByTableIds")
-    List<JSONObject> queryEVisaConfigByTableIds(@RequestBody List<String> tableIds);
+    List<JSONObject> queryEVisaConfigByTableIds(@RequestBody List<String> tableIds, @RequestParam String isFinal);
 
 }

+ 2 - 5
blade-service/blade-business/src/main/java/org/springblade/business/controller/InformationWriteQueryController.java

@@ -1021,7 +1021,7 @@ public class InformationWriteQueryController extends BladeController {
 		//获取合同段,检查是否是监理合同段
 		ContractInfo contractInfo = this.contractClient.getContractById(Long.parseLong(contractId));
 
-		if(contractInfo.getContractType() != null && new Integer("2").equals(contractInfo.getContractType())){
+		if(contractInfo.getContractType() != null && (new Integer("2").equals(contractInfo.getContractType()) || new Integer("3").equals(contractInfo.getContractType()))){
 			//监理合同段
 			List<WbsTreeContractTreeVOS> childList = this.wbsTreeContractClient.lazyTree(StringUtils.isNotEmpty(parentId) ? Long.parseLong(parentId) : 0, contractId, contractIdRelation, contractInfo.getContractType());
 			//设置合同段根节点的名称
@@ -1088,9 +1088,6 @@ public class InformationWriteQueryController extends BladeController {
 			});
 		}
 
-
-
-
 		return R.data(result);
 	}
 
@@ -1865,7 +1862,7 @@ public class InformationWriteQueryController extends BladeController {
 
 		//获取合同段,检查是否是监理合同段
 		ContractInfo contractInfo = this.contractClient.getContractById(Long.parseLong(contractId));
-		if(new Integer("2").equals(contractInfo.getContractType())){
+		if(new Integer("2").equals(contractInfo.getContractType()) || new Integer("3").equals(contractInfo.getContractType())){
 			//监理合同段,需要获取关联的施工方合同段根节点数据
 			rootTreeNode = this.wbsTreeContractClient.lazyTree(StringUtils.isNotEmpty(parentId) ? Long.parseLong(parentId) : 0, contractId, contractIdRelation, contractInfo.getContractType());
 		} else {

+ 12 - 5
blade-service/blade-business/src/main/java/org/springblade/business/controller/NeiYeController.java

@@ -16,6 +16,7 @@ import org.springblade.business.vo.QueryProcessDataVO;
 import org.springblade.common.utils.CommonUtil;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.tool.api.R;
+import org.springblade.manager.entity.ContractInfo;
 import org.springblade.manager.entity.WbsTreeContract;
 import org.springblade.manager.feign.ContractClient;
 import org.springblade.manager.feign.WbsTreeContractClient;
@@ -52,8 +53,14 @@ public class NeiYeController {
             //生成列表
             List<NeiYeLedgerVO> neiYeLedgerVOList = new ArrayList<>();
 
+            ContractInfo contract = this.contractClient.getContractById(Long.parseLong(queryVO.getContractId()));
+            String contractId = contract.getId().toString();
+            if(!new Integer("1").equals(contract.getContractType())){
+                contractId = queryVO.getContractIdRelation();
+            }
+
             //获取当前合同段所有划分情况
-            List<WbsTreeContractTreeVOS> contractNodeLIst = this.wbsTreeContractClient.queryContractWbsTreeAll(queryVO.getContractId(), 1, "");
+            List<WbsTreeContractTreeVOS> contractNodeLIst = this.wbsTreeContractClient.queryContractWbsTreeAll(contractId, 1, "");
             //设置map
             Map<String, WbsTreeContractTreeVOS> idToNodeMap = new HashMap<>();
             contractNodeLIst.forEach(vos -> idToNodeMap.put(vos.getId().toString(), vos));
@@ -62,16 +69,16 @@ public class NeiYeController {
             WbsTreeContract node = this.wbsTreeContractClient.getContractNodeByPrimaryKeyId(queryVO.getWbsIds().get(0));
             if(node == null){
                 //这一步主要是为了兼容监理合同段
-                node = this.wbsTreeContractClient.getContractWbsTreeByContractIdAndId(Long.parseLong(queryVO.getWbsIds().get(0)), Long.parseLong(queryVO.getContractId()));
+                node = this.wbsTreeContractClient.getContractWbsTreeByContractIdAndId(Long.parseLong(queryVO.getWbsIds().get(0)), Long.parseLong(contractId));
             }
             //不是工序,则查询当前节点下的所有填报节点
             List<QueryProcessDataVO> queryDataResult;
             if(!new Integer("6").equals(node.getDeptCategory()) && !Arrays.asList("1,2,3,4".split(",")).contains(node.getMajorDataType().toString())){
                 //非填报节点
-                queryDataResult = this.informationQueryService.queryProcessDataByParentIdAndContractId(node.getId().toString(), 1, queryVO.getContractId());
+                queryDataResult = this.informationQueryService.queryProcessDataByParentIdAndContractId(node.getId().toString(), contract.getContractType(), contractId);
             } else {
                 //填报节点
-                queryDataResult = this.informationQueryService.queryProcessDataByPrimaryKeyIdAndClassify(node.getPKeyId().toString(), 1);
+                queryDataResult = this.informationQueryService.queryProcessDataByPrimaryKeyIdAndClassify(node.getPKeyId().toString(), contract.getContractType());
             }
 
             if (queryDataResult != null && queryDataResult.size() > 0) {
@@ -87,7 +94,7 @@ public class NeiYeController {
 
                     //处理父节点信息
                     Map<String, String> map = new HashMap<>();
-                    this.foreachGetParent(map, idToNodeMap, vo.getParentId(), queryVO.getContractId());
+                    this.foreachGetParent(map, idToNodeMap, vo.getParentId(), contractId);
 
                     //获取当前工序的施工台账信息
                     if (ledgers != null && ledgers.size() > 0) {

+ 2 - 2
blade-service/blade-business/src/main/java/org/springblade/business/feignClient/TaskClientImpl.java

@@ -33,7 +33,7 @@ public class TaskClientImpl implements TaskClient {
     private final ITaskParallelService taskParallelService;
 
     @Override
-    public List<JSONObject> queryBusinessTableEVisaConfig(String taskId) {
+    public List<JSONObject> queryBusinessTableEVisaConfig(String taskId, String isFinal) {
         //获取任务
         Task task = this.taskService.getById(taskId);
         if(task == null || StringUtils.isEmpty(task.getFormDataId())){
@@ -56,7 +56,7 @@ public class TaskClientImpl implements TaskClient {
         List<String> privatePrimaryKeyIds = this.informationQueryService.queryBusinessTableData(task.getFormDataId());
         if(privatePrimaryKeyIds != null && privatePrimaryKeyIds.size() > 0){
             //查询这些表格的电签配置
-            return this.eVisaConfigClient.queryEVisaConfigByTableIds(privatePrimaryKeyIds);
+            return this.eVisaConfigClient.queryEVisaConfigByTableIds(privatePrimaryKeyIds, isFinal);
         }
 
         return null;

+ 1 - 1
blade-service/blade-business/src/main/java/org/springblade/business/mapper/InformationQueryMapper.xml

@@ -188,7 +188,7 @@
                     ELSE 'false' end AS evaluate
                 from
                     m_wbs_tree_contract AS tc
-                left join u_information_query AS iq on tc.p_key_id = iq.wbs_id
+                left join u_information_query AS iq on tc.p_key_id = iq.wbs_id AND iq.classify = #{classify} and iq.is_deleted = 0
                 where
                     tc.major_data_type = 2
                 and tc.parent_id = wtc.parent_id

+ 10 - 3
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TaskServiceImpl.java

@@ -280,6 +280,13 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
                 Task task = this.getOne(Wrappers.<Task>lambdaQuery().eq(Task::getIsDeleted, 0).eq(Task::getProcessInstanceId, currentLink.getProcessInstanceId()));
                 if(otherLink == null || otherLink.size() == 0){
                     //说明都审批完成,将主表状态更改为已完成
+                    String finalPdfUrl = null;
+                    if(eVisaStatus.contains("@@@@")){
+                        finalPdfUrl = eVisaStatus.split("@@@@")[1];
+                    }
+                    //执行合同章,返回的是盖有合同章的PDF路径
+//                    finalPdfUrl = this.eVisaClient.eVisaContractSeal(JSONObject.parseObject(JSONObject.toJSONString(taskApprovalVO), EVisaTaskApprovalVO.class), finalPdfUrl);
+
                     //根据主表的业务ID(processInstanceId)获取主流程的taskId
                     String masterTaskId = this.newFlowClient.queryTaskIdByProcessInstanceId(task.getProcessInstanceId());
                     if(StringUtils.isNotEmpty(masterTaskId)){
@@ -288,11 +295,11 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
                         //修改主流程状态为已完成
                         this.update(Wrappers.<Task>lambdaUpdate().set(Task::getStatus, 2).set(Task::getUpdateTime, new Date()).eq(Task::getId, task.getId()));
                         //修改对应的业务数据状态为已审批
-                        this.updateBusinessDataByFormDataId(task, 2, eVisaStatus.contains("@@@@") ? eVisaStatus.split("@@@@")[1] : null);
+                        this.updateBusinessDataByFormDataId(task, 2, finalPdfUrl);
                     }
                 } else {
-                    //修改对应的业务数据状态为已审批
-                    this.updateBusinessDataByFormDataId(task, 1, eVisaStatus.contains("@@@@") ? eVisaStatus.split("@@@@")[1] : null);
+                    //只更新PDF路径
+                    this.updateBusinessDataByFormDataId(task, 1,  eVisaStatus.contains("@@@@") ? eVisaStatus.split("@@@@")[1] : null);
                 }
             } else if("eVisaError".equals(eVisaStatus) || eVisaStatus.contains("eVisaError")){
                 //电签失败,将对应分支任务的电签状态修改为99并添加错误信息

+ 5 - 0
blade-service/blade-e-visa/src/main/java/org/springblade/evisa/feign/EVisaClientImpl.java

@@ -35,6 +35,11 @@ public class EVisaClientImpl implements EVisaClient {
         return this.eVisaService.certification(pdfUrl, fileName, contractId);
     }
 
+    @Override
+    public String eVisaContractSeal(EVisaTaskApprovalVO task, String finalPdfUrl) {
+        return this.eVisaService.eVisaContractSeal(task ,finalPdfUrl);
+    }
+
     @Override
     public String eVisa(EVisaTaskApprovalVO task) {
         return this.eVisaService.eVisa(task);

+ 6 - 1
blade-service/blade-e-visa/src/main/java/org/springblade/evisa/service/EVisaService.java

@@ -14,7 +14,12 @@ public interface EVisaService {
     String certification(String pdfUrl, String fileName, String contractId);
 
     /**
-     * 电签
+     * 电签(合同章)
+     */
+    String eVisaContractSeal(EVisaTaskApprovalVO task, String finalPdfUrl);
+
+    /**
+     * 电签(个人签)
      */
     String eVisa(EVisaTaskApprovalVO task);
 

+ 6 - 2
blade-service/blade-e-visa/src/main/java/org/springblade/evisa/service/impl/EVisaServiceImpl.java

@@ -196,6 +196,11 @@ public class EVisaServiceImpl implements EVisaService {
         return null;
     }
 
+    @Override
+    public String eVisaContractSeal(EVisaTaskApprovalVO task, String finalPdfUrl) {
+        return finalPdfUrl;
+    }
+
     @Override
     public String eVisa(EVisaTaskApprovalVO task) {
         String resultMessage = E_VISA_ERROR;
@@ -209,8 +214,7 @@ public class EVisaServiceImpl implements EVisaService {
 
 
         //获取任务对应表格的电签配置
-        List<JSONObject> eVisaConfigList = this.taskClient.queryBusinessTableEVisaConfig(task.getParallelProcessInstanceId());
-
+        List<JSONObject> eVisaConfigList = this.taskClient.queryBusinessTableEVisaConfig(task.getParallelProcessInstanceId(), "false");
         if(eVisaConfigList == null || eVisaConfigList.size() == 0){
             //没有电签配置,默认当前任务为不签字审批,返回成功
             return SUCCESS;

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/feign/EVisaConfigClientImpl.java

@@ -19,7 +19,7 @@ public class EVisaConfigClientImpl implements EVisaConfigClient {
     private final ITextdictInfoService textdictInfoService;
 
     @Override
-    public List<JSONObject> queryEVisaConfigByTableIds(List<String> tableIds) {
+    public List<JSONObject> queryEVisaConfigByTableIds(List<String> tableIds, String isFinal) {
         List<JSONObject> jsonResult = new ArrayList<>();
 
         List<TextdictInfo> configResult = this.textdictInfoService.list(Wrappers.<TextdictInfo>lambdaQuery().in(TextdictInfo::getTabId, tableIds).in(TextdictInfo::getSigRoleId, Arrays.asList(AuthUtil.getUser().getRoleId().split(","))));

+ 14 - 19
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java

@@ -70,28 +70,25 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
         List<WbsTreeContract> list = baseMapper.findAllNodeList2(pawDTO.getProjectId(), pawDTO.getContractId(), pawDTO.getWbsId());
 
         //当前合同段所有表单Id
-        List<String> collect3 = new ArrayList<>();
+        List<String> collect1 = new ArrayList<>();
         //当前合同段所有节点Id
-        List<String> collect7 = new ArrayList<>();
+        List<String> collect2 = new ArrayList<>();
 
         if (list.size() > 0) {
             //所有表单
-            List<WbsTreeContract> collect2 = list.stream().filter(f -> f.getType() == 2).collect(Collectors.toList());
-            List<Long> collect4 = collect2.stream().map(WbsTreeContract::getId).collect(Collectors.toList());
-            collect3 = collect4.stream().map(String::valueOf).collect(Collectors.toList());
+            List<WbsTreeContract> collect3 = list.stream().filter(f -> f.getType() == 2).collect(Collectors.toList());
+            collect1 = collect3.stream().map(WbsTreeContract::getId).collect(Collectors.toList()).stream().map(String::valueOf).collect(Collectors.toList());
 
             //所有节点
-            List<WbsTreeContract> collect5 = list.stream().filter(f -> f.getType() == 1).collect(Collectors.toList());
-            List<Long> collect6 = collect5.stream().map(WbsTreeContract::getId).collect(Collectors.toList());
-            collect7 = collect6.stream().map(String::valueOf).collect(Collectors.toList());
-
+            List<WbsTreeContract> collect4 = list.stream().filter(f -> f.getType() == 1).collect(Collectors.toList());
+            collect2 = collect4.stream().map(WbsTreeContract::getId).collect(Collectors.toList()).stream().map(String::valueOf).collect(Collectors.toList());
         }
 
         //新增节点ids
-        List<String> collect8 = collect7;
-        List<String> saveIds = idList1.stream().filter(f -> !collect8.contains(f)).collect(Collectors.toList());
+        List<String> collect5 = collect2;
+        List<String> saveIds = idList1.stream().filter(f -> !collect5.contains(f)).collect(Collectors.toList());
         //删除节点ids
-        List<String> delIds = collect8.stream().filter(f -> !idList1.contains(f)).collect(Collectors.toList());
+        List<String> delIds = collect5.stream().filter(f -> !idList1.contains(f)).collect(Collectors.toList());
 
         if (saveIds.size() == 0 && delIds.size() == 0) {
             //节点id未变,只进行节点下的元素表的同步
@@ -114,15 +111,15 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
             });
 
             //私有wbs树下所有元素表的Id
-            List<Long> collect = wbsTreePrivateList2.stream().map(WbsTreePrivate::getId).collect(Collectors.toList());
-            List<String> collect2 = collect.stream().map(String::valueOf).collect(Collectors.toList());
+            List<String> collect = wbsTreePrivateList2.stream().map(WbsTreePrivate::getId).collect(Collectors.toList()).stream().map(String::valueOf).collect(Collectors.toList());
+
             //获取所有wbsTreePrivate新增的表单Id
-            List<String> diffRent1 = DiffListUtil.getDiffRent(collect2, collect3);
+            List<String> diffRent1 = DiffListUtil.getDiffRent(collect, collect1);
 
-            if (collect2.size() == collect3.size()) {
+            if (collect.size() == collect1.size()) {
                 throw new ServiceException("未检测到当前引用的私有wbs树下有新增的元素表信息");
             }
-            if (collect2.size() > collect3.size()) {
+            if (collect.size() > collect1.size()) {
                 //初始化
                 List<WbsTreeContract> wbsTreeContracts = new ArrayList<>();
                 wbsTreePrivateList.forEach(wbsTreePrivate -> {
@@ -134,7 +131,6 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                     });
                 });
 
-                //baseMapper.insertBatchSomeColumn(wbsTreeContracts);
                 this.saveBatch(wbsTreeContracts, 10000);
             }
         } else {
@@ -210,7 +206,6 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                 });
 
                 //新增合同段节点、表
-                //baseMapper.insertBatchSomeColumn(wbsTreeContractList);
                 insertBatch(wbsTreeContractList, 100);
 
                 //新增施工台账

+ 8 - 19
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeServiceImpl.java

@@ -613,7 +613,6 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
         List<String> delIds = idList2.stream().filter(f -> !idList1.contains(f)).collect(Collectors.toList());
 
         if (saveIds.size() == 0 && delIds.size() == 0) {
-            //节点id未变,只进行节点下的元素表的同步  1.项目表单同步  2.同步到该项目下所有合同段wbs树
             //1.项目表单同步
             if (pawDTO.getReferenceType().equals("public")) {
                 //公有同步新增元素表
@@ -630,15 +629,11 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                     wbsTreeListAll.addAll(wbsTreeList);
                 }
 
-                //所有节点信息
-                //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());
+                List<String> collect1 = wbsTreeListTables.stream().map(WbsTree::getId).collect(Collectors.toList()).stream().map(String::valueOf).collect(Collectors.toList());
 
                 //获取项目私有wbs树下所有的节点、元素表
                 List<WbsTreePrivate> wbsTreePrivatesAll = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
@@ -649,10 +644,9 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
 
                 //私有下元素表id
                 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> collect2 = collect.stream().map(WbsTreePrivate::getId).collect(Collectors.toList()).stream().map(String::valueOf).collect(Collectors.toList());
 
-                List<String> diffRent1 = DiffListUtil.getDiffRent(collect2, collect4);
+                List<String> diffRent1 = DiffListUtil.getDiffRent(collect1, collect2);
 
                 //修改公有wbs节点信息、元素表基础信息到项目级wbs、合同段wbs
                 updateWbsInfoPrivateAsync(wbsTreeListAll, wbsTreePrivatesAll, pawDTO.getProjectId());
@@ -662,7 +656,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                     return true;
 
                 } else {
-                    if (collect2.size() > collect4.size()) {
+                    if (collect1.size() > collect2.size()) {
                         //获取当前项目下所有施工合同段id
                         List<ContractInfo> contractInfoIds = contractInfoMapper.selectContractIdByProjectId(pawDTO.getProjectId());
                         //公有同步元素表
@@ -747,15 +741,11 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                         .eq(WbsTreePrivate::getStatus, 1)
                 );
 
-                //私有引用项目的节点信息
-                //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());
+                List<String> collect1 = WbsTreePrivateTables.stream().map(WbsTreePrivate::getId).collect(Collectors.toList()).stream().map(String::valueOf).collect(Collectors.toList());
 
                 //获取当前项目私有wbs树下当前所有节点、元素表
                 List<WbsTreePrivate> wbsTreePrivatesAllNow = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
@@ -765,10 +755,9 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
 
                 //当前存在的表单的id
                 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> collect2 = wbsTreePrivateNowTypes.stream().map(WbsTreePrivate::getId).collect(Collectors.toList()).stream().map(String::valueOf).collect(Collectors.toList());
 
-                List<String> diffRent1 = DiffListUtil.getDiffRent(collect2, collect4);
+                List<String> diffRent1 = DiffListUtil.getDiffRent(collect1, collect2);
 
                 //修改私有wbs节点信息、元素表基础信息到项目级wbs、合同段wbs
                 updateWbsInfoContractAsync(wbsTreePrivateAllOld, wbsTreePrivatesAllNow, pawDTO.getProjectId(), pawDTO.getPrimaryKeyId());
@@ -777,7 +766,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                     return true;
 
                 } else {
-                    if (collect2.size() > collect4.size()) {
+                    if (collect1.size() > collect2.size()) {
                         //获取当前项目下所有施工合同段id
                         List<ContractInfo> contractInfoIds = contractInfoMapper.selectContractIdByProjectId(pawDTO.getProjectId());
                         //私有同步元素表