Browse Source

wbs私有库初始化

liuyc 3 years ago
parent
commit
efc1acf50a

+ 6 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/WbsTreeContractDTO.java

@@ -28,5 +28,11 @@ public class WbsTreeContractDTO extends WbsTreeContract {
     @ApiModelProperty(name = "wbsTreeIds", value = "字符串拼接wbsTreeIds", required = true)
     private String wbsTreeIds;
 
+    /**
+     * 引用其他项目私有WBS库的ID
+     */
+    @JsonProperty(value = "templateProjectId")
+    @ApiModelProperty(name = "templateProjectId", value = "如果引用的是其他WBS私有库,那么必传该引用的私有库的项目id", required = false)
+    private String templateProjectId;
 
 }

+ 12 - 4
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ProjectInfoController.java

@@ -203,11 +203,19 @@ public class ProjectInfoController extends BladeController {
     @ApiOperationSupport(order = 9)
     @ApiOperation(value = "保存或修改项目合同分配wbs树", notes = "传入节点ids,wbsId(如果引用是其他私有库,那就是该库的项目id),项目id,合同段id")
     public R submitWbsTreeInProject(@RequestBody WbsTreeContractDTO pawDTO) {
-        Boolean b = wbsTreeService.submitWbsTreeInProject(pawDTO);
-        if (b) {
-            return R.data(pawDTO, "操作成功");
+        String s = wbsTreeService.submitWbsTreeInProject(pawDTO);
+        switch (s) {
+            case "1":
+                return R.success("请选择需要关联的节点树");
+            case "2":
+                return R.success("未发现公有wbs树中的新元素表");
+            case "3":
+                return R.success("公有wbs树新元素表同步成功");
+            case "4":
+                return R.success("关联wbs树成功");
+            default:
+                return R.success("关联wbs树失败");
         }
-        return R.fail("操作失败");
 
     }
 

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

@@ -40,5 +40,5 @@ public interface ProjectInfoMapper extends BaseMapper<ProjectInfo> {
 	List<ProjectInfoVO> selectProjectInfoPage(IPage page, ProjectInfoVO projectInfo);
 
 
-
+    void updateTemplateIdById(String projectId, String wbsId);
 }

+ 7 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ProjectInfoMapper.xml

@@ -32,6 +32,13 @@
         <result column="reference_wbs_template_id" property="referenceWbsTemplateId"/>
     </resultMap>
 
+    <update id="updateTemplateIdById">
+        UPDATE  m_project_info SET reference_wbs_template_id = #{wbsId} WHERE
+        id = #{projectId}
+        AND is_deleted = 0
+        AND status = 1
+    </update>
+
 
     <select id="selectProjectInfoPage" resultMap="projectInfoResultMap">
         select * from m_project_info where is_deleted = 0

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

@@ -2,6 +2,7 @@ package org.springblade.manager.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
+import org.springblade.manager.entity.WbsTree;
 import org.springblade.manager.entity.WbsTreeContract;
 import org.springblade.manager.entity.WbsTreePrivate;
 import org.springblade.manager.vo.WbsTreeContractVO;
@@ -13,9 +14,13 @@ public interface WbsTreeContractMapper extends BaseMapper<WbsTreeContract> {
 
     List<WbsTreeContractVO> selectAll();
 
-    Boolean insertWbsTreeContract(@Param("contractId") String contractId,
+    Integer insertWbsTreeContract1(@Param("contractId") String contractId,
                                   @Param("wbsTree") WbsTreePrivate wbsTree);
 
+    Integer insertWbsTreeContract2(@Param("wbsTree") WbsTree wbsTree,
+                                   @Param("projectId") String projectId,
+                                   @Param("contractId") String contractId);
+
     void deleteByCondition(@Param("id") String id,
                            @Param("wbsId") String wbsId,
                            @Param("projectId") String projectId,
@@ -39,4 +44,6 @@ public interface WbsTreeContractMapper extends BaseMapper<WbsTreeContract> {
                                        @Param("projectId") String projectId,
                                        @Param("contractId") String contractId,
                                        @Param("wbsId")String wbsId);
+
+
 }

+ 14 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.xml

@@ -43,7 +43,7 @@
         <result column="contract_id" property="contractId"/>
     </resultMap>
 
-    <insert id="insertWbsTreeContract">
+    <insert id="insertWbsTreeContract1">
         INSERT INTO m_wbs_tree_contract(
         id,wbs_id,project_id,contract_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,
@@ -56,6 +56,19 @@
         #{wbsTree.tableOwner},#{wbsTree.majorDataType},#{wbsTree.initTableName},#{wbsTree.isLinkTable})
     </insert>
 
+    <insert id="insertWbsTreeContract2">
+        INSERT INTO m_wbs_tree_contract(
+        id,wbs_id,project_id,contract_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)
+        VALUES(
+        #{wbsTree.id},#{wbsTree.wbsId},#{projectId},#{contractId},#{wbsTree.tenantId},#{wbsTree.parentId},#{wbsTree.ancestors},
+        #{wbsTree.deptCategory},#{wbsTree.deptName},#{wbsTree.fullName},#{wbsTree.sort},#{wbsTree.remark},#{wbsTree.type},
+        #{wbsTree.tableType},#{wbsTree.createTime},#{wbsTree.createUser},#{wbsTree.createDept},#{wbsTree.updateUser},#{wbsTree.updateTime},
+        #{wbsTree.status},#{wbsTree.isDeleted},#{wbsTree.uniqueCode},#{wbsTree.partitionCode},#{wbsTree.isExpernode},#{wbsTree.isConcrete},
+        #{wbsTree.tableOwner},#{wbsTree.majorDataType},#{wbsTree.initTableName},#{wbsTree.isLinkTable})
+    </insert>
+
     <update id="deleteByCondition">
         UPDATE m_wbs_tree_contract
         SET is_deleted = 1

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

@@ -111,4 +111,6 @@ public interface WbsTreeMapper extends BaseMapper<WbsTree> {
 
     List<WbsTree> findAllNodeTableList(String wbsId);
 
+    List<WbsTree> selectIsTable(Long tableParentId);
+
 }

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

@@ -205,6 +205,17 @@
             AND `status` = 1
             AND wbs_id = #{wbsId}
     </select>
+    <select id="selectIsTable" resultType="org.springblade.manager.entity.WbsTree">
+        SELECT
+            *
+        FROM
+            m_wbs_tree
+        WHERE
+            type = 2
+            AND is_deleted = 0
+            AND `status` = 1
+            AND parent_id = #{tableParentId}
+    </select>
 
 
 </mapper>

+ 16 - 3
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.java

@@ -29,14 +29,27 @@ public interface WbsTreePrivateMapper extends BaseMapper<WbsTreePrivate> {
     WbsTreePrivate selectByCondition(@Param("id") String id,
                                      @Param("projectId") String projectId);
 
-    Integer deleteByCondition(String id, String wbsId, String projectId);
+    void deleteByCondition(String id, String wbsId, String projectId);
+
+    void deleteByCondition2(String id, String wbsId, String projectId);
 
     WbsTreePrivate selectByCondition2(String id, String projectId, String wbsId);
 
     void updateByCondition(String id, String projectId, String wbsId);
 
+    void updateTableByCondition(@Param("parentId") String id,
+                                @Param("projectId") String projectId,
+                                @Param("wbsId") String wbsId);
+
     Integer insertCombination1(@Param("wbsTree") WbsTree wbsTree,
-                            @Param("projectId") String projectId);
+                               @Param("projectId") String projectId);
+
+    Integer insertCombination2(@Param("wbsTree") WbsTreePrivate wbsTree,
+                               @Param("projectId") String projectId);
+
+    WbsTreePrivate selectByCondition1(String id, String templateProjectId);
+
+    List<WbsTree> selectIsTable(Long tableParentId);
+
 
-    Integer insertCombination2(@Param("wbsTree") WbsTreePrivate wbsTree);
 }

+ 36 - 3
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.xml

@@ -61,13 +61,14 @@
         #{wbsTree.status},#{wbsTree.isDeleted},#{wbsTree.uniqueCode},#{wbsTree.partitionCode},#{wbsTree.isExpernode},#{wbsTree.isConcrete},
         #{wbsTree.tableOwner},#{wbsTree.majorDataType},#{wbsTree.initTableName},#{wbsTree.isLinkTable})
     </insert>
+
     <insert id="insertCombination2">
         INSERT INTO m_wbs_tree_private(
         id,wbs_id,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)
         VALUES(
-        #{wbsTree.id},#{wbsTree.wbsId},#{wbsTree.projectId},#{wbsTree.tenantId},#{wbsTree.parentId},#{wbsTree.ancestors},
+        #{wbsTree.id},#{wbsTree.wbsId},#{projectId},#{wbsTree.tenantId},#{wbsTree.parentId},#{wbsTree.ancestors},
         #{wbsTree.deptCategory},#{wbsTree.deptName},#{wbsTree.fullName},#{wbsTree.sort},#{wbsTree.remark},#{wbsTree.type},
         #{wbsTree.tableType},#{wbsTree.createTime},#{wbsTree.createUser},#{wbsTree.createDept},#{wbsTree.updateUser},#{wbsTree.updateTime},
         #{wbsTree.status},#{wbsTree.isDeleted},#{wbsTree.uniqueCode},#{wbsTree.partitionCode},#{wbsTree.isExpernode},#{wbsTree.isConcrete},
@@ -76,11 +77,19 @@
 
 
     <update id="deleteByCondition">
-        UPDATE m_wbs_tree_private SET is_deleted = 1
-        AND id = #{id}
+        UPDATE m_wbs_tree_private SET is_deleted = 1 WHERE
+        id = #{id}
+        AND wbs_id = #{wbsId}
+        AND project_id = #{projectId}
+    </update>
+
+    <update id="deleteByCondition2">
+        UPDATE m_wbs_tree_private SET is_deleted = 1 WHERE
+        parent_id = #{id}
         AND wbs_id = #{wbsId}
         AND project_id = #{projectId}
     </update>
+
     <update id="updateByCondition">
         UPDATE m_wbs_tree_private
         SET is_deleted = 0
@@ -89,6 +98,15 @@
         AND project_id = #{projectId}
     </update>
 
+    <update id="updateTableByCondition">
+        UPDATE m_wbs_tree_private
+        SET is_deleted = 0
+        WHERE parent_id = #{parentId}
+        AND wbs_id = #{wbsId}
+        AND project_id = #{projectId}
+    </update>
+
+
     <select id="selectAll" resultMap="resultMap2">
         SELECT
             wtp.wbs_id,
@@ -138,5 +156,20 @@
             AND STATUS = 1
             AND is_deleted = 1
     </select>
+    <select id="selectByCondition1" resultType="org.springblade.manager.entity.WbsTreePrivate">
+
+    </select>
+
+    <select id="selectIsTable" resultType="org.springblade.manager.entity.WbsTree">
+        SELECT
+            *
+        FROM
+            m_wbs_tree_private
+        WHERE
+            type = 2
+            AND is_deleted = 0
+            AND `status` = 1
+            AND parent_id = #{tableParentId}
+    </select>
 
 </mapper>

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

@@ -91,7 +91,7 @@ public interface IWbsTreeService extends BaseService<WbsTree> {
 
     Boolean importWbsTree(MultipartFile excelFile, WbsTree wbsTreeFu, WbsTree wbsTree1) throws IOException;
 
-    Boolean submitWbsTreeInProject(WbsTreeContractDTO pawDTO);
+    String submitWbsTreeInProject(WbsTreeContractDTO pawDTO);
 
     WbsTreeAllListVO findWbsTreeList(Integer type);
 

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

@@ -61,8 +61,8 @@ public class WbsTreeContractServiceImpl
                     } else {
                         //根据id、projectId获取WbsTreePrivate对象
                         WbsTreePrivate wbsTreePrivate = wbsTreePrivateMapper.selectByCondition(id, pawDTO.getProjectId());
-                        Boolean b1 = baseMapper.insertWbsTreeContract(pawDTO.getContractId(), wbsTreePrivate);
-                        if (b1) {
+                        Integer row = baseMapper.insertWbsTreeContract1(pawDTO.getContractId(), wbsTreePrivate);
+                        if (row > 0) {
                             logger.info(wbsTreePrivate.getId().toString(), "初始化合同段wbs树成功");
                         }
                         //初始化施工台账数据

+ 93 - 32
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeServiceImpl.java

@@ -34,10 +34,7 @@ import org.springblade.manager.dto.FormElementDTO;
 import org.springblade.manager.dto.WbsTreeContractDTO;
 import org.springblade.manager.entity.*;
 import org.springblade.manager.excel.WbsExcelUtil;
-import org.springblade.manager.mapper.WbsInfoMapper;
-import org.springblade.manager.mapper.WbsTreeContractMapper;
-import org.springblade.manager.mapper.WbsTreeMapper;
-import org.springblade.manager.mapper.WbsTreePrivateMapper;
+import org.springblade.manager.mapper.*;
 import org.springblade.manager.service.IWbsFormElementService;
 import org.springblade.manager.service.IWbsTreeService;
 import org.springblade.core.mp.base.BaseServiceImpl;
@@ -72,6 +69,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
     private final WbsTreeContractMapper wbsTreeContractMapper;
     private final WbsTreePrivateMapper wbsTreePrivateMapper;
     private final WbsTreePrivateServiceImpl wbsTreePrivateService;
+    private final ProjectInfoMapper projectInfoMapper;
 
 
     @Override
@@ -254,70 +252,133 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Boolean submitWbsTreeInProject(WbsTreeContractDTO pawDTO) {
+    public String submitWbsTreeInProject(WbsTreeContractDTO pawDTO) {
         String wbsTreeIds = pawDTO.getWbsTreeIds();
         if (StringUtils.isEmpty(wbsTreeIds)) {
-            return false;
+            return "1";
         }
         String[] ids = wbsTreeIds.split(",");
         List<String> idList1 = Arrays.asList(ids);
         List<String> idList2 = new ArrayList<>();
         //查询出当前私有库下所有的wbs节点
         QueryWrapper<WbsTreePrivate> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("wbs_id", pawDTO.getWbsId());
         queryWrapper.eq("project_id", pawDTO.getProjectId());
+        queryWrapper.eq("type", 1);
         List<WbsTreePrivate> wbsTreePrivates = wbsTreePrivateMapper.selectList(queryWrapper);
         for (WbsTreePrivate wbsTreePrivate : wbsTreePrivates) {
             idList2.add(String.valueOf(wbsTreePrivate.getId()));
         }
-        //比对
         List<String> diffrent = WbsTreeContractServiceImpl.getDiffrent(idList1, idList2);
-        if (diffrent.size() == 0) { //相同
-            return false;
-        } else { //不相同
-            if (idList1.size() > idList2.size()) {//根据ids新增多余项目私有wbs树节点
+        diffrent.forEach(System.out::print);
+        if (diffrent.size() == 0) {
+            List<String> tableId1 = new ArrayList<>();
+            List<String> tableId2 = new ArrayList<>();
+            //查找wbs总树节点下是否新增了元素表,进行同步更新到wbs私有树中
+            List<WbsTree> allNodeList = findAllNodeList(wbsTreeIds);
+            List<WbsTree> wbsTreeListAll = new ArrayList<>();
+            for (WbsTree wbsTree : allNodeList) {
+                System.out.println("wbsTree.getId" + wbsTree.getId());
+                QueryWrapper<WbsTree> queryWrapper1 = new QueryWrapper<>();
+                queryWrapper1.eq("wbs_id", pawDTO.getWbsId());
+                queryWrapper1.eq("type", 2);
+                queryWrapper1.eq("parent_id", wbsTree.getId());
+                List<WbsTree> wbsTreeList = wbsTreeMapper.selectList(queryWrapper1);
+                wbsTreeListAll.addAll(wbsTreeList);
+            }
+            for (WbsTree wbsTree : wbsTreeListAll) {
+                tableId1.add(String.valueOf(wbsTree.getId()));
+            }
+            //获取项目私有树下所有的元素表
+            QueryWrapper<WbsTreePrivate> queryWrapper3 = new QueryWrapper<>();
+            queryWrapper3.eq("wbs_id", pawDTO.getWbsId());
+            queryWrapper3.eq("project_id", pawDTO.getProjectId());
+            queryWrapper3.eq("type", 2);
+            List<WbsTreePrivate> wbsTreePrivates1 = wbsTreePrivateMapper.selectList(queryWrapper3);
+            for (WbsTreePrivate wbsTreePrivate : wbsTreePrivates1) {
+                tableId2.add(String.valueOf(wbsTreePrivate.getId()));
+            }
+            List<String> diffrent1 = WbsTreeContractServiceImpl.getDiffrent(tableId1, tableId2);
+            if (diffrent1.size() == 0) {
+                return "2";
+            } else {
+                if (tableId1.size() > tableId2.size()) {
+                    //新增同步元素表
+                    for (String tableId : diffrent1) {
+                        WbsTree wbsTree = wbsTreeMapper.selectById(tableId);
+                        wbsTreePrivateMapper.insertCombination1(wbsTree, pawDTO.getProjectId());
+                    }
+                    return "3";
+                }
+                //暂未说明是否要同步删除私有库元素表
+            }
+        } else {
+            if (idList1.size() > idList2.size()) {
                 for (String id : diffrent) {
                     //项目私有wbs节点库存在该节点且为删除状态,那么修改is_deleted=0,否则新增
                     WbsTreePrivate wbsTreePrivate = wbsTreePrivateMapper.selectByCondition2(id, pawDTO.getProjectId(), pawDTO.getWbsId());
                     if (wbsTreePrivate != null) {
+                        //修改该节点
                         wbsTreePrivateMapper.updateByCondition(id, pawDTO.getProjectId(), pawDTO.getWbsId());
+                        //修改该节点下元素表
+                        wbsTreePrivateMapper.updateTableByCondition(id, pawDTO.getProjectId(), pawDTO.getWbsId());
                     } else {
-                        //新增
-                        //获取WbsTree对象(此处引用WBS公共库节点)
+                        //此处引用WBS公共库节点
                         WbsTree wbsTree = wbsTreeMapper.selectById(id);
                         if (wbsTree != null) {
                             Integer row = wbsTreePrivateMapper.insertCombination1(wbsTree, pawDTO.getProjectId());
-                            if (row > 0) {
+                            //根据wbsTreeId就是子级的parentId判断该节点是否存在元素表type=2的节点,查询该节点下是否有元素表
+                            Long tableParentId = wbsTree.getId();
+                            List<WbsTree> wbsTreeTableList = wbsTreeMapper.selectIsTable(tableParentId);
+                            wbsTreeTableList.forEach(System.out::print);
+                            if (wbsTreeTableList.size() > 0) {
+                                //新增元素表
+                                for (WbsTree tree : wbsTreeTableList) {
+                                    wbsTreePrivateMapper.insertCombination1(tree, pawDTO.getProjectId());
+                                }
+                            }
+                            //初始化合同段wbs私有树
+                            Integer row2 = wbsTreeContractMapper.insertWbsTreeContract2(wbsTree, pawDTO.getProjectId(), pawDTO.getContractId());
+                            if (row > 0 && row2 > 0) {
                                 logger.info(wbsTree.getId().toString(), "项目wbs私有树操作成功");
                             }
+                            //保存引用模板id
+                            projectInfoMapper.updateTemplateIdById(pawDTO.getProjectId(), pawDTO.getWbsId());
+                            pawDTO.setTemplateProjectId(pawDTO.getWbsId());
                         }
-                        //获取WbsTreePrivate对象(此处引用其他项目WBS私有库节点)
-                        WbsTreePrivate wbsTreePrivate1 = wbsTreePrivateMapper.selectById(id);
+                        //引用其他项目WBS私有库节点
+                        WbsTreePrivate wbsTreePrivate1 = wbsTreePrivateMapper.selectByCondition(id, pawDTO.getTemplateProjectId());
                         if (wbsTreePrivate1 != null) {
-                            Integer row = wbsTreePrivateMapper.insertCombination2(wbsTreePrivate1);
-                            if (row > 0) {
+                            Integer row = wbsTreePrivateMapper.insertCombination2(wbsTreePrivate1, pawDTO.getProjectId());
+                            //根据wbsTreePrivate1Id就是子级的parentId判断该节点是否存在元素表type=2的节点,查询该节点下是否有元素表
+                            Long tableParentId = wbsTreePrivate1.getId();
+                            List<WbsTree> wbsTreeTableList = wbsTreePrivateMapper.selectIsTable(tableParentId);
+                            if (wbsTreeTableList.size() > 0) {
+                                for (WbsTree tree : wbsTreeTableList) {
+                                    wbsTreePrivateMapper.insertCombination1(tree, pawDTO.getProjectId());
+                                }
+                            }
+                            //初始化合同段wbs私有树
+                            Integer row2 = wbsTreeContractMapper.insertWbsTreeContract1(pawDTO.getProjectId(), wbsTreePrivate1);
+                            if (row > 0 && row2 > 0) {
                                 logger.info(wbsTreePrivate1.getId().toString(), "项目wbs私有树操作成功");
                             }
+                            //保存引用模板id
+                            projectInfoMapper.updateTemplateIdById(pawDTO.getProjectId(), pawDTO.getTemplateProjectId());
+                            pawDTO.setTemplateProjectId(pawDTO.getTemplateProjectId());
                         }
                     }
                 }
-            } else {//根据id、wbsID、projectId逻辑删除当前多余的项目私有wbs树节点
+            } else {
                 for (String id : diffrent) {
-                    Integer row = wbsTreePrivateMapper.deleteByCondition(id, pawDTO.getWbsId(), pawDTO.getProjectId());
-                    if (row > 0) {
-                        logger.info(id, "项目wbs私有树操作成功");
-                    }
+                    //逻辑删除当前节点
+                    wbsTreePrivateMapper.deleteByCondition(id, pawDTO.getWbsId(), pawDTO.getProjectId());
+                    //逻辑删除当前节点下元素表 id = parentId
+                    wbsTreePrivateMapper.deleteByCondition2(id, pawDTO.getWbsId(), pawDTO.getProjectId());
                 }
             }
         }
-        //新增WBS私有树节点下元素表信息
-        //获取当前项目下所有元素表信息
-        QueryWrapper<WbsTree> queryWrapper1 = new QueryWrapper<>();
-        wbsTreeMapper.selectList(queryWrapper1);
-
-
-        return true;
-
-
+        return "4";
     }
 
     public List<WbsTree> findAllNodeList(String wbsTreeIds) {