songyang 2 лет назад
Родитель
Сommit
0ceb407563

+ 18 - 8
src/main/java/com/dk/mdm/controller/mst/OrgController.java

@@ -3,23 +3,18 @@ package com.dk.mdm.controller.mst;
 import com.dk.common.model.pojo.PageList;
 import com.dk.common.response.ResponseResultVO;
 import com.dk.mdm.model.pojo.mst.Org;
-import com.dk.common.controller.BaseController;
 import com.dk.common.service.BaseService;
-import com.dk.mdm.model.query.core.OrganizationQuery;
 import com.dk.mdm.model.query.mst.OrgQuery;
-import com.dk.mdm.model.response.core.OrganizationResponse;
-import com.dk.mdm.model.vo.core.OrganizationVO;
 import com.dk.mdm.model.vo.mst.OrgVO;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RestController;
 import io.swagger.annotations.Api;
 import com.dk.mdm.service.mst.OrgService;
 
+import java.util.List;
+
 @Api(tags = "组织机构API接口")
 @RestController
 @RequestMapping("/mst/org")
@@ -53,4 +48,19 @@ public class OrgController{
     public ResponseResultVO<?> insert(@RequestBody OrgVO orgVO) {
         return orgService.insert(orgVO);
     }
+
+    /**
+     * @desc   : 通过ID查询
+     * @author : 宋扬
+     * @date   : 2024/3/1 16:01
+     */
+    @PostMapping({"/{id}"})
+    public ResponseResultVO selectById(@PathVariable String id) {
+        return orgService.selectById(id);
+    }
+
+
+
+
+
 }

+ 0 - 12
src/main/java/com/dk/mdm/mapper/mst/OrgMapper.java

@@ -2,11 +2,7 @@ package com.dk.mdm.mapper.mst;
 
 import com.dk.mdm.model.pojo.mst.Org;
 import com.dk.common.mapper.BaseMapper;
-import com.dk.mdm.model.query.core.OrganizationQuery;
-import com.dk.mdm.model.query.mst.GoodsCategoryQuery;
 import com.dk.mdm.model.query.mst.OrgQuery;
-import com.dk.mdm.model.response.core.OrganizationResponse;
-import com.dk.mdm.model.vo.mst.OrgVO;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -33,12 +29,6 @@ public interface OrgMapper extends BaseMapper<Org>{
     Long countByCond(OrgQuery orgQuery);
 
     /**
-     * @desc   : 保存角色权限
-     * @author : 夏常明
-     * @date   : 2023/1/28 10:23
-     */
-    int insertBatch(Org org);
-    /**
      * @desc : 调用函数生成层级
      * @author : 王英杰
      * @date : 2024/2/26 10:36
@@ -46,7 +36,5 @@ public interface OrgMapper extends BaseMapper<Org>{
     Boolean resetLevelOrg(Org org);
 
 
-    Integer maxDisplayNo(String  parentID);
-
 
 }

+ 18 - 160
src/main/java/com/dk/mdm/mapper/mst/OrgMapper.xml

@@ -9,9 +9,9 @@
         , org_name, parent_id, display_no, top_id, level_upper, level_lower, level_leaf, level_no, level_code, level_name, remarks, flg_valid, cp_id, op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user, org_code
     </sql>
     <sql id="Base_Column_List_view">
-        parent.org_id
-        , parent.org_name, parent.parent_id, parent.display_no, parent.top_id    </sql>
-
+        parent.org_id,parent.flg_valid,parent.level_leaf,parent.org_code,parent.level_name
+        , parent.org_name, parent.parent_id, parent.display_no, parent.top_id
+    </sql>
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.dk.mdm.model.response.mst.OrgResponse">
         <id column="org_id" property="orgId"/>
@@ -46,129 +46,47 @@
     <sql id="Condition">
         <where>
             <if test="orgName != null and orgName != ''">
-                AND org_name = #{orgName}
-            </if>
-            <if test="parentId != null and parentId != ''">
-                AND parent_id = #{parentId}
-            </if>
-            <if test="displayNo != null">
-                AND display_no = #{displayNo}
-            </if>
-            <if test="topId != null and topId != ''">
-                AND top_id = #{topId}
-            </if>
-            <if test="levelUpper != null and levelUpper != ''">
-                AND level_upper = #{levelUpper}
-            </if>
-            <if test="levelLower != null and levelLower != ''">
-                AND level_lower = #{levelLower}
-            </if>
-            <if test="levelLeaf != null">
-                AND level_leaf = #{levelLeaf}
-            </if>
-            <if test="levelNo != null">
-                AND level_no = #{levelNo}
+                AND parent.org_name = #{orgName}
             </if>
-            <if test="levelCode != null and levelCode != ''">
-                AND level_code = #{levelCode}
-            </if>
-            <if test="levelName != null and levelName != ''">
-                AND level_name = #{levelName}
-            </if>
-            <if test="remarks != null and remarks != ''">
-                AND remarks = #{remarks}
-            </if>
-            <if test="flgValid != null">
-                AND flg_valid = #{flgValid}
+            <if test="flgValidList != null and flgValidList.size>0">
+                AND parent.flg_valid  =any(#{flgValidList, typeHandler=BooleanListTypeHandler})
             </if>
             <if test="cpId != null">
-                AND cp_id = #{cpId}
-            </if>
-            <if test="opCreateTime != null">
-                AND op_create_time = #{opCreateTime}
-            </if>
-            <if test="opCreateUserId != null and opCreateUserId != ''">
-                AND op_create_user_id = #{opCreateUserId}
+                AND parent.cp_id = #{cpId}
             </if>
-            <if test="opUpdateTime != null">
-                AND op_update_time = #{opUpdateTime}
-            </if>
-            <if test="opUpdateUserId != null and opUpdateUserId != ''">
-                AND op_update_user_id = #{opUpdateUserId}
-            </if>
-            <if test="opAppCode != null and opAppCode != ''">
-                AND op_app_code = #{opAppCode}
-            </if>
-            <if test="opTimestamp != null">
-                AND op_timestamp = #{opTimestamp}
+            <if test="parentId != null and parentId != ''">
+                AND parent.parent_id = #{parentId}
             </if>
-            <if test="opDbUser != null and opDbUser != ''">
-                AND op_db_user = #{opDbUser}
+            <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+                limit #{end} offset #{start}
             </if>
-            <if test="orgCode != null and orgCode != ''">
-                AND org_code = #{orgCode}
+            <if test="searchText !=null">
+                AND ( parent.org_name LIKE concat('%', #{searchText}, '%')
             </if>
         </where>
     </sql>
 
-    <sql id="idsForeach">
-        <!-- 根据主键orgId批量操作 -->
-        WHERE org_id in
-        <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
-            #{item}
-        </foreach>
-    </sql>
-
     <!-- 查询表t_mst_org,(条件查询+分页)列表 -->
     <select id="selectByCond" resultMap="BaseResultMap">
         SELECT
         <include refid="Base_Column_List_view"/>
         FROM
         dkic_b.t_mst_org AS parent
-        <where>
-        <if test="orgName != null and orgName != ''">
-            AND parent.org_name = #{orgName}
-        </if>
-        <if test="flgValidList != null and flgValidList.size>0">
-            AND parent.flg_valid  =any(#{flgValidList, typeHandler=BooleanListTypeHandler})
-        </if>
-        <if test="cpId != null">
-            AND parent.cp_id = #{cpId}
-        </if>
-        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
-            limit #{end} offset #{start}
-        </if>
-        <if test="searchText !=null">
-            AND ( parent.org_name LIKE concat('%', #{searchText}, '%')
-        </if>
-        </where>
+        <include refid="Condition"/>
     </select>
+
     <select id="resetLevelOrg" resultType="java.lang.Boolean">
         select dkic_b.f_reset_level_org(#{cpId}, #{topId}::uuid)
     </select>
+
     <!-- 查询表t_mst_org,(条件查询)个数 -->
     <select id="countByCond" resultType="Long">
         SELECT
         count(1)
         FROM  dkic_b.t_mst_org parent
-        <where>
-        <if test="cpId != null">
-            AND parent.cp_id = #{cpId}
-        </if>
-        <if test="orgName != null and orgName != ''">
-            AND parent.org_name = #{orgName}
-        </if>
-        <if test="flgValid != null">
-            AND parent.flg_valid = #{flgValid}
-        </if>
-        </where>
-    </select>
-    <!-- 查询同父级下 最大的 显示顺序 -->
-    <select id="maxDisplayNo" resultType="Integer">
-        SELECT MAX(display_no) AS max_display_no
-        FROM dkic_b.t_mst_org org
-        WHERE org.parent_id = #{parentID} ::uuid;
+        <include refid="Condition"/>
     </select>
+
     <!-- 根据主键查询表t_mst_org的一行数据 -->
     <select id="selectById" resultMap="BaseResultMap">
         SELECT
@@ -177,64 +95,4 @@
         WHERE org_id = #{orgId}::uuid
     </select>
 
-    <!-- 根据主键锁定表t_mst_org的一行数据 -->
-    <select id="selectByIdForUpdate" resultMap="BaseResultMap">
-        SELECT
-        <include refid="Base_Column_List"/>
-        FROM t_mst_org
-        WHERE org_id = #{orgId}
-        for update
-    </select>
-
-    <!-- 根据主键锁定表t_mst_org的多行数据 -->
-    <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
-        SELECT
-        <include refid="Base_Column_List"/>
-        FROM t_mst_org
-        <include refid="idsForeach"/>
-        for update
-    </select>
-
-    <insert id="insertBatch">
-        insert into t_mst_org
-        (
-        <trim suffixOverrides=",">
-            org_name,
-            parent_id,
-            display_no,
-            top_id,
-            level_upper,
-            level_lower,
-            level_leaf,
-            level_no,
-            level_code,
-            level_name,
-            remarks,
-            cp_id,
-            op_app_code,
-            org_code,
-        </trim>
-        )
-        values
-        <foreach collection="list" index="index" item="item" separator=",">
-            (
-            <trim suffixOverrides=",">
-                #{item.orgName},
-                #{item.parentId}::uuid,
-                #{item.displayNo},
-                #{item.topId}::uuid,
-                #{item.levelUpper},
-                #{item.levelLower},
-                #{item.levelLeaf},
-                #{item.levelNo},
-                #{item.levelCode},
-                #{item.levelName},
-                #{item.remarks},
-                #{item.cpId},
-                #{item.opAppCode},
-                #{item.orgCode},
-            </trim>
-            )
-        </foreach>
-    </insert>
 </mapper>

+ 8 - 19
src/main/java/com/dk/mdm/service/mst/OrgService.java

@@ -3,21 +3,14 @@ package com.dk.mdm.service.mst;
 import com.dk.common.infrastructure.annotaiton.Pagination;
 import com.dk.common.infrastructure.constant.Constant;
 import com.dk.common.model.pojo.PageList;
-import com.dk.common.response.ResponseCodeEnum;
 import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultVO;
-import com.dk.mdm.infrastructure.convert.core.OrganizationConvert;
 import com.dk.mdm.infrastructure.convert.mst.OrgConvert;
-import com.dk.mdm.model.pojo.core.Organization;
 import com.dk.mdm.model.pojo.mst.Org;
 import com.dk.mdm.mapper.mst.OrgMapper;
 import com.dk.common.service.BaseService;
 import com.dk.common.mapper.BaseMapper;
-import com.dk.mdm.model.query.core.OrganizationQuery;
-import com.dk.mdm.model.query.mst.GoodsCategoryQuery;
 import com.dk.mdm.model.query.mst.OrgQuery;
-import com.dk.mdm.model.response.core.OrganizationResponse;
-import com.dk.mdm.model.vo.core.OrganizationVO;
 import com.dk.mdm.model.vo.mst.OrgVO;
 import com.dk.mdm.service.common.CommonService;
 import org.springframework.stereotype.Service;
@@ -72,23 +65,19 @@ public class OrgService extends BaseService<Org> {
     public ResponseResultVO<?> insert(OrgVO orgVO) {
         // 转化实体
         Org organization = orgConvert.convertToPo(orgVO);
-        Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.ORG.getName(), false);
-
+        // 获取显示顺序
+        Integer displayNo = commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORG);
+        Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.ORG.getName(), true);
+        // 获取编码和主键UuId
+        organization.setDisplayNo(displayNo);
         organization.setOrgId(codeMap.get("outId").toString());
-//        organization.setOrgCode(codeMap.get("outNote").toString());
-
-        //查询 本次要加的 部门的 父级下 最大的DisplayNo  然后加1  就是现在要加的DisplayNo
-        String parentId = organization.getParentId();
-        int maxDisplayNo = orgMapper.maxDisplayNo(parentId) != null ? orgMapper.maxDisplayNo(parentId) + 1 : 0;
-
-
-        organization.setDisplayNo(maxDisplayNo);
+        organization.setOrgCode(codeMap.get("outNote").toString());
+        // 插入TopID值
+        organization.setTopId(orgVO.getTopId());
         // 插入组织部门数据
         super.insert(organization);
         //执行函数
         orgMapper.resetLevelOrg(new Org().setTopId(organization.getParentId()).setCpId(organization.getCpId()));
         return ResponseResultUtil.success();
-        //        return result == 1 ? ResponseResultUtil.success(organization) :
-//                ResponseResultUtil.error(ResponseCodeEnum.INSERT_FAIL);
     }
 }