Browse Source

修复了一些BUG

liuyc 3 years ago
parent
commit
dfcb12f167
19 changed files with 496 additions and 162 deletions
  1. 2 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/WbsTreePrivate.java
  2. 22 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/ContractInfoVO2.java
  3. 11 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/TreeNodeVO.java
  4. 9 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/WbsTreeContractVO3.java
  5. 14 6
      blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ContractInfoController.java
  6. 9 1
      blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsTreeController.java
  7. 2 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ContractInfoMapper.java
  8. 36 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ContractInfoMapper.xml
  9. 1 1
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.java
  10. 0 1
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.xml
  11. 10 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeMapper.java
  12. 34 1
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeMapper.xml
  13. 3 2
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.java
  14. 211 9
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.xml
  15. 3 1
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/IContractInfoService.java
  16. 14 2
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ContractInfoServiceImpl.java
  17. 113 104
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeServiceImpl.java
  18. 0 5
      blade-service/blade-system/src/main/java/org/springblade/system/controller/RoleController.java
  19. 2 29
      blade-service/blade-system/src/main/java/org/springblade/system/service/impl/RoleServiceImpl.java

+ 2 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/WbsTreePrivate.java

@@ -1,6 +1,7 @@
 package org.springblade.manager.entity;
 
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -27,6 +28,7 @@ public class WbsTreePrivate extends BaseEntity {
     /**
      * 主键
      */
+    @JsonProperty(value = "pKeyId")
     private Long pKeyId;
 
     /**

+ 22 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/ContractInfoVO2.java

@@ -0,0 +1,22 @@
+package org.springblade.manager.vo;
+
+import lombok.Data;
+import org.springblade.manager.entity.ContractInfo;
+import org.springblade.manager.entity.WbsTreeContract;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class ContractInfoVO2 implements Serializable {
+
+    /**
+     * ContractInfo
+     */
+    private ContractInfo contractInfo;
+    /**
+     * WbsTreeContractList
+     */
+    private List<WbsTreeContractVO3> wbsTreeContractList;
+
+}

+ 11 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/TreeNodeVO.java

@@ -40,9 +40,19 @@ public class TreeNodeVO extends BaseNode<TreeNode> {
 
     private String contractIdRelation;
 
+    private String ancestors;
+
     public TreeNodeVO() {
     }
 
+    public String getAncestors() {
+        return ancestors;
+    }
+
+    public void setAncestors(String ancestors) {
+        this.ancestors = ancestors;
+    }
+
     public String getContractIdRelation() {
         return contractIdRelation;
     }
@@ -143,6 +153,7 @@ public class TreeNodeVO extends BaseNode<TreeNode> {
         return "TreeNode(deptCategory=" + this.getDeptCategory() + ",tenantId" + this.getTenantId() + ",contractType" + this.getContractType()
                 + ",contractId" + this.getContractId()
                 + ",contractIdRelation" + this.getContractIdRelation()
+                + ",ancestors" + this.getAncestors()
                 + ",isExistForm" + this.getIsExistForm() + ",wbsType=" + this.getWbsType() + ", primaryKeyId=" + this.getPrimaryKeyId()
                 + ", type=" + this.getType() + ", title=" + this.getTitle() + ", key=" + this.getKey() + ", value=" + this.getValue() + ")";
     }

+ 9 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/WbsTreeContractVO3.java

@@ -24,5 +24,14 @@ public class WbsTreeContractVO3 implements Serializable {
      */
     private String contractId;
 
+    /**
+     * 关联id
+     */
+    private String contractIdRelation;
+
+    /**
+     * fullName
+     */
+    private String fullName;
 
 }

+ 14 - 6
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ContractInfoController.java

@@ -91,6 +91,17 @@ public class ContractInfoController extends BladeController {
         return R.data(ContractInfoWrapper.build().entityVO(detail));
     }
 
+    /**
+     * 详情
+     */
+    @GetMapping("/detail2")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "详情", notes = "传入contractInfo")
+    public R<ContractInfoVO2> detail2(ContractInfo contractInfo) {
+        ContractInfoVO2 detail = contractInfoService.selectByCondition(contractInfo);
+        return R.data(detail);
+    }
+
     /**
      * 根据项目id查询当前所有合同
      */
@@ -414,11 +425,10 @@ public class ContractInfoController extends BladeController {
     @ApiOperationSupport(order = 18)
     @ApiOperation(value = "查询所有施工合同wbs树根节点", notes = "传入wbsId,项目id")
     @ApiImplicitParams(value = {
-            @ApiImplicitParam(name = "wbsId", value = "wbsId", required = true),
-            @ApiImplicitParam(name = "项目id", value = "projectId", required = true),
+            @ApiImplicitParam(name = "项目id", value = "projectId", required = true)
     })
-    public R treeAllConstruction(String wbsId, String projectId) {
-        List<WbsTreeContractVO2> tree = contractInfoService.treeTwo(wbsId, projectId);
+    public R treeAllConstruction(String projectId) {
+        List<WbsTreeContractVO2> tree = contractInfoService.treeTwo(projectId);
         if (tree != null && tree.size() > 0) {
             return R.data(tree);
         }
@@ -446,9 +456,7 @@ public class ContractInfoController extends BladeController {
         if (tree != null && tree.size() > 0) {
             return R.data(tree);
         }
-
         return R.fail(200, "未查询到信息");
-
     }
 
 }

+ 9 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsTreeController.java

@@ -360,7 +360,15 @@ public class WbsTreeController extends BladeController {
     @ApiOperation(value = "Wbs公有树节点批量导入元素表与元素", notes = "传入excel文件/wbsTree对象")
     @RequestMapping(value = "/import-wbsTreeFormBatch", method = RequestMethod.POST)
     public R importWbsTreeTableAndForm(@RequestPart("excelFile") MultipartFile excelFile,
-                                       @RequestPart("wbsTree") WbsTree wbsTree) {
+                                       @RequestPart("wbsId") String wbsId,
+                                       @RequestPart("ancestors") String ancestors,
+                                       @RequestPart("id") String id,
+                                       @RequestPart("tenantId") String tenantId) {
+        WbsTree wbsTree = new WbsTree();
+        wbsTree.setWbsId(wbsId);
+        wbsTree.setId(Long.valueOf(id));
+        wbsTree.setAncestors(ancestors);
+        wbsTree.setTenantId(tenantId);
         boolean b = wbsTreeService.importWbsTreeTableAndForm(excelFile, wbsTree);
         return R.status(b);
     }

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

@@ -71,4 +71,6 @@ public interface ContractInfoMapper extends BaseMapper<ContractInfo> {
                                      @Param("parentId") String parentId);
 
 
+    List<WbsTreeContractVO3> selectLists(@Param("contractInfo") ContractInfo contractInfo, @Param("contractType") Integer contractType);
+
 }

+ 36 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ContractInfoMapper.xml

@@ -58,6 +58,16 @@
         <result column="wbsType" property="wbsType"/>
     </resultMap>
 
+    <resultMap id="resultMap2" type="org.springblade.manager.vo.ContractInfoVO">
+        <id column="id" property="id"/>
+        <collection property="idList" ofType="org.springblade.manager.vo.WbsTreeContractVO3">
+            <id column="id" property="id"/>
+            <result property="pkeyId" column="pkeyId"/>
+            <result property="contractId" column="contractId"/>
+            <result property="contractIdRelation" column="contractIdRelation"/>
+        </collection>
+    </resultMap>
+
 
     <select id="selectContractByProjectIds" resultMap="contractInfoResultMap">
         select id, p_id, contract_name, contract_number from m_contract_info where is_deleted = 0 and p_id in
@@ -186,6 +196,32 @@
         ORDER BY sort
     </select>
 
+    <select id="selectByCondition" resultMap="resultMap2">
+        SELECT
+        t.p_key_id AS "pKeyId",t.contract_id AS "contractId",t.contract_id_relation AS "contractIdRelation",
+        c.*
+        FROM
+        m_contract_info c
+        INNER JOIN m_wbs_tree_contract t ON c.id = t.contract_id
+        WHERE c.id = #{contractInfo.id}
+        AND t.parent_id = 0
+    </select>
+
+    <select id="selectLists" resultType="org.springblade.manager.vo.WbsTreeContractVO3">
+        SELECT
+        full_name AS "fullName",
+        id AS "id",
+        p_key_id AS "pKeyId",
+        contract_id AS "contractId",
+        contract_id_relation  AS "contractIdRelation"
+        FROM m_wbs_tree_contract
+        WHERE
+        contract_id = #{contractInfo.id}
+        AND contract_type = #{contractType}
+        AND parent_id = 0
+        AND status = 1
+        AND is_deleted = 0
+    </select>
 
 
 </mapper>

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

@@ -59,7 +59,7 @@ public interface WbsTreeContractMapper extends BaseMapper<WbsTreeContract> {
                            @Param("pKeyId") Long pKeyId,
                            @Param("wbsType") Integer wbsType);
 
-    List<WbsTreeContractVO2> selectListByCondition(String wbsId, String projectId);
+    List<WbsTreeContractVO2> selectListByCondition(String projectId);
 
     void updateByCondition2(Long contractId, String contractIdRelation);
 

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

@@ -224,7 +224,6 @@
         FROM
             m_wbs_tree_contract
         WHERE project_id = #{projectId}
-        AND wbs_id = #{wbsId}
         AND contract_type = 1
         AND parent_id = 0
         AND is_deleted = 0

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

@@ -23,8 +23,10 @@ import org.apache.ibatis.annotations.Param;
 import org.springblade.manager.dto.WbsTreeDTO2;
 import org.springblade.manager.entity.WbsFormElement;
 import org.springblade.manager.entity.WbsTree;
+import org.springblade.manager.entity.WbsTreePrivate;
 import org.springblade.manager.vo.*;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -112,6 +114,8 @@ public interface WbsTreeMapper extends BaseMapper<WbsTree> {
 
     List<WbsTree> selectIsTable(Long tableParentId);
 
+    List<WbsTree> selectNodeAndTable(Long valueOf);
+
     int deleteBatchProjectNodeId(Long projectNodeId);
 
     WbsTree selectByWbsId(Long id);
@@ -131,4 +135,10 @@ public interface WbsTreeMapper extends BaseMapper<WbsTree> {
     Integer createTable(String tableName);
 
     void alterTableFiled(String initTableName, String eKey, String eType, Integer eLength);
+
+    void deleteBatch(@Param("ids") ArrayList<Long> ids, @Param("wbsId") String wbsId, @Param("projectId") String projectId);
+
+    void deleteBatch2(@Param("ids") ArrayList<Long> ids, @Param("wbsId") String wbsId, @Param("projectId") String projectId);
+
+
 }

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

@@ -45,6 +45,7 @@
         <result column="deptCategory" property="deptCategory"/>
         <result column="wbsType" property="wbsType"/>
         <result column="isExistForm" property="isExistForm"/>
+        <result column="ancestors" property="ancestors"/>
     </resultMap>
 
     <resultMap id="selectByNodeTableMap" type="org.springblade.manager.vo.WbsNodeTableVO">
@@ -147,6 +148,26 @@
         delete from m_wbs_tree where project_node_id = #{projectNodeId} and id &lt;&gt; #{projectNodeId}
     </delete>
 
+    <delete id="deleteBatch" parameterType="java.util.List">
+        UPDATE m_wbs_tree_private SET is_deleted = 1
+        WHERE id IN
+        <foreach item="ids" collection="ids" open="(" close=")" separator=",">
+            #{ids}
+        </foreach>
+        AND wbs_id = #{wbsId}
+        AND project_id = #{projectId}
+    </delete>
+
+    <delete id="deleteBatch2" parameterType="java.util.List">
+        UPDATE m_wbs_tree_private SET is_deleted = 1
+        WHERE parent_id IN
+        <foreach item="ids" collection="ids" open="(" close=")" separator=",">
+            #{ids}
+        </foreach>
+        AND wbs_id = #{wbsId}
+        AND project_id = #{projectId}
+    </delete>
+
     <update id="deleteLogicByWbsId">
         update m_wbs_tree set is_deleted = 1 where wbs_id = #{ids} and status = 1
     </update>
@@ -201,6 +222,7 @@
         dept.dept_name AS title,
         dept.id AS "value",
         dept.id AS "key",
+        dept.ancestors AS "ancestors",
         (
         SELECT
         CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
@@ -272,9 +294,10 @@
             AND `status` = 1
             AND wbs_id = #{wbsId}
     </select>
+
     <select id="selectIsTable" resultType="org.springblade.manager.entity.WbsTree">
         SELECT
-            *
+            id, wbs_id, tenant_id, parent_id, dept_category , type, dept_name, full_name, table_type, sort , ancestors, remark, unique_code, partition_code, is_expernode , is_concrete, table_owner, major_data_type, init_table_name, project_node_id , is_link_table, is_exist_form, create_user, create_dept, create_time , update_user, update_time, status, is_deleted
         FROM
             m_wbs_tree
         WHERE
@@ -284,6 +307,16 @@
             AND parent_id = #{tableParentId}
     </select>
 
+    <select id="selectNodeAndTable" resultType="org.springblade.manager.entity.WbsTree">
+        SELECT
+            id, wbs_id, tenant_id, parent_id, dept_category , type, dept_name, full_name, table_type, sort , ancestors, remark, unique_code, partition_code, is_expernode , is_concrete, table_owner, major_data_type, init_table_name, project_node_id , is_link_table, is_exist_form, create_user, create_dept, create_time , update_user, update_time, status, is_deleted
+        FROM
+            m_wbs_tree
+        WHERE
+            id = #{id}
+        OR (parent_id = #{id} and type = 2)
+    </select>
+
     <select id="selectByWbsId" resultType="org.springblade.manager.entity.WbsTree">
         SELECT * FROM m_wbs_tree
         WHERE wbs_id = #{id}

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

@@ -53,8 +53,6 @@ public interface WbsTreePrivateMapper extends BaseMapper<WbsTreePrivate> {
                                @Param("wbsTree") WbsTreePrivate wbsTree,
                                @Param("projectId") String projectId);
 
-    WbsTreePrivate selectByCondition1(String id, String templateProjectId);
-
     List<WbsTree> selectIsTable(Long tableId, String projectId);
 
     List<WbsNodeTableVO> selectByNodeTable(String id, String wbsId, String projectId);
@@ -80,4 +78,7 @@ public interface WbsTreePrivateMapper extends BaseMapper<WbsTreePrivate> {
     void updateSortById2(Long pKeyId, Integer sort);
 
     int updateIsDeletedByPKeyId(String pKeyId);
+
+    List<WbsTreePrivate> selectNodeAndTable(String id, String wbsId, String referencePrivateWbsProjectId);
+
 }

+ 211 - 9
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.xml

@@ -246,7 +246,38 @@
 
     <select id="selectByCondition" 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
@@ -260,7 +291,7 @@
 
     <select id="selectByCondition2" resultType="org.springblade.manager.entity.WbsTreePrivate">
         SELECT
-            *
+            p_key_id
         FROM
             m_wbs_tree_private
         WHERE
@@ -270,13 +301,42 @@
             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
-            *
+            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
@@ -309,7 +369,40 @@
         ORDER BY wt.sort
     </select>
     <select id="getByCondition" resultType="org.springblade.manager.entity.WbsTreePrivate">
-        SELECT * FROM m_wbs_tree_private
+        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 = #{projectId}
         AND id = #{parentId}
         AND wbs_id = #{wbsId}
@@ -318,13 +411,46 @@
         AND type = 1
     </select>
     <select id="getByPKeyId" resultType="org.springblade.manager.entity.WbsTreePrivate">
-        SELECT * FROM m_wbs_tree_private
+        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 p_key_id = #{pKeyId}
     </select>
 
     <select id="selectByCondition3" resultType="org.springblade.manager.entity.WbsTreePrivate">
         SELECT
-            *
+            p_key_id
         FROM
             m_wbs_tree_private
         WHERE
@@ -337,7 +463,40 @@
             AND parent_id = 0
     </select>
     <select id="selectByPKeyId" resultType="org.springblade.manager.entity.WbsTreePrivate">
-        SELECT * FROM m_wbs_tree_private WHERE p_key_id = #{referenceWbsTemplateId}
+        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 p_key_id = #{referenceWbsTemplateId}
     </select>
 
     <select id="selectNodeListByCondition" resultType="org.springblade.manager.dto.WbsTreePrivateDTO2">
@@ -352,4 +511,47 @@
         ORDER BY sort
     </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
+        FROM m_wbs_tree_private
+        WHERE id = #{id}
+        AND project_id = #{referencePrivateWbsProjectId}
+        AND wbs_id = #{wbsId}
+        AND STATUS = 1
+        AND is_deleted = 0
+        OR (parent_id = #{id} and type = 2)
+    </select>
+
 </mapper>

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

@@ -60,7 +60,7 @@ public interface IContractInfoService extends BaseService<ContractInfo> {
 
     List<WbsTreeContractTreeVO> tree(String wbsId, String projectId, String contractId);
 
-    List<WbsTreeContractVO2> treeTwo(String wbsId, String projectId);
+    List<WbsTreeContractVO2> treeTwo(String projectId);
 
     List<WbsTreeContractTreeVO> queryContractWbsTreeByContractIdAndType(String contractId, Integer wbsType, String parentId);
 
@@ -72,4 +72,6 @@ public interface IContractInfoService extends BaseService<ContractInfo> {
 
     ContractInfo selectById(String contractId);
 
+    ContractInfoVO2 selectByCondition(ContractInfo contractInfo);
+
 }

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

@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.AllArgsConstructor;
 import org.apache.ibatis.annotations.Param;
+import org.checkerframework.checker.units.qual.C;
 import org.springblade.common.utils.BaiduApiUtil;
 import org.springblade.common.utils.SnowFlakeUtil;
 import org.springblade.core.log.exception.ServiceException;
@@ -142,9 +143,9 @@ public class ContractInfoServiceImpl
     }
 
     @Override
-    public List<WbsTreeContractVO2> treeTwo(String wbsId, String projectId) {
+    public List<WbsTreeContractVO2> treeTwo(String projectId) {
         //查询当前项目下所有施工合同树根节点
-        List<WbsTreeContractVO2> list = wbsTreeContractMapper.selectListByCondition(wbsId, projectId);
+        List<WbsTreeContractVO2> list = wbsTreeContractMapper.selectListByCondition(projectId);
         return list;
     }
 
@@ -380,4 +381,15 @@ public class ContractInfoServiceImpl
     public ContractInfo selectById(String contractId) {
         return baseMapper.selectById(contractId);
     }
+
+    @Override
+    public ContractInfoVO2 selectByCondition(ContractInfo contractInfo) {
+        ContractInfo contractInfo1 = baseMapper.selectById(contractInfo.getId());
+        ContractInfoVO2 contractInfoVO2 = new ContractInfoVO2();
+        contractInfoVO2.setContractInfo(contractInfo1);
+        Integer contractType = contractInfo1.getContractType();
+        List<WbsTreeContractVO3> list = baseMapper.selectLists(contractInfo,contractType);
+        contractInfoVO2.setWbsTreeContractList(list);
+        return contractInfoVO2;
+    }
 }

+ 113 - 104
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeServiceImpl.java

@@ -16,8 +16,6 @@
  */
 package org.springblade.manager.service.impl;
 
-import cn.hutool.core.bean.BeanUtil;
-import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.AllArgsConstructor;
@@ -56,7 +54,6 @@ import org.springframework.web.multipart.MultipartFile;
 
 import java.io.File;
 import java.io.IOException;
-import java.lang.reflect.Array;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -551,9 +548,6 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
     @Transactional(rollbackFor = Exception.class)
     public String submitWbsTreeInProject(WbsTreeContractDTO pawDTO) {
         String wbsTreeIds = pawDTO.getWbsTreeIds();
-        /*if (StringUtils.isEmpty(wbsTreeIds)) {
-            throw new ServiceException("请选择需要关联的节点树");
-        }*/
         String[] ids = wbsTreeIds.split(",");
         List<String> idList = Arrays.asList(ids);
         List<String> idList1 = idList.stream().filter(string -> !string.isEmpty()).collect(Collectors.toList());
@@ -581,7 +575,6 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
             }
             deletedStatus = 1;
         }
-
         List<String> diffrent = WbsTreeContractServiceImpl.getDiffrent(idList1, idList2);
         if (diffrent.size() == 0) {
             List<String> tableId1 = new ArrayList<>();
@@ -627,114 +620,64 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
         } else {
             //新增
             if (idList1.size() > idList2.size()) {
-                for (String id : diffrent) {
-                    //公共
-                    if (pawDTO.getReferenceType().equals("public")) {
-                        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());
-                        }
-                        WbsTree wbsTree = wbsTreeMapper.selectById(id);
-                        if (wbsTree != null) {
-                            //判重(是否存在修改的旧数据)
-                            WbsTreePrivate wbsTreePrivate1 = wbsTreePrivateMapper.selectOne(Wrappers.<WbsTreePrivate>query().lambda()
-                                    .eq(WbsTreePrivate::getProjectId, pawDTO.getProjectId())
-                                    .eq(WbsTreePrivate::getWbsId, pawDTO.getWbsId())
-                                    .eq(WbsTreePrivate::getId, id)
-                            );
-                            if (wbsTreePrivate1 == null) {
-                                //新增
-                                Long snowId = SnowFlakeUtil.getId();
-                                wbsTreePrivateMapper.insertCombination1(snowId, wbsTree, pawDTO.getWbsType(), pawDTO.getProjectId());
-                                //查询该节点下是否有元素表
-                                Long tableParentId = wbsTree.getId();
-                                List<WbsTree> wbsTreeTableList = wbsTreeMapper.selectIsTable(tableParentId);
-                                if (wbsTreeTableList.size() > 0) {
-                                    //新增元素表
-                                    for (WbsTree tree : wbsTreeTableList) {
-                                        //判重
-                                        WbsTreePrivate wbsTreePrivates1 = wbsTreePrivateMapper.selectOne(Wrappers.<WbsTreePrivate>query().lambda()
-                                                .eq(WbsTreePrivate::getId, tree.getId())
-                                                .eq(WbsTreePrivate::getWbsId, pawDTO.getWbsId())
-                                                .eq(WbsTreePrivate::getProjectId, pawDTO.getProjectId())
-                                                .eq(WbsTreePrivate::getParentId, tree.getParentId())
-                                                .eq(WbsTreePrivate::getDeptName, tree.getDeptName())
-                                                .eq(WbsTreePrivate::getType, 2)
-                                        );
-                                        if (wbsTreePrivates1 == null) {
-                                            Long snowId1 = SnowFlakeUtil.getId();
-                                            wbsTreePrivateMapper.insertCombination1(snowId1, tree, pawDTO.getWbsType(), pawDTO.getProjectId());
-                                        }
-                                    }
-                                }
-                            }
-                            //保存返回
-                            projectInfoMapper.updateTemplateIdById(pawDTO.getProjectId(), pawDTO.getWbsId(), "public");
+                List<WbsTreePrivate> insertData = new ArrayList<>();  //数据初始化节点-引用公有
+                List<WbsTreePrivate> insertData2 = new ArrayList<>();  //数据初始化节点-引用私有
+                if (pawDTO.getReferenceType().equals("public")) {
+                    //公有
+                    List<List<WbsTree>> wbsTrees = new ArrayList<>();
+                    for (String id : diffrent) {
+                        //查询所有公共节点+表单
+                        List<WbsTree> trees = baseMapper.selectNodeAndTable(Long.valueOf(id));
+                        wbsTrees.add(trees);
+                    }
+                    for (List<WbsTree> trees : wbsTrees) {
+                        for (WbsTree tree : trees) {
+                            WbsTreePrivate wbsTreePrivate2 = getWbsTreePrivate1(tree, pawDTO);
+                            insertData.add(wbsTreePrivate2);
                         }
                     }
+                    projectInfoMapper.updateTemplateIdById(pawDTO.getProjectId(), pawDTO.getWbsId(), "public");
+
+                } else if (pawDTO.getReferenceType().equals("private")) {
                     //私有
-                    else if (pawDTO.getReferenceType().equals("private")) {
-                        //判重
-                        WbsTreePrivate wbsTreePrivate = wbsTreePrivateMapper.selectByCondition2(id, pawDTO.getProjectId(), pawDTO.getPrimaryKeyId());
-                        if (wbsTreePrivate != null) {
-                            //修改节点、元素表
-                            wbsTreePrivateMapper.updateByCondition(id, pawDTO.getProjectId(), pawDTO.getPrimaryKeyId());
-                            wbsTreePrivateMapper.updateTableByCondition(id, pawDTO.getProjectId(), pawDTO.getPrimaryKeyId());
-                        }
-                        //引用私有库
-                        WbsTreePrivate wbsTreePrivate1 = wbsTreePrivateMapper.selectByCondition(id, pawDTO.getWbsId(), pawDTO.getReferencePrivateWbsProjectId());
-                        if (wbsTreePrivate1 != null) {
-                            String wbsId = String.valueOf(pawDTO.getPrimaryKeyId());
-                            wbsTreePrivate1.setWbsId(wbsId);
-                            //判重(是否存在修改的旧数据)
-                            WbsTreePrivate wbsTreePrivate2 = wbsTreePrivateMapper.selectOne(Wrappers.<WbsTreePrivate>query().lambda()
-                                    .eq(WbsTreePrivate::getProjectId, pawDTO.getProjectId())
-                                    .eq(WbsTreePrivate::getWbsId, pawDTO.getPrimaryKeyId())
-                                    .eq(WbsTreePrivate::getId, id)
-                            );
-                            if (wbsTreePrivate2 == null) {
-                                //新增
-                                Long snowId = SnowFlakeUtil.getId();
-                                wbsTreePrivateMapper.insertCombination2(snowId, wbsTreePrivate1, pawDTO.getProjectId());  //pawDTO.getProjectId() 为当前项目id
-                                //查询该节点下是否有元素表
-                                List<WbsTree> wbsTreeTableList = wbsTreePrivateMapper.selectIsTable(wbsTreePrivate1.getId(), pawDTO.getReferencePrivateWbsProjectId());
-                                if (wbsTreeTableList.size() > 0) {
-                                    for (WbsTree tree : wbsTreeTableList) {
-                                        //判重
-                                        WbsTreePrivate wbsTreePrivates1 = wbsTreePrivateMapper.selectOne(Wrappers.<WbsTreePrivate>query().lambda()
-                                                .eq(WbsTreePrivate::getId, tree.getId())
-                                                .eq(WbsTreePrivate::getWbsId, pawDTO.getWbsId())
-                                                .eq(WbsTreePrivate::getProjectId, pawDTO.getProjectId())
-                                                .eq(WbsTreePrivate::getParentId, tree.getParentId())
-                                                .eq(WbsTreePrivate::getDeptName, tree.getDeptName())
-                                                .eq(WbsTreePrivate::getType, 2)
-                                        );
-                                        if (wbsTreePrivates1 == null) {
-                                            Long snowId1 = SnowFlakeUtil.getId();
-                                            tree.setWbsId(String.valueOf(pawDTO.getPrimaryKeyId()));
-                                            wbsTreePrivateMapper.insertCombination1(snowId1, tree, pawDTO.getWbsType(), pawDTO.getProjectId());
-                                        }
-                                    }
-                                }
-                            }
-                            projectInfoMapper.updateTemplateIdById(pawDTO.getProjectId(), pawDTO.getPrimaryKeyId(), "private");
+                    List<List<WbsTreePrivate>> wbsTreesPrivate = new ArrayList<>();
+                    for (String id : diffrent) {
+                        //查询所有私有节点 表单
+                        List<WbsTreePrivate> wbsTreePrivate = wbsTreePrivateMapper.selectNodeAndTable(id, pawDTO.getWbsId(), pawDTO.getReferencePrivateWbsProjectId());
+                        wbsTreesPrivate.add(wbsTreePrivate);
+                    }
+                    for (List<WbsTreePrivate> wbsTreePrivates : wbsTreesPrivate) {
+                        for (WbsTreePrivate wbsTreePrivate : wbsTreePrivates) {
+                            WbsTreePrivate wbsTreePrivate2 = getWbsTreePrivate2(wbsTreePrivate, pawDTO);
+                            insertData2.add(wbsTreePrivate2);
                         }
                     }
+                    projectInfoMapper.updateTemplateIdById(pawDTO.getProjectId(), pawDTO.getPrimaryKeyId(), "private");
+                }
+                if (pawDTO.getReferenceType().equals("public")) {
+                    wbsTreePrivateService.saveBatch(insertData, 10000);
+                } else if (pawDTO.getReferenceType().equals("private")) {
+                    wbsTreePrivateService.saveBatch(insertData2, 10000);
                 }
             } else {
-                //删除节点、元素表
+                //删除节点 表单
+                ArrayList<Long> ids1 = new ArrayList<>();
+                ArrayList<Long> ids2 = new ArrayList<>();
                 for (String id : diffrent) {
-                    wbsTreePrivateMapper.deleteByCondition(id, pawDTO.getWbsId(), pawDTO.getProjectId());
-                    wbsTreePrivateMapper.deleteByCondition2(id, pawDTO.getWbsId(), pawDTO.getProjectId());
+                    ids1.add(Long.valueOf(id));
                 }
                 if (deletedStatus == 1) {
                     for (String id : diffrent) {
-                        wbsTreePrivateMapper.deleteByCondition(id, pawDTO.getPrimaryKeyId(), pawDTO.getProjectId());
-                        wbsTreePrivateMapper.deleteByCondition2(id, pawDTO.getPrimaryKeyId(), pawDTO.getProjectId());
+                        ids2.add(Long.valueOf(id));
                     }
                 }
+                if (pawDTO.getReferenceType().equals("public")) {
+                    baseMapper.deleteBatch(ids1, pawDTO.getWbsId(), pawDTO.getProjectId());
+                    baseMapper.deleteBatch2(ids1, pawDTO.getWbsId(), pawDTO.getProjectId());
+                } else if (pawDTO.getReferenceType().equals("private")) {
+                    baseMapper.deleteBatch(ids2, pawDTO.getPrimaryKeyId(), pawDTO.getProjectId());
+                    baseMapper.deleteBatch2(ids2, pawDTO.getPrimaryKeyId(), pawDTO.getProjectId());
+                }
             }
         }
         return "2";
@@ -749,13 +692,79 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
         return baseMapper.selectBatchIds(idList);
     }
 
+    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());
+        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());
+        return wbsTreePrivate;
+    }
+
     @Override
     public WbsTreeAllListVO findWbsTreeList(Integer type) {
         WbsTreeAllListVO wbsTreeAllListVO = new WbsTreeAllListVO();
-        //查询Wbs总树
+        //Wbs总树
         List<WbsInfo> wbsInfos = wbsInfoMapper.selectAll(type);
         wbsTreeAllListVO.setWbsInfos(wbsInfos);
-        //查询项目私有树 默认type=1质检
+        //项目私有树
         List<WbsTreePrivate> wbsTreePrivates = wbsTreePrivateMapper.selectAll(type);
         wbsTreeAllListVO.setWbsTreePrivates(wbsTreePrivates);
         return wbsTreeAllListVO;

+ 0 - 5
blade-service/blade-system/src/main/java/org/springblade/system/controller/RoleController.java

@@ -154,9 +154,6 @@ public class RoleController extends BladeController {
 
     /**
      * 新增或修改
-     *
-     * @author liuyc
-     * @since 2022-05-11
      */
     @PostMapping("/submit")
     @ApiOperationSupport(order = 5)
@@ -170,8 +167,6 @@ public class RoleController extends BladeController {
     /**
      * 删除
      *
-     * @author liuyc
-     * @since 2022-05-11
      */
     @PostMapping("/remove")
     @ApiOperationSupport(order = 6)

+ 2 - 29
blade-service/blade-system/src/main/java/org/springblade/system/service/impl/RoleServiceImpl.java

@@ -204,36 +204,13 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements IR
             role.setTenantId(parent.getTenantId());
         }
         role.setIsDeleted(BladeConstant.DB_NOT_DELETED);
-
-        /*//新增前判重
         Long aLong = baseMapper.selectCount(new QueryWrapper<Role>()
                 .eq("parent_id", role.getParentId())
                 .eq("role_name", role.getRoleName()));
         if (aLong > 0) {
-            return false;
-        }*/
-
-        //新增角色Role
-        boolean b = saveOrUpdate(role);
-
-        /*//获取新增角色id
-        Role role1 = null;
-        if (b) {
-            QueryWrapper<Role> wrapper = new QueryWrapper<Role>();
-            wrapper.eq("parent_id", role.getParentId())
-                    .eq("role_name", role.getRoleName());
-            role1 = roleMapper.selectOne(wrapper);
+            throw new ServiceException("角色名已存在,请重新输入");
         }
-        //System.out.println("role1: *************** + "+role1);
-        //新增或修改角色时与岗位进行关联绑定
-        if (StringUtils.isNotEmpty(role.getPId()) && role1 != null) {
-            Integer row = roleMapper.bindRoleAndPost(role1.getId(), Long.parseLong(role.getPId()));
-            if (row > 0) {
-                return true;
-            }
-        }*/
-
-        return b;
+        return saveOrUpdate(role);
     }
 
 
@@ -262,10 +239,6 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements IR
             throw new ServiceException("请先删除子节点!");
         }
         boolean b = removeByIds(Func.toLongList(ids));
-        /*//删除角色与岗位关联
-        if (b) {
-            removeRoleAndPostByRid(ids);
-        }*/
         return b;
     }