瀏覽代碼

修复bug

liuyc 3 年之前
父節點
當前提交
6eca9d3c21

+ 4 - 8
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.xml

@@ -95,19 +95,15 @@
 
     <update id="deleteBatch">
         DELETE FROM m_wbs_tree_contract
-        WHERE ( id IN
+        WHERE ( id OR parent_id ) IN
         <foreach item="ids" collection="ids" open="(" close=")" separator=",">
             #{ids}
         </foreach>
-        OR (parent_id IN
-        <foreach item="ids" collection="ids" open="(" close=")" separator=",">
-            #{ids}
-        </foreach>
-        ) )
+
         AND wbs_id = #{wbsId}
         AND project_id = #{projectId}
         AND contract_id = #{contractId}
-        AND contract_type = 1
+        /*AND contract_type = 1*/
     </update>
 
     <update id="updateByCondition">
@@ -426,7 +422,7 @@
         AND wbs_id = #{wbsId}
         AND project_id = #{projectId}
         AND contract_id = #{contractId}
-        AND contract_type = 1
+        /*AND contract_type = 1*/
     </select>
 
     <update id="regainRemoveTreeByPrimaryKeyIds">

+ 109 - 83
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java

@@ -213,8 +213,8 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                 });
 
                 //新增合同段节点、表
-                baseMapper.insertBatchSomeColumn(wbsTreeContractList);
-                //this.saveBatch(wbsTreeContractList, 10000);
+                //baseMapper.insertBatchSomeColumn(wbsTreeContractList);
+                insertBatch(wbsTreeContractList,100);
 
                 //新增施工台账
                 constructionLedgerFeign.initConstructionLedger(constructionLedgerList);
@@ -223,49 +223,29 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
         return true;
     }
 
-    private WbsTreeContract getWbsTreeContract(WbsTreePrivate wbsTree, WbsTreeContractDTO pawDTO) {
-        WbsTreeContract wbsTreeContract = new WbsTreeContract();
-        //数据初始化-施工合同
-        Long snowId = SnowFlakeUtil.getId();
-        wbsTreeContract.setPKeyId(snowId);
-        wbsTreeContract.setId(wbsTree.getId());
-        wbsTreeContract.setWbsId(pawDTO.getWbsId());
-        wbsTreeContract.setWbsType(wbsTree.getType());
-        wbsTreeContract.setProjectId(pawDTO.getProjectId());
-        wbsTreeContract.setContractId(pawDTO.getContractId());
-        wbsTreeContract.setContractType(pawDTO.getContractType());
-        wbsTreeContract.setTenantId(wbsTree.getTenantId());
-        wbsTreeContract.setParentId(wbsTree.getParentId());
-        wbsTreeContract.setAncestors(wbsTree.getAncestors());
-        wbsTreeContract.setDeptName(wbsTree.getDeptName());
-        wbsTreeContract.setDeptCategory(wbsTree.getDeptCategory());
-        wbsTreeContract.setFullName(wbsTree.getFullName());
-        wbsTreeContract.setSort(wbsTree.getSort());
-        wbsTreeContract.setRemark(wbsTree.getRemark());
-        wbsTreeContract.setType(wbsTree.getType());
-        wbsTreeContract.setTableType(wbsTree.getTableType());
-        wbsTreeContract.setStatus(wbsTree.getStatus());
-        wbsTreeContract.setIsDeleted(wbsTree.getIsDeleted());
-        wbsTreeContract.setUniqueCode(wbsTree.getUniqueCode());
-        wbsTreeContract.setPartitionCode(wbsTree.getPartitionCode());
-        wbsTreeContract.setIsConcrete(wbsTree.getIsConcrete());
-        wbsTreeContract.setIsExpernode(wbsTree.getIsExpernode());
-        wbsTreeContract.setTableOwner(wbsTree.getTableOwner());
-        wbsTreeContract.setMajorDataType(wbsTree.getMajorDataType());
-        wbsTreeContract.setInitTableName(wbsTree.getInitTableName());
-        wbsTreeContract.setIsLinkTable(wbsTree.getIsLinkTable());
-        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());
+    @Transactional(rollbackFor = Exception.class)
+    public boolean insertBatch(Collection<WbsTreeContract> entityList, int batchSize) {
+        try {
+            int size = entityList.size();
+            int idxLimit = Math.min(batchSize, size);
+            int i = 1;
+            //保存单批提交的数据集合
+            List<WbsTreeContract> oneBatchList = new ArrayList<>();
+            for (Iterator<WbsTreeContract> var1 = entityList.iterator(); var1.hasNext(); ++i) {
+                WbsTreeContract element = var1.next();
+                oneBatchList.add(element);
+                if (i == idxLimit) {
+                    baseMapper.insertBatchSomeColumn(oneBatchList);
+                    //每次提交后清空集合数据
+                    oneBatchList.clear();
+                    idxLimit = Math.min(idxLimit + batchSize, size);
+                }
+            }
+        } catch (Exception e) {
+            log.error("保存失败", e);
+            return false;
         }
-        return wbsTreeContract;
+        return true;
     }
 
     @Override
@@ -273,45 +253,6 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
         return baseMapper.selectList(Wrappers.<WbsTreeContract>query().lambda().eq(WbsTreeContract::getContractId, ids));
     }
 
-    public static List<String> getDiffrent(List<String> list1, List<String> list2) {
-        List<String> diff = new ArrayList<String>();
-        List<String> maxList = list1;
-        List<String> minList = list2;
-        if (list2.size() > list1.size()) {
-            maxList = list2;
-            minList = list1;
-        }
-        Map<String, Integer> map = new HashMap<String, Integer>(maxList.size());
-        for (String string : maxList) {
-            map.put(string, 1);
-        }
-        for (String string : minList) {
-            if (map.get(string) != null) {
-                map.put(string, 2);
-                continue;
-            }
-            diff.add(string);
-        }
-        for (Map.Entry<String, Integer> entry : map.entrySet()) {
-            if (entry.getValue() == 1) {
-                diff.add(entry.getKey());
-            }
-        }
-        return diff;
-    }
-
-    private List<WbsTreeContract> findAllNodeList(String wbsTreeIds, String projectId, String contractId, String wbsId) {
-        String[] ids = wbsTreeIds.split(",");
-        List<Long> idList = new ArrayList<>();
-        List<WbsTreeContract> list = new ArrayList<>();
-        for (String id : ids) {
-            idList.add(Long.valueOf(id));
-            WbsTreeContract contract = baseMapper.selectByCondition(id, projectId, contractId, wbsId);
-            list.add(contract);
-        }
-        return list;
-    }
-
     @Override
     public List<WbsTreeContract> queryCurrentContractLogList(String projectId) {
         return this.baseMapper.queryCurrentContractLogList(projectId);
@@ -397,4 +338,89 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
     public List<WbsTreeContract> updateAllNodeTabById(WbsTreePrivate aPrivate) {
         return baseMapper.updateAllNodeTabById(aPrivate);
     }
+
+    private List<WbsTreeContract> findAllNodeList(String wbsTreeIds, String projectId, String contractId, String wbsId) {
+        String[] ids = wbsTreeIds.split(",");
+        List<Long> idList = new ArrayList<>();
+        List<WbsTreeContract> list = new ArrayList<>();
+        for (String id : ids) {
+            idList.add(Long.valueOf(id));
+            WbsTreeContract contract = baseMapper.selectByCondition(id, projectId, contractId, wbsId);
+            list.add(contract);
+        }
+        return list;
+    }
+
+    private WbsTreeContract getWbsTreeContract(WbsTreePrivate wbsTree, WbsTreeContractDTO pawDTO) {
+        WbsTreeContract wbsTreeContract = new WbsTreeContract();
+        //数据初始化-施工合同
+        Long snowId = SnowFlakeUtil.getId();
+        wbsTreeContract.setPKeyId(snowId);
+        wbsTreeContract.setId(wbsTree.getId());
+        wbsTreeContract.setWbsId(pawDTO.getWbsId());
+        wbsTreeContract.setWbsType(wbsTree.getType());
+        wbsTreeContract.setProjectId(pawDTO.getProjectId());
+        wbsTreeContract.setContractId(pawDTO.getContractId());
+        wbsTreeContract.setContractType(pawDTO.getContractType());
+        wbsTreeContract.setTenantId(wbsTree.getTenantId());
+        wbsTreeContract.setParentId(wbsTree.getParentId());
+        wbsTreeContract.setAncestors(wbsTree.getAncestors());
+        wbsTreeContract.setDeptName(wbsTree.getDeptName());
+        wbsTreeContract.setDeptCategory(wbsTree.getDeptCategory());
+        wbsTreeContract.setFullName(wbsTree.getFullName());
+        wbsTreeContract.setSort(wbsTree.getSort());
+        wbsTreeContract.setRemark(wbsTree.getRemark());
+        wbsTreeContract.setType(wbsTree.getType());
+        wbsTreeContract.setTableType(wbsTree.getTableType());
+        wbsTreeContract.setStatus(wbsTree.getStatus());
+        wbsTreeContract.setIsDeleted(wbsTree.getIsDeleted());
+        wbsTreeContract.setUniqueCode(wbsTree.getUniqueCode());
+        wbsTreeContract.setPartitionCode(wbsTree.getPartitionCode());
+        wbsTreeContract.setIsConcrete(wbsTree.getIsConcrete());
+        wbsTreeContract.setIsExpernode(wbsTree.getIsExpernode());
+        wbsTreeContract.setTableOwner(wbsTree.getTableOwner());
+        wbsTreeContract.setMajorDataType(wbsTree.getMajorDataType());
+        wbsTreeContract.setInitTableName(wbsTree.getInitTableName());
+        wbsTreeContract.setIsLinkTable(wbsTree.getIsLinkTable());
+        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());
+        }
+        return wbsTreeContract;
+    }
+
+    public static List<String> getDiffrent(List<String> list1, List<String> list2) {
+        List<String> diff = new ArrayList<String>();
+        List<String> maxList = list1;
+        List<String> minList = list2;
+        if (list2.size() > list1.size()) {
+            maxList = list2;
+            minList = list1;
+        }
+        Map<String, Integer> map = new HashMap<String, Integer>(maxList.size());
+        for (String string : maxList) {
+            map.put(string, 1);
+        }
+        for (String string : minList) {
+            if (map.get(string) != null) {
+                map.put(string, 2);
+                continue;
+            }
+            diff.add(string);
+        }
+        for (Map.Entry<String, Integer> entry : map.entrySet()) {
+            if (entry.getValue() == 1) {
+                diff.add(entry.getKey());
+            }
+        }
+        return diff;
+    }
+
 }

+ 170 - 142
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeServiceImpl.java

@@ -63,7 +63,6 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
     private final ContractInfoMapper contractInfoMapper;
     private final FormulaMapper formulaMapper;
     private final BladeRedis bladeRedis;
-    private final JdbcTemplate jdbcTemplate;
 
     @Override
     public IPage<WbsTreeVO> selectWbsTreePage(IPage<WbsTreeVO> page, WbsTreeVO wbsTree) {
@@ -964,7 +963,6 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                                 }
                             }
                         });
-
                     }
                 }
             }
@@ -1087,11 +1085,15 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
 
                 //新增
                 if (pawDTO.getReferenceType().equals("public")) {
-                    wbsTreePrivateMapper.insertBatchSomeColumn(insertData);
+                    //wbsTreePrivateMapper.insertBatchSomeColumn(insertData);
+                    insertBatch(insertData, 100);
+
                     projectInfoMapper.updateTemplateIdById(pawDTO.getProjectId(), pawDTO.getWbsId(), "public");
 
                 } else if (pawDTO.getReferenceType().equals("private")) {
-                    wbsTreePrivateMapper.insertBatchSomeColumn(insertData2);
+                    //wbsTreePrivateMapper.insertBatchSomeColumn(insertData2);
+                    insertBatch(insertData2, 100);
+
                     projectInfoMapper.updateTemplateIdById(pawDTO.getProjectId(), pawDTO.getPrimaryKeyId(), "private");
                 }
 
@@ -1103,6 +1105,31 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
         return true;
     }
 
+    @Transactional(rollbackFor = Exception.class)
+    public boolean insertBatch(Collection<WbsTreePrivate> entityList, int batchSize) {
+        try {
+            int size = entityList.size();
+            int idxLimit = Math.min(batchSize, size);
+            int i = 1;
+            //保存单批提交的数据集合
+            List<WbsTreePrivate> oneBatchList = new ArrayList<>();
+            for (Iterator<WbsTreePrivate> var1 = entityList.iterator(); var1.hasNext(); ++i) {
+                WbsTreePrivate element = var1.next();
+                oneBatchList.add(element);
+                if (i == idxLimit) {
+                    wbsTreePrivateMapper.insertBatchSomeColumn(oneBatchList);
+                    //每次提交后清空集合数据
+                    oneBatchList.clear();
+                    idxLimit = Math.min(idxLimit + batchSize, size);
+                }
+            }
+        } catch (Exception e) {
+            log.error("保存失败", e);
+            return false;
+        }
+        return true;
+    }
+
     @Async
     public boolean updateWbsInfoPrivateAsync(List<WbsTree> wbsTreeListAll, List<WbsTreePrivate> wbsTreePrivatesAll, String projectId) {
         return wbsTreePrivateService.updateBatchByIds(wbsTreeListAll, wbsTreePrivatesAll, projectId);
@@ -1113,132 +1140,6 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
         return wbsTreePrivateService.updateBatchByIds2(wbsTreePrivates, wbsTreePrivatesAllNow, projectId, primaryKeyId);
     }
 
-    private WbsTreePrivate getWbsTreePrivate1(WbsTree wbsTree, WbsTreeContractDTO pawDTO) {
-        WbsTreePrivate wbsTreePrivate = new WbsTreePrivate();
-        Long snowId = SnowFlakeUtil.getId();
-        wbsTreePrivate.setPKeyId(snowId);
-        wbsTreePrivate.setId(wbsTree.getId());
-        wbsTreePrivate.setWbsId(wbsTree.getWbsId());
-        wbsTreePrivate.setWbsType(String.valueOf(pawDTO.getWbsType()));
-        wbsTreePrivate.setProjectId(pawDTO.getProjectId());
-        wbsTreePrivate.setTenantId(wbsTree.getTenantId());
-        wbsTreePrivate.setParentId(wbsTree.getParentId());
-        wbsTreePrivate.setAncestors(wbsTree.getAncestors());
-        wbsTreePrivate.setDeptCategory(wbsTree.getDeptCategory());
-        wbsTreePrivate.setDeptName(wbsTree.getDeptName());
-        wbsTreePrivate.setFullName(wbsTree.getFullName());
-        wbsTreePrivate.setSort(wbsTree.getSort());
-        wbsTreePrivate.setRemark(wbsTree.getRemark());
-        wbsTreePrivate.setType(wbsTree.getType());
-        wbsTreePrivate.setTableType(wbsTree.getTableType());
-        wbsTreePrivate.setStatus(wbsTree.getStatus());
-        wbsTreePrivate.setIsDeleted(wbsTree.getIsDeleted());
-        wbsTreePrivate.setUniqueCode(wbsTree.getUniqueCode());
-        wbsTreePrivate.setPartitionCode(wbsTree.getPartitionCode());
-        wbsTreePrivate.setIsConcrete(wbsTree.getIsConcrete());
-        wbsTreePrivate.setIsExpernode(wbsTree.getIsExpernode());
-        wbsTreePrivate.setTableOwner(wbsTree.getTableOwner());
-        wbsTreePrivate.setMajorDataType(wbsTree.getMajorDataType());
-        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;
-    }
-
-    private WbsTreePrivate getWbsTreePrivate2(WbsTreePrivate wbsTree, WbsTreeContractDTO pawDTO) {
-        WbsTreePrivate wbsTreePrivate = new WbsTreePrivate();
-        Long snowId = SnowFlakeUtil.getId();
-        wbsTreePrivate.setPKeyId(snowId);
-        wbsTreePrivate.setId(wbsTree.getId());
-        wbsTreePrivate.setWbsId(pawDTO.getPrimaryKeyId());
-        wbsTreePrivate.setWbsType(String.valueOf(pawDTO.getWbsType()));
-        wbsTreePrivate.setProjectId(pawDTO.getProjectId());
-        wbsTreePrivate.setTenantId(wbsTree.getTenantId());
-        wbsTreePrivate.setParentId(wbsTree.getParentId());
-        wbsTreePrivate.setAncestors(wbsTree.getAncestors());
-        wbsTreePrivate.setDeptCategory(wbsTree.getDeptCategory());
-        wbsTreePrivate.setDeptName(wbsTree.getDeptName());
-        wbsTreePrivate.setFullName(wbsTree.getFullName());
-        wbsTreePrivate.setSort(wbsTree.getSort());
-        wbsTreePrivate.setRemark(wbsTree.getRemark());
-        wbsTreePrivate.setType(wbsTree.getType());
-        wbsTreePrivate.setTableType(wbsTree.getTableType());
-        wbsTreePrivate.setStatus(wbsTree.getStatus());
-        wbsTreePrivate.setIsDeleted(wbsTree.getIsDeleted());
-        wbsTreePrivate.setUniqueCode(wbsTree.getUniqueCode());
-        wbsTreePrivate.setPartitionCode(wbsTree.getPartitionCode());
-        wbsTreePrivate.setIsConcrete(wbsTree.getIsConcrete());
-        wbsTreePrivate.setIsExpernode(wbsTree.getIsExpernode());
-        wbsTreePrivate.setTableOwner(wbsTree.getTableOwner());
-        wbsTreePrivate.setMajorDataType(wbsTree.getMajorDataType());
-        wbsTreePrivate.setInitTableName(wbsTree.getInitTableName());
-        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());
-        //引用私有wbs,同步清表id
-        wbsTreePrivate.setExcelId(wbsTree.getExcelId());
-
-        return wbsTreePrivate;
-    }
-
-    private WbsTreeContract getWbsTreeContract(WbsTreePrivate wbsTree, WbsTreeContractDTO pawDTO) {
-        WbsTreeContract wbsTreeContract = new WbsTreeContract();
-        Long snowId = SnowFlakeUtil.getId();
-        wbsTreeContract.setPKeyId(snowId);
-        wbsTreeContract.setId(wbsTree.getId());
-        wbsTreeContract.setWbsId(pawDTO.getWbsId());
-        wbsTreeContract.setWbsType(wbsTree.getType());
-        wbsTreeContract.setProjectId(pawDTO.getProjectId());
-        wbsTreeContract.setContractType(pawDTO.getContractType());
-        wbsTreeContract.setTenantId(wbsTree.getTenantId());
-        wbsTreeContract.setParentId(wbsTree.getParentId());
-        wbsTreeContract.setAncestors(wbsTree.getAncestors());
-        wbsTreeContract.setDeptName(wbsTree.getDeptName());
-        wbsTreeContract.setDeptCategory(wbsTree.getDeptCategory());
-        wbsTreeContract.setFullName(wbsTree.getDeptName());
-        wbsTreeContract.setSort(wbsTree.getSort());
-        wbsTreeContract.setRemark(wbsTree.getRemark());
-        wbsTreeContract.setType(wbsTree.getType());
-        wbsTreeContract.setTableType(wbsTree.getTableType());
-        wbsTreeContract.setStatus(wbsTree.getStatus());
-        wbsTreeContract.setIsDeleted(wbsTree.getIsDeleted());
-        wbsTreeContract.setUniqueCode(wbsTree.getUniqueCode());
-        wbsTreeContract.setPartitionCode(wbsTree.getPartitionCode());
-        wbsTreeContract.setIsConcrete(wbsTree.getIsConcrete());
-        wbsTreeContract.setIsExpernode(wbsTree.getIsExpernode());
-        wbsTreeContract.setTableOwner(wbsTree.getTableOwner());
-        wbsTreeContract.setMajorDataType(wbsTree.getMajorDataType());
-        wbsTreeContract.setInitTableName(wbsTree.getInitTableName());
-        wbsTreeContract.setIsLinkTable(wbsTree.getIsLinkTable());
-        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());
-        }
-        return wbsTreeContract;
-    }
-
     @Override
     public WbsTreeAllListVO findWbsTreeList(Integer type) {
         WbsTreeAllListVO wbsTreeAllListVO = new WbsTreeAllListVO();
@@ -1319,6 +1220,23 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
 
     }
 
+    public int updateByCondition(Long id, String wbsName, Integer status) {
+        return baseMapper.updateByCondition(id, wbsName, status);
+    }
+
+    public List<WbsTree> findAllNodeList(String wbsTreeIds) {
+        if (StringUtils.isNotEmpty(wbsTreeIds)) {
+            String[] ids = wbsTreeIds.split(",");
+            List<Long> idList = new ArrayList<>();
+            for (String id : ids) {
+                idList.add(Long.valueOf(id));
+            }
+            return baseMapper.selectBatchIds(idList);
+        } else {
+            return null;
+        }
+    }
+
     public static String getFirstSpell(String chinese) {
         StringBuilder stringBuilder = new StringBuilder();
         char[] arr = chinese.toCharArray();
@@ -1383,20 +1301,130 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
         return rs;
     }
 
-    public int updateByCondition(Long id, String wbsName, Integer status) {
-        return baseMapper.updateByCondition(id, wbsName, status);
+    private WbsTreePrivate getWbsTreePrivate1(WbsTree wbsTree, WbsTreeContractDTO pawDTO) {
+        WbsTreePrivate wbsTreePrivate = new WbsTreePrivate();
+        Long snowId = SnowFlakeUtil.getId();
+        wbsTreePrivate.setPKeyId(snowId);
+        wbsTreePrivate.setId(wbsTree.getId());
+        wbsTreePrivate.setWbsId(wbsTree.getWbsId());
+        wbsTreePrivate.setWbsType(String.valueOf(pawDTO.getWbsType()));
+        wbsTreePrivate.setProjectId(pawDTO.getProjectId());
+        wbsTreePrivate.setTenantId(wbsTree.getTenantId());
+        wbsTreePrivate.setParentId(wbsTree.getParentId());
+        wbsTreePrivate.setAncestors(wbsTree.getAncestors());
+        wbsTreePrivate.setDeptCategory(wbsTree.getDeptCategory());
+        wbsTreePrivate.setDeptName(wbsTree.getDeptName());
+        wbsTreePrivate.setFullName(wbsTree.getFullName());
+        wbsTreePrivate.setSort(wbsTree.getSort());
+        wbsTreePrivate.setRemark(wbsTree.getRemark());
+        wbsTreePrivate.setType(wbsTree.getType());
+        wbsTreePrivate.setTableType(wbsTree.getTableType());
+        wbsTreePrivate.setStatus(wbsTree.getStatus());
+        wbsTreePrivate.setIsDeleted(wbsTree.getIsDeleted());
+        wbsTreePrivate.setUniqueCode(wbsTree.getUniqueCode());
+        wbsTreePrivate.setPartitionCode(wbsTree.getPartitionCode());
+        wbsTreePrivate.setIsConcrete(wbsTree.getIsConcrete());
+        wbsTreePrivate.setIsExpernode(wbsTree.getIsExpernode());
+        wbsTreePrivate.setTableOwner(wbsTree.getTableOwner());
+        wbsTreePrivate.setMajorDataType(wbsTree.getMajorDataType());
+        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;
     }
 
-    public List<WbsTree> findAllNodeList(String wbsTreeIds) {
-        if (StringUtils.isNotEmpty(wbsTreeIds)) {
-            String[] ids = wbsTreeIds.split(",");
-            List<Long> idList = new ArrayList<>();
-            for (String id : ids) {
-                idList.add(Long.valueOf(id));
-            }
-            return baseMapper.selectBatchIds(idList);
-        } else {
-            return null;
+    private WbsTreePrivate getWbsTreePrivate2(WbsTreePrivate wbsTree, WbsTreeContractDTO pawDTO) {
+        WbsTreePrivate wbsTreePrivate = new WbsTreePrivate();
+        Long snowId = SnowFlakeUtil.getId();
+        wbsTreePrivate.setPKeyId(snowId);
+        wbsTreePrivate.setId(wbsTree.getId());
+        wbsTreePrivate.setWbsId(pawDTO.getPrimaryKeyId());
+        wbsTreePrivate.setWbsType(String.valueOf(pawDTO.getWbsType()));
+        wbsTreePrivate.setProjectId(pawDTO.getProjectId());
+        wbsTreePrivate.setTenantId(wbsTree.getTenantId());
+        wbsTreePrivate.setParentId(wbsTree.getParentId());
+        wbsTreePrivate.setAncestors(wbsTree.getAncestors());
+        wbsTreePrivate.setDeptCategory(wbsTree.getDeptCategory());
+        wbsTreePrivate.setDeptName(wbsTree.getDeptName());
+        wbsTreePrivate.setFullName(wbsTree.getFullName());
+        wbsTreePrivate.setSort(wbsTree.getSort());
+        wbsTreePrivate.setRemark(wbsTree.getRemark());
+        wbsTreePrivate.setType(wbsTree.getType());
+        wbsTreePrivate.setTableType(wbsTree.getTableType());
+        wbsTreePrivate.setStatus(wbsTree.getStatus());
+        wbsTreePrivate.setIsDeleted(wbsTree.getIsDeleted());
+        wbsTreePrivate.setUniqueCode(wbsTree.getUniqueCode());
+        wbsTreePrivate.setPartitionCode(wbsTree.getPartitionCode());
+        wbsTreePrivate.setIsConcrete(wbsTree.getIsConcrete());
+        wbsTreePrivate.setIsExpernode(wbsTree.getIsExpernode());
+        wbsTreePrivate.setTableOwner(wbsTree.getTableOwner());
+        wbsTreePrivate.setMajorDataType(wbsTree.getMajorDataType());
+        wbsTreePrivate.setInitTableName(wbsTree.getInitTableName());
+        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());
+        //引用私有wbs,同步清表id
+        wbsTreePrivate.setExcelId(wbsTree.getExcelId());
+
+        return wbsTreePrivate;
+    }
+
+    private WbsTreeContract getWbsTreeContract(WbsTreePrivate wbsTree, WbsTreeContractDTO pawDTO) {
+        WbsTreeContract wbsTreeContract = new WbsTreeContract();
+        Long snowId = SnowFlakeUtil.getId();
+        wbsTreeContract.setPKeyId(snowId);
+        wbsTreeContract.setId(wbsTree.getId());
+        wbsTreeContract.setWbsId(pawDTO.getWbsId());
+        wbsTreeContract.setWbsType(wbsTree.getType());
+        wbsTreeContract.setProjectId(pawDTO.getProjectId());
+        wbsTreeContract.setContractType(pawDTO.getContractType());
+        wbsTreeContract.setTenantId(wbsTree.getTenantId());
+        wbsTreeContract.setParentId(wbsTree.getParentId());
+        wbsTreeContract.setAncestors(wbsTree.getAncestors());
+        wbsTreeContract.setDeptName(wbsTree.getDeptName());
+        wbsTreeContract.setDeptCategory(wbsTree.getDeptCategory());
+        wbsTreeContract.setFullName(wbsTree.getDeptName());
+        wbsTreeContract.setSort(wbsTree.getSort());
+        wbsTreeContract.setRemark(wbsTree.getRemark());
+        wbsTreeContract.setType(wbsTree.getType());
+        wbsTreeContract.setTableType(wbsTree.getTableType());
+        wbsTreeContract.setStatus(wbsTree.getStatus());
+        wbsTreeContract.setIsDeleted(wbsTree.getIsDeleted());
+        wbsTreeContract.setUniqueCode(wbsTree.getUniqueCode());
+        wbsTreeContract.setPartitionCode(wbsTree.getPartitionCode());
+        wbsTreeContract.setIsConcrete(wbsTree.getIsConcrete());
+        wbsTreeContract.setIsExpernode(wbsTree.getIsExpernode());
+        wbsTreeContract.setTableOwner(wbsTree.getTableOwner());
+        wbsTreeContract.setMajorDataType(wbsTree.getMajorDataType());
+        wbsTreeContract.setInitTableName(wbsTree.getInitTableName());
+        wbsTreeContract.setIsLinkTable(wbsTree.getIsLinkTable());
+        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());
         }
+        return wbsTreeContract;
     }
+
 }