Bladeren bron

修改BUG

liuyc 3 jaren geleden
bovenliggende
commit
69c98212f2

+ 7 - 2
blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/ConstructionLedgerFeign.java → blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/ConstructionLedgerFeignClient.java

@@ -7,12 +7,17 @@ import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
+import java.lang.reflect.Array;
+import java.util.ArrayList;
+import java.util.List;
+
 @FeignClient(value =
         BusinessConstant.APPLICATION_WEATHER_NAME
 )
-public interface ConstructionLedgerFeign {
+public interface ConstructionLedgerFeignClient {
     String INIT_URL = "/initConstructionLedger";
 
     @PostMapping(INIT_URL)
-    boolean initConstructionLedger(@RequestBody ConstructionLedger constructionLedger);
+    boolean initConstructionLedger(@RequestBody ArrayList<ConstructionLedger> constructionLedgerList);
+
 }

+ 7 - 6
blade-service/blade-business/src/main/java/org/springblade/business/feignClient/ConstructionLedgerFeignController.java → blade-service/blade-business/src/main/java/org/springblade/business/feignClient/ConstructionLedgerFeignClientImpl.java

@@ -1,19 +1,19 @@
 package org.springblade.business.feignClient;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.AllArgsConstructor;
 import org.springblade.business.entity.ConstructionLedger;
-import org.springblade.business.feign.ConstructionLedgerFeign;
+import org.springblade.business.feign.ConstructionLedgerFeignClient;
 import org.springblade.business.service.IConstructionLedgerService;
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.ArrayList;
+
 @RestController
 @AllArgsConstructor
 @NonDS
-public class ConstructionLedgerFeignController implements ConstructionLedgerFeign {
+public class ConstructionLedgerFeignClientImpl implements ConstructionLedgerFeignClient {
 
     private final IConstructionLedgerService iConstructionLedgerService;
 
@@ -22,7 +22,8 @@ public class ConstructionLedgerFeignController implements ConstructionLedgerFeig
      */
     @Override
     @PostMapping(INIT_URL)
-    public boolean initConstructionLedger(@RequestBody ConstructionLedger constructionLedger) {
-        return iConstructionLedgerService.save(constructionLedger);
+    public boolean initConstructionLedger(ArrayList<ConstructionLedger> constructionLedgerList) {
+        return iConstructionLedgerService.saveBatch(constructionLedgerList, 10000);
     }
+
 }

+ 0 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeMapper.java

@@ -49,7 +49,6 @@ public interface WbsTreeMapper extends BaseMapper<WbsTree> {
 
     List<WbsNodeTableVO> selectByNodeTable(@Param("id") String id);
 
-
     List<WbsNodeTableVO> selectByNodeTableByExcel(@Param("id") String id,@Param("projectid") String projectid);
 
     List<String> selectByElementsTotal(@Param("ids") List<String> ids);

+ 8 - 10
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeMapper.xml

@@ -252,23 +252,21 @@
         d.id AS "key",
         d.dept_category AS "deptCategory",
         d.is_exist_form AS "isExistForm",
-        (SELECT wbs_type FROM m_wbs_info WHERE id = #{wbsId}) AS "wbsType",
-        (SELECT CASE WHEN count(1) > 0 THEN 1 ELSE 0 END FROM m_wbs_tree c WHERE c.parent_id = d.id AND c.is_deleted =
-        0) AS "has_children"
-        FROM m_wbs_tree d
+        a.wbs_type AS "wbsType"
+        FROM m_wbs_tree d INNER JOIN m_wbs_info a ON a.id = #{wbsId}
         WHERE
-        is_deleted = 0
-        AND status = 1
+        d.is_deleted = 0
+        AND d.status = 1
         <if test="wbsId!=null and wbsId!=''">
-            AND wbs_id = #{wbsId}
+            AND d.wbs_id = #{wbsId}
         </if>
         <if test="tenantId!=null and tenantId!=''">
-            AND tenant_id = #{tenantId}
+            AND d.tenant_id = #{tenantId}
         </if>
         <if test="type!=null and type!=''">
-            AND `type` = #{type}
+            AND d.`type` = #{type}
         </if>
-        ORDER BY sort
+        ORDER BY d.sort
     </select>
 
 

+ 2 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.java

@@ -79,5 +79,7 @@ public interface WbsTreePrivateMapper extends BaseMapper<WbsTreePrivate> {
 
     List<WbsTreePrivate> selectNodeAndTable(String id, String wbsId, String referencePrivateWbsProjectId);
 
+    List<WbsTreePrivate> selectNodeAndTable2(String wbsId, String referencePrivateWbsProjectId);
+
     boolean updateBatchByPid(@Param("wbsTreePrivates") WbsTreePrivateDTO3 wbsTreePrivates);
 }

+ 29 - 8
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.xml

@@ -382,22 +382,43 @@
     </select>
 
     <select id="selectNodeAndTable" resultType="org.springblade.manager.entity.WbsTreePrivate">
-       SELECT p_key_id,id,wbs_id,wbs_type,project_id,tenant_id,parent_id,ancestors,dept_category,dept_name,full_name,sort,remark,type,
-               table_type,create_time,create_user, create_dept,update_user,update_time,status,is_deleted,unique_code,partition_code,is_expernode,
-               is_concrete,table_owner,major_data_type,init_table_name,is_link_table,excel_id,is_exist_form
+        SELECT
+        p_key_id,id,wbs_id,wbs_type,project_id,tenant_id,parent_id,ancestors,dept_category,dept_name,full_name,sort,remark,type,
+        table_type,create_time,create_user,
+        create_dept,update_user,update_time,status,is_deleted,unique_code,partition_code,is_expernode,
+        is_concrete,table_owner,major_data_type,init_table_name,is_link_table,excel_id,is_exist_form
         FROM m_wbs_tree_private
-        WHERE (id = #{id}
-        AND type = 1
+        WHERE (
+         type = 1
+        <if test="id != null and id != ''">
+            AND id = #{id}
+        </if>
         AND project_id = #{referencePrivateWbsProjectId}
-        AND wbs_id =  #{wbsId}
+        AND wbs_id = #{wbsId}
         AND STATUS = 1
         AND is_deleted = 0)
         OR (
-        parent_id = #{id}
-        AND type = 2
+         type = 2
+        <if test="id != null and id != ''">
+            parent_id = #{id}
+        </if>
         AND project_id = #{referencePrivateWbsProjectId}
         AND wbs_id = #{wbsId}
         AND STATUS = 1
         AND is_deleted = 0)
     </select>
+
+    <select id="selectNodeAndTable2" resultType="org.springblade.manager.entity.WbsTreePrivate">
+        SELECT
+        p_key_id,id,wbs_id,wbs_type,project_id,tenant_id,parent_id,ancestors,dept_category,dept_name,full_name,sort,remark,type,
+        table_type,create_time,create_user,
+        create_dept,update_user,update_time,status,is_deleted,unique_code,partition_code,is_expernode,
+        is_concrete,table_owner,major_data_type,init_table_name,is_link_table,excel_id,is_exist_form
+        FROM m_wbs_tree_private
+        WHERE  project_id = #{referencePrivateWbsProjectId}
+        AND wbs_id = #{wbsId}
+        AND STATUS = 1
+        AND is_deleted = 0
+    </select>
+
 </mapper>

+ 48 - 23
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java

@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang.StringUtils;
 import org.springblade.business.entity.ConstructionLedger;
-import org.springblade.business.feign.ConstructionLedgerFeign;
+import org.springblade.business.feign.ConstructionLedgerFeignClient;
 import org.springblade.common.utils.SnowFlakeUtil;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.base.BaseServiceImpl;
@@ -38,9 +38,8 @@ public class WbsTreeContractServiceImpl
         extends BaseServiceImpl<WbsTreeContractMapper, WbsTreeContract>
         implements IWbsTreeContractService {
 
-    private final ConstructionLedgerFeign constructionLedgerFeign;
+    private final ConstructionLedgerFeignClient constructionLedgerFeign;
     private final WbsTreePrivateMapper wbsTreePrivateMapper;
-    private final WbsInfoMapper wbsInfoMapper;
 
     /**
      * 合同段wbs树保存
@@ -84,6 +83,7 @@ public class WbsTreeContractServiceImpl
 
         //同步元素表
         if (diffRent.size() == 0) {
+            List<WbsTreePrivate> wbsTreePrivateList2 = new ArrayList<>();
             //获取私有wbs树下所有元素表
             List<WbsTreePrivate> wbsTreePrivateList = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
                     .eq(WbsTreePrivate::getProjectId, pawDTO.getProjectId())
@@ -91,12 +91,26 @@ public class WbsTreeContractServiceImpl
                     .eq(WbsTreePrivate::getType, 2)
             );
 
+            //只获取当前引用节点下的所有表
+            wbsTreePrivateList.stream().forEach(wbsTreePrivate -> {
+                idList1.stream().forEach(id -> {
+                    if (Long.parseLong(id) == (wbsTreePrivate.getParentId()) && wbsTreePrivate.getType() == 2) {
+                        //表
+                        wbsTreePrivateList2.add(wbsTreePrivate);
+                    }
+                });
+            });
+
+
             //私有wbs树下所有元素表的Id collect2
-            List<Long> collect = wbsTreePrivateList.stream().map(WbsTreePrivate::getId).collect(Collectors.toList());
+            List<Long> collect = wbsTreePrivateList2.stream().map(WbsTreePrivate::getId).collect(Collectors.toList());
             List<String> collect2 = collect.stream().map(String::valueOf).collect(Collectors.toList());
             //获取所有wbsTreePrivate新增的表单Id
             List<String> diffRent1 = getDiffrent(collect2, collect3);
 
+            if (collect2.size() == collect3.size()) {
+                throw new ServiceException("未检测到当前引用的私有wbs树下有新增的元素表");
+            }
             if (collect2.size() > collect3.size()) {
                 //初始化
                 List<WbsTreeContract> wbsTreeContracts = new ArrayList<>();
@@ -110,35 +124,38 @@ public class WbsTreeContractServiceImpl
                 });
 
                 this.saveBatch(wbsTreeContracts, 10000);
-
             }
 
+
         } else {
             //新增
             if (idList1.size() > collect7.size()) {
                 List<WbsTreeContract> wbsTreeContractList = new ArrayList<>();
-
-                List<List<WbsTreePrivate>> wbsTreePrivatesList = new ArrayList<>();
+                List<WbsTreePrivate> wbsTreePrivatesList = new ArrayList<>();
+                ArrayList<ConstructionLedger> constructionLedgerList = new ArrayList<>();
 
                 //获取wbs私有树下节点+表 diffRent=新增的节点id
-                diffRent.stream().forEach(id -> {
-                    List<WbsTreePrivate> wbsTreePrivates = wbsTreePrivateMapper.selectNodeAndTable(id, pawDTO.getWbsId(), pawDTO.getProjectId());
-                    wbsTreePrivatesList.add(wbsTreePrivates);
-                });
+                List<WbsTreePrivate> wbsTreePrivates = wbsTreePrivateMapper.selectNodeAndTable2(pawDTO.getWbsId(), pawDTO.getProjectId());
 
-                //初始化
-                wbsTreePrivatesList.stream().forEach(wbsTreePrivates -> {
-                    wbsTreePrivates.stream().forEach(wbsTreePrivate -> {
-                        WbsTreeContract wbsTreeContract = getWbsTreePrivate(wbsTreePrivate, pawDTO);
-                        wbsTreeContractList.add(wbsTreeContract);
-                    });
-                });
+                for (WbsTreePrivate wbsTreePrivate : wbsTreePrivates) {
+                    for (String id : diffRent) {
+                        if (Long.parseLong(id) == (wbsTreePrivate.getId())) {
+                            //节点
+                            wbsTreePrivatesList.add(wbsTreePrivate);
+                        } else if (Long.parseLong(id) == (wbsTreePrivate.getParentId()) && wbsTreePrivate.getType() == 2) {
+                            //表
+                            wbsTreePrivatesList.add(wbsTreePrivate);
+                        }
+                    }
+                }
 
-                //新增
-                this.saveBatch(wbsTreeContractList, 10000);
+                //初始化
+                wbsTreePrivatesList.stream().forEach(wbsTreePrivate -> {
+                    //节点、表信息
+                    WbsTreeContract wbsTreeContract = getWbsTreePrivate(wbsTreePrivate, pawDTO);
+                    wbsTreeContractList.add(wbsTreeContract);
 
-                //初始化施工台账
-                wbsTreeContractList.stream().forEach(wbsTreeContract -> {
+                    //台账信息
                     if (wbsTreeContract.getDeptCategory() == 6) {
                         ConstructionLedger constructionLedger = new ConstructionLedger();
                         constructionLedger.setIsBeton(0);
@@ -146,10 +163,18 @@ public class WbsTreeContractServiceImpl
                         constructionLedger.setSite(wbsTreeContract.getDeptName());
                         constructionLedger.setStation(wbsTreeContract.getDeptName());
                         constructionLedger.setContractId(Long.parseLong(pawDTO.getContractId()));
-                        constructionLedgerFeign.initConstructionLedger(constructionLedger);
+                        constructionLedgerList.add(constructionLedger);
                     }
+
                 });
 
+                //新增合同段wbs树
+                this.saveBatch(wbsTreeContractList, 10000);
+
+                //新增施工台账
+                constructionLedgerFeign.initConstructionLedger(constructionLedgerList);
+
+
             } else {
                 //删除
                 List<WbsTreeContract> wbsTreeContracts = baseMapper.selectList(Wrappers.<WbsTreeContract>query().lambda()

+ 62 - 39
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeServiceImpl.java

@@ -96,32 +96,37 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
     @Override
     public List<WbsTreeVO2> tree(String wbsId, String tenantId, String type) {
 
-        //方法1-数据量过大响应格式错误
+        //方法1-数据量过大响应格式错误
         /*return ForestNodeMerger.merge(baseMapper.tree(wbsId, tenantId, type));*/
 
         //方法2
         List<WbsTreeVO2> wbsTreeVO2s = baseMapper.tree2(wbsId, tenantId, type);
-        if (wbsTreeVO2s != null && wbsTreeVO2s.size() > 0) {
+
+        //构建
+        if (wbsTreeVO2s.size() > 0) {
             return buildWbsTreeByStream(wbsTreeVO2s);
         }
+
         return wbsTreeVO2s;
     }
 
     private List<WbsTreeVO2> buildWbsTreeByStream(List<WbsTreeVO2> wbsTreeVO2s) {
-        //构建数据
+        //根节点
         List<WbsTreeVO2> list = wbsTreeVO2s.stream().filter(f -> f.getParentId() == 0L).collect(Collectors.toList());
-        //节点分组
+        //节点分组
         Map<Long, List<WbsTreeVO2>> map = wbsTreeVO2s.stream().collect(Collectors.groupingBy(WbsTreeVO2::getParentId));
         this.recursionFnTree(list, map);
         return list;
     }
 
     private void recursionFnTree(List<WbsTreeVO2> list, Map<Long, List<WbsTreeVO2>> map) {
-        //递归
         for (WbsTreeVO2 wbsTreeVO2 : list) {
             List<WbsTreeVO2> childrenList = map.get(wbsTreeVO2.getId());
             wbsTreeVO2.setChildren(childrenList);
             if (childrenList != null && childrenList.size() > 0) {
+                //存在子级
+                wbsTreeVO2.setHasChildren(true);
+                //递归查询
                 recursionFnTree(childrenList, map);
             }
         }
@@ -662,8 +667,6 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                 if (!tree.getAncestors().equals(wbsTreeZi.getAncestors())) {
                     wbsTrees.add(tree);
                     break;
-                } else if (!tree.getParentId().equals(wbsTreeZi.getParentId())) {
-                    //TODO
                 }
             }
         }
@@ -823,17 +826,17 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                 //获取公有wbs树新增的元素表
                 List<WbsTree> allNodeList = findAllNodeList(wbsTreeIds);
                 List<WbsTree> wbsTreeListAll = new ArrayList<>();
+
+                //获取公有wbs树所有的元素表
                 if (allNodeList != null) {
-                    allNodeList.stream().forEach(wbsTree -> {
-                        List<WbsTree> wbsTreeList = wbsTreeMapper.selectList(Wrappers.<WbsTree>query().lambda()
-                                .eq(WbsTree::getWbsId, pawDTO.getWbsId())
-                                .eq(WbsTree::getType, 2)
-                                .eq(WbsTree::getParentId, wbsTree.getId())
-                        );
-                        wbsTreeListAll.addAll(wbsTreeList);
-                    });
+                    List<WbsTree> wbsTreeList = wbsTreeMapper.selectList(Wrappers.<WbsTree>query().lambda()
+                            .eq(WbsTree::getWbsId, pawDTO.getWbsId())
+                            .eq(WbsTree::getType, 2)
+                    );
+                    wbsTreeListAll.addAll(wbsTreeList);
                 }
 
+                //公有所以表的id
                 List<Long> collect1 = wbsTreeListAll.stream().map(WbsTree::getId).collect(Collectors.toList());
                 List<String> collect2 = collect1.stream().map(String::valueOf).collect(Collectors.toList());
 
@@ -844,8 +847,10 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                         .eq(WbsTreePrivate::getType, 2)
                 );
 
+                //私有下元素表id
                 List<Long> collect3 = wbsTreePrivates1.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);
 
                 if (diffRent1.size() == 0) {
@@ -874,13 +879,14 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                 WbsTreePrivate wbsTreePrivate = wbsTreePrivateMapper.selectOne(Wrappers.<WbsTreePrivate>query().lambda()
                         .eq(WbsTreePrivate::getPKeyId, pawDTO.getPrimaryKeyId()));
 
-                //获取所私有引用项目的wbs树的全部表
+                //获取所私有引用项目的wbs树的全部元素
                 List<WbsTreePrivate> wbsTreePrivates = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
                         .eq(WbsTreePrivate::getWbsId, wbsTreePrivate.getWbsId())
                         .eq(WbsTreePrivate::getProjectId, wbsTreePrivate.getProjectId())
                         .eq(WbsTreePrivate::getType, 2)
                 );
 
+                //当前新增表单的id
                 List<Long> collect1 = wbsTreePrivates.stream().map(WbsTreePrivate::getId).collect(Collectors.toList());
                 List<String> collect2 = collect1.stream().map(String::valueOf).collect(Collectors.toList());
 
@@ -891,12 +897,15 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                         .eq(WbsTreePrivate::getType, 2)
                 );
 
+                //当前存在的表单的id
                 List<Long> collect3 = wbsTreePrivates1.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);
 
                 if (diffRent1.size() == 0) {
                     throw new ServiceException("未检测到引用的私有wbs树下有新增的元素表");
+
                 } else {
                     if (collect2.size() > collect4.size()) {
                         //私有同步元素表
@@ -939,39 +948,53 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                 if (pawDTO.getReferenceType().equals("public")) {
                     //引用公有
                     //查询所有公共节点+表 diffRent=新增的节点id
-                    List<List<WbsTree>> addListData = new ArrayList<>();
+                    List<WbsTree> addListData = new ArrayList<>();
+                    //查询出当前wbs树下所有节点+表信息
+                    List<WbsTree> treesAll = baseMapper.selectList(Wrappers.<WbsTree>query().lambda().eq(WbsTree::getWbsId, pawDTO.getWbsId()));
+
+                    for (WbsTree wbsTree : treesAll) {
+                        for (String id : diffRent) {
+                            if (Long.parseLong(id) == (wbsTree.getId())) {
+                                //节点
+                                addListData.add(wbsTree);
+                            } else if (Long.parseLong(id) == (wbsTree.getParentId()) && wbsTree.getType() == 2) {
+                                //表
+                                addListData.add(wbsTree);
+                            }
 
-                    for (String id : diffRent) {
-                        List<WbsTree> treeAndTable = baseMapper.selectNodeAndTable(Long.valueOf(id));
-                        if (treeAndTable != null) {
-                            addListData.add(treeAndTable);
                         }
                     }
 
-                    addListData.stream().forEach(trees -> {
-                        trees.stream().forEach(tree -> {
-                            WbsTreePrivate wbsTreePrivate2 = getWbsTreePrivate1(tree, pawDTO);
-                            insertData.add(wbsTreePrivate2);
-                        });
+                    addListData.stream().forEach(tree -> {
+                        WbsTreePrivate wbsTreePrivate2 = getWbsTreePrivate1(tree, pawDTO);
+                        insertData.add(wbsTreePrivate2);
                     });
 
                 } else if (pawDTO.getReferenceType().equals("private")) {
                     //引用私有
                     //查询所有私有节点+表 diffRent=新增的节点id
-                    List<List<WbsTreePrivate>> addListData = new ArrayList<>();
-
-                    diffRent.stream().forEach(id -> {
-                        List<WbsTreePrivate> wbsTreePrivates = wbsTreePrivateMapper.selectNodeAndTable(id, pawDTO.getWbsId(), pawDTO.getReferencePrivateWbsProjectId());
-                        if (wbsTreePrivates != null) {
-                            addListData.add(wbsTreePrivates);
+                    List<WbsTreePrivate> addListData = new ArrayList<>();
+
+                    //查询出当前wbs树下所有节点+表信息
+                    List<WbsTreePrivate> wbsTreePrivates = wbsTreePrivateMapper.selectNodeAndTable(null, pawDTO.getWbsId(), pawDTO.getReferencePrivateWbsProjectId());
+
+                    for (WbsTreePrivate wbsTreePrivate : wbsTreePrivates) {
+                        for (String id : diffRent) {
+                            if (Long.parseLong(id) == (wbsTreePrivate.getId())) {
+                                //节点
+                                addListData.add(wbsTreePrivate);
+                            } else if (Long.parseLong(id) == (wbsTreePrivate.getParentId()) && wbsTreePrivate.getType() == 2) {
+                                //表
+                                addListData.add(wbsTreePrivate);
+                            }
                         }
-                    });
+                    }
+
+                    addListData.stream().forEach(tree -> {
+
+                        WbsTreePrivate wbsTreePrivate2 = getWbsTreePrivate2(tree, pawDTO);
+                        insertData2.add(wbsTreePrivate2);
 
-                    addListData.stream().forEach(trees -> {
-                        trees.stream().forEach(tree -> {
-                            WbsTreePrivate wbsTreePrivate2 = getWbsTreePrivate2(tree, pawDTO);
-                            insertData2.add(wbsTreePrivate2);
-                        });
                     });
                 }
 
@@ -1192,7 +1215,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
         }
 
         //新增元素
-        boolean b2 = wbsFormElementService.saveBatch(elementList);
+        boolean b2 = wbsFormElementService.saveBatch(elementList, 10000);
 
         //找到当前元素表中所有元素
         List<WbsFormElement> list = wbsFormElementService.selectElementListByFid(String.valueOf(formElementDTO.getId()));