ludc
2024-01-17 2ff8dd1f7d2f71944c25c9e116d12d9fb418ac0a
分类授权数据授权界面编写与接口修改,分类数据查询接口修改
已修改14个文件
231 ■■■■■ 文件已修改
Source/UBCS-WEB/src/api/template/templateAttr.js 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/Master/MasterTree.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/ClassifyAuthMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IClassifyAuthService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/ClassifyAuthServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/ClassifyAuthMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/api/template/templateAttr.js
@@ -1,10 +1,13 @@
import request from "@/router/axios";
//获取树形组件数据
export const getAtrrList = () => {
export const getAtrrList = (params) => {
  return request({
    url: '/api/ubcs-code/codeClassify/treeCodeClassify',
    method: 'get',
    params: {
      ...params
    }
  })
}
//树节点添加
Source/UBCS-WEB/src/components/Master/MasterTree.vue
@@ -103,7 +103,12 @@
      const result = this.$route.query.id.substring(0, index);
      this.idData = result;
      this.removeList();
      getTreeList({'conditionMap[id]': this.idData}).then(res => {
      let conditionMaps = {};
      conditionMaps["conditionMap[id]"] = this.idData;
      conditionMaps["conditionMap[authType]"] = "data_auth";
      // 数据授权中是否具备查看权限
      conditionMaps["conditionMap[menuCode]"] = "data_view";
      getTreeList(conditionMaps).then(res => {
        if (res) {
          if (res.data.length === 0) {
            this.$message.error("主数据分类查询为空!");
Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
@@ -876,7 +876,11 @@
    getAttr() {
      this.loading = true;
      return new Promise((resolve, reject) => {
        getAtrrList()
        let conditionMaps = {};
        conditionMaps["conditionMap[authType]"] = "classify_auth";
        // 分类授权中是否具备查看权限
        conditionMaps["conditionMap[menuCode]"] = "classify_view";
        getAtrrList(conditionMaps)
          .then(res => {
            this.Treedata = res.data;
            this.CloneTreedata = res.data;
Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java
@@ -392,6 +392,6 @@
    R<List<String>> getRegexByList(@RequestBody List<String> combinationIds);
    @GetMapping(GETVIEWCLASSIFY)
    R<List<String>> getViewClassByRoleIds(@RequestParam("roleIds") List<String> roleIds);
    R<List<String>> getViewClassByRoleIds(@RequestParam("roleIds") List<String> roleIds,@RequestParam("authType") String authType,@RequestParam("menuCode") String menuCode);
}
Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java
@@ -200,9 +200,8 @@
    }
    @Override
    public R<List<String>> getViewClassByRoleIds(List<String> roleIds) {
    public R<List<String>> getViewClassByRoleIds(List<String> roleIds,String authType,String menuCode) {
        return R.fail("获取数据失败");
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
@@ -134,14 +134,14 @@
     * @param treeQueryObject 树形查询对象
     * @return 主题库分类显示树
     */
    List<Tree> referTree(TreeQueryObject treeQueryObject);
    List<Tree> referTree(TreeQueryObject treeQueryObject) throws ServiceException;
    /**
     * 查询主题库分类 树
     * @param treeQueryObject 树查询对象
     * @return 主题库分类 显示树
     */
    List<Tree> treeCodeClassify(TreeQueryObject treeQueryObject);
    List<Tree> treeCodeClassify(TreeQueryObject treeQueryObject) throws ServiceException;
    /**
     * 导出分类
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -510,7 +510,7 @@
     * @return 主题库分类显示树
     */
    @Override
    public List<Tree> referTree(TreeQueryObject treeQueryObject) {
    public List<Tree> referTree(TreeQueryObject treeQueryObject) throws ServiceException{
        if(treeQueryObject == null){
            treeQueryObject = new TreeQueryObject();
        }
@@ -550,7 +550,7 @@
     * @return 主题库分类 显示树
     */
    @Override
    public List<Tree> treeCodeClassify(TreeQueryObject treeQueryObject) {
    public List<Tree> treeCodeClassify(TreeQueryObject treeQueryObject) throws ServiceException{
        List<CodeClassify> doList = null;
        String id = null;
        String lcStatus = null;
@@ -597,10 +597,10 @@
            }
        }else {
            // 那些分类具备查看权限
            R<List<String>> viewClassByRoleIds = sysClient.getViewClassByRoleIds(Arrays.asList(AuthUtil.getUser().getRoleId().split(",")));
            R<List<String>> viewClassByRoleIds = sysClient.getViewClassByRoleIds(Arrays.asList(AuthUtil.getUser().getRoleId().split(",")),treeQueryObject.getConditionMap().getOrDefault("authType","classify_auth"),treeQueryObject.getConditionMap().getOrDefault("menuCode","classify_view"));
            // 请求失败或者请求得到的具备查看权限的分类id集合为空
            if(!viewClassByRoleIds.isSuccess() && !viewClassByRoleIds.getData().isEmpty()){
                return new ArrayList<>();
            if(!viewClassByRoleIds.isSuccess() && viewClassByRoleIds.getData().isEmpty()){
                throw new ServiceException("主数据查看权限未配置,或配置有误!");
            }
            // 过滤
            filterTreeNodes(tree,viewClassByRoleIds.getData());
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -879,6 +879,7 @@
    /**
     * 根据当前申请编码的分类,逐层往上校验是否符合属于配置的中的分类子节点的分
     * 类,如果符合,则该分类申请的编码为集团码返回true,反之则为企业编码返回false
     *
     * @param parameter 传入数据,classifyGroupCode:配置的中的分类顶节点,oid:选择节点的oid
     */
    @Override
@@ -1006,6 +1007,7 @@
            return createDataBZ(orderDTO,ruleVO,authUser);
        }
    }
    private String createDataBZ(CodeOrderDTO orderDTO,    CodeRuleVO ruleVO,boolean authUser) throws Exception {
        CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid());
        CodeClassifyTemplateVO templateVO = templateService.getObjectHasAttrByOid(orderDTO.getTemplateOid());
@@ -1061,6 +1063,7 @@
        return codeList.size() > 0 ? codeList.get(0) : "";
    }
    /***
     * 根据编号获取码段码值
     * @param secDTOList
@@ -1097,6 +1100,7 @@
            throw new Exception("根据原标准编号,在系统中未查询到相应的信息");
        }
    }
    /***
     * 制定,则不需要产生更改单直接生成编码
     * @param codeBZApplyDTO
@@ -1135,6 +1139,7 @@
        return "";
    }
    /***
     * 集成可变码段申请接口
     * @param codeBZApplyDTO 申请的信息,需要包含属性的内容和码段相关的内容
@@ -1149,6 +1154,7 @@
    /**
     * 获取统计分析数据
     *
     * @param btmNames 业务类型
     * @return 数据集
     */
@@ -1476,6 +1482,7 @@
    /**
     * 封装开关的内容,常用于导出
     *
     * @param dataMap 数据的内容
     * @param templateVO 模板的显示
     */
@@ -1803,6 +1810,7 @@
    /**
     * 将referconfig转换为JSON格式的UIFormReferVO
     *
     * @param codeReferConfigVO
     * @return
     */
@@ -3267,6 +3275,7 @@
    /**
     * 编码申请表单,隐藏、可输、只读转换
     *
     * @param codeRuleVO
     * @return
     */
@@ -3619,6 +3628,7 @@
    /**
     * 使用分类的主键获取表格的定义-ubcs后修改获取流程阶段熟悉获取方法
     *
     * @param codeClassifyOid
     * @param templateId
     * @param taskId
@@ -4037,6 +4047,7 @@
    /**
     * 多线程方式分批执行insert语句
     *
     * @param tableName
     * @param maps
     * @throws ServiceException
@@ -4072,6 +4083,7 @@
    /**
     * 单线程方式分批执行
     *
     * @param tableName
     * @param maps
     */
@@ -4295,6 +4307,7 @@
        return R.success("更新成功!");
    }
    /**
     * 更新业务数据同时对码值表数据操作接口
     *
@@ -4689,6 +4702,7 @@
    /**
     * 流程中变更状态值
     *
     * @param flowDTO
     * @return
     */
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java
@@ -264,8 +264,8 @@
        return R.data(mdmCountConfigService.getMdmCountConfig(userId));
    }
    public R<List<String>> getViewClassByRoleIds(List<String> roleIds){
        return R.data(classifyAuthService.getViewClassByRoleIds(roleIds));
    public R<List<String>> getViewClassByRoleIds(List<String> roleIds,String authType,String menuCode){
        return R.data(classifyAuthService.getViewClassByRoleIds(roleIds,authType,menuCode));
    }
}
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/ClassifyAuthMapper.java
@@ -15,6 +15,6 @@
    List<ClassifyAuth> getClassifyAuthList(@Param("classifyId") String classifyId);
    List<String> getViewClassByRoleIds(@Param("roleIds") List<String> roleIds);
    List<String> getViewClassByRoleIds(@Param("roleIds") List<String> roleIds,@Param("authType") String authType,@Param("menuCode") String menuCode);
}
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IClassifyAuthService.java
@@ -53,6 +53,6 @@
     * @param roleIds
     * @return
     */
    List<String> getViewClassByRoleIds(List<String> roleIds);
    List<String> getViewClassByRoleIds(List<String> roleIds,String authType,String menuCode);
}
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/ClassifyAuthServiceImpl.java
@@ -183,11 +183,11 @@
     * @return
     */
    @Override
    public List<String> getViewClassByRoleIds(List<String> roleIds) {
    public List<String> getViewClassByRoleIds(List<String> roleIds,String authType,String menuCode) {
        if(roleIds.isEmpty()){
            return new ArrayList<>();
        }
        return this.classifyAuthMapper.getViewClassByRoleIds(roleIds);
        return this.classifyAuthMapper.getViewClassByRoleIds(roleIds, authType,menuCode);
    }
}
Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/ClassifyAuthMapper.xml
@@ -25,10 +25,10 @@
                #{item}
            </foreach>
        </if>
          AND AUTH_TYPE = #{authType}
          AND BUTTON_IDS LIKE CONCAT('%', CONCAT((SELECT ID
                                                  FROM PL_SYS_MENU
                                                  WHERE CODE = 'classify_view'), '%'))
                                      WHERE CODE = #{menuCode}), '%'))
    </select>
Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml
@@ -103,11 +103,17 @@
    </select>
    <select id="tree" resultMap="treeNodeResultMap">
        select id, parent_id, name as title, id as "value", id as "key" from pl_sys_menu where is_deleted = 0 and category = 1
        select id, parent_id, name as title, id as "value", id as "key"
        from pl_sys_menu
        where is_deleted = 0
          and category = 1
    </select>
    <select id="allMenu" resultMap="menuResultMap">
        select * from pl_sys_menu where is_deleted = 0 and category = 1
        select *
        from pl_sys_menu
        where is_deleted = 0
          and category = 1
    </select>
    <select id="roleMenu" resultMap="menuResultMap">
@@ -135,9 +141,14 @@
    </select>
    <select id="roleMenuByTopMenuId" resultMap="menuResultMap">
        select * from pl_sys_menu where is_deleted = 0 and id IN
        select *
        from pl_sys_menu
        where is_deleted = 0
          and id IN
              (
                  SELECT menu_id FROM pl_sys_top_menu_setting WHERE top_menu_id = #{param1}
                  SELECT menu_id
                  FROM pl_sys_top_menu_setting
                  WHERE top_menu_id = #{param1}
              )
    </select>
@@ -151,12 +162,12 @@
            and id IN ( SELECT menu_id FROM pl_org_role_menu WHERE role_id IN
                        <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
                            #{item}
                        </foreach> )
        </foreach>
        )
    </select>
    <select id="allButtons" resultMap="menuResultMap">
        SELECT
            id,
        SELECT id,
            parent_id,
            CODE,
            NAME,
@@ -169,7 +180,9 @@
            pl_sys_menu
        WHERE
            (
                category = 2 OR id IN ( SELECT parent_id FROM pl_sys_menu WHERE is_deleted = 0 AND category = 2 )
            category = 2
           OR id IN ( SELECT parent_id FROM pl_sys_menu WHERE is_deleted = 0
          AND category = 2 )
            )
          AND is_deleted = 0
        ORDER BY sort
@@ -222,13 +235,16 @@
    <select id="getButtonsByRoleIdAndCode" resultMap="menuResultMap">
        SELECT pm.*
        FROM PL_SYS_MENU ps,
             PL_SYS_MENU pm,
             PL_ORG_ROLE_MENU prom
        WHERE ps.ID = prom.MENU_ID
        PL_SYS_MENU pm
          <if test="roleId != null and roleId != ''">
            ,PL_ORG_ROLE_MENU prom
        </if>
        WHERE
        ps."CATEGORY" = 1
        <if test="roleId != null and roleId != ''">
            AND ps.ID = prom.MENU_ID
              AND prom.ROLE_ID = #{roleId}
          </if>
            AND ps."CATEGORY" = 1
            AND pm.IS_DELETED = 0
          <if test="code != null and code != ''">
            AND ps.ID = pm.PARENT_ID
@@ -238,13 +254,14 @@
    </select>
    <select id="grantTree" resultMap="treeNodeResultMap">
        select
               id,
        select id,
               parent_id,
               name as title,
               id as "value",
               id as "key"
        from pl_sys_menu where is_deleted = 0 order by sort
        from pl_sys_menu
        where is_deleted = 0
        order by sort
    </select>
    <select id="grantTreeByRole" resultMap="treeNodeResultMap">
@@ -252,102 +269,95 @@
        and id in ( select menu_id from pl_org_role_menu where role_id in
        <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
            #{item}
        </foreach> )
        </foreach>
        )
        or id in (
            select parent_id from pl_sys_menu where is_deleted = 0
            and id in ( select menu_id from pl_org_role_menu where role_id in
            <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
                #{item}
            </foreach> )
        </foreach>
        )
          )
        order by sort
    </select>
    <select id="grantTopTree" resultMap="treeNodeResultMap">
        select id, parent_id, name as title, id as "value", id as "key" from pl_sys_menu where category = 1 and is_deleted = 0 order by sort
        select id, parent_id, name as title, id as "value", id as "key"
        from pl_sys_menu
        where category = 1
          and is_deleted = 0
        order by sort
    </select>
    <select id="grantTopTreeByRole" resultMap="treeNodeResultMap">
        select id, parent_id, name as title, id as "value", id as "key" from pl_sys_menu where category = 1 and is_deleted = 0
        select id, parent_id, name as title, id as "value", id as "key" from pl_sys_menu where category = 1 and
        is_deleted = 0
        and id in ( select menu_id from pl_org_role_menu where role_id in
        <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
            #{item}
        </foreach> )
        </foreach>
        )
        or id in (
        select parent_id from pl_sys_menu where is_deleted = 0
        and id in ( select menu_id from pl_org_role_menu where role_id in
        <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
            #{item}
        </foreach> )
        </foreach>
        )
        )
        order by sort
    </select>
    <select id="grantDataScopeTree" resultMap="treeNodeResultMap">
        SELECT
            *
        FROM
            (
                SELECT
                    id,
        SELECT *
        FROM (
                 SELECT id,
                    parent_id,
                    NAME AS title,
                    id AS "value",
                    id AS "key"
                FROM
                    pl_sys_menu
                WHERE
                    category = 1
                 FROM pl_sys_menu
                 WHERE category = 1
                  AND is_deleted = 0
                  AND id IN ( SELECT menu_id FROM pl_auth_scope_data WHERE is_deleted = 0 AND menu_id IS NOT NULL )
            ) menu
        UNION ALL
        SELECT
            id,
        SELECT id,
            menu_id AS parent_id,
            scope_name AS title,
            id AS "value",
            id AS "key"
        FROM
            pl_auth_scope_data
        WHERE
            is_deleted = 0
        FROM pl_auth_scope_data
        WHERE is_deleted = 0
          AND menu_id IS NOT NULL
    </select>
    <select id="grantApiScopeTree" resultMap="treeNodeResultMap">
        SELECT
            *
        FROM
            (
                SELECT
                    id,
        SELECT *
        FROM (
                 SELECT id,
                    parent_id,
                    NAME AS title,
                    id AS "value",
                    id AS "key"
                FROM
                    pl_sys_menu
                WHERE
                    category = 1
                 FROM pl_sys_menu
                 WHERE category = 1
                  AND is_deleted = 0
                  AND id IN ( SELECT menu_id FROM pl_auth_scope_api WHERE is_deleted = 0 AND menu_id IS NOT NULL )
            ) menu
        UNION ALL
        SELECT
            id,
        SELECT id,
            menu_id AS parent_id,
            scope_name AS title,
            id AS "value",
            id AS "key"
        FROM
            pl_auth_scope_api
        WHERE
            is_deleted = 0
        FROM pl_auth_scope_api
        WHERE is_deleted = 0
          AND menu_id IS NOT NULL
    </select>
@@ -380,7 +390,8 @@
                    and id in ( select menu_id from pl_org_role_menu where role_id in
                    <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
                        #{item}
                    </foreach> )
        </foreach>
        )
                )
            )
        ) menu
@@ -409,7 +420,8 @@
                and id in ( select menu_id from pl_org_role_menu where role_id in
                <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
                    #{item}
                </foreach> )
        </foreach>
        )
            )
        )
        AND menu_id IS NOT NULL
@@ -445,7 +457,8 @@
                        select menu_id from pl_org_role_menu where role_id in
                    <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
                        #{item}
                    </foreach> )
        </foreach>
        )
                )
            )
        ) menu
@@ -475,7 +488,8 @@
                    and id in ( select menu_id from pl_org_role_menu where role_id in
                    <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
                        #{item}
                    </foreach> )
        </foreach>
        )
                )
        )
        AND menu_id IS NOT NULL
@@ -506,39 +520,45 @@
          and ps.CODE = #{btmType}
          and ps.ID = pm.PARENT_ID
          <if test="roleIds != null and roleIds != ''">
            and ps.ID in (
            and ps.ID in
                SELECT menu_id FROM pl_org_role_menu WHERE role_id IN
                <foreach collection="roleIds" index="index" item="item" open="(" separator="," close=")">
                    #{item}
                </foreach>
            )
          </if>
        order by pm.sort asc
    </select>
    <select id="getButtonByIdsOrByParentCode" resultMap="menuResultMap">
        SELECT pm.*
        FROM PL_SYS_MENU ps,
        PL_SYS_MENU pm,
        PL_ORG_ROLE_MENU prom
        WHERE ps.ID = prom.MENU_ID
        <if test="roleIds != null and roleIds != ''">
            AND prom.ROLE_ID in (#{roleIds})
        </if>
          AND ps."CATEGORY" = 1
          AND pm.IS_DELETED = 0
        SELECT
            pm.*
        FROM
            PL_SYS_MENU pm
        <if test="code != null and code != ''">
                ,PL_SYS_MENU ps
            </if>
            <if test="roleIds != null and roleIds != ''">
                ,PL_ORG_ROLE_MENU prom
            </if>
        WHERE
            pm.IS_DELETED = 0
            AND pm."CATEGORY" = 2
            <if test="code != null and code != ''">
                AND ps."CATEGORY" = 1
            AND ps.ID = pm.PARENT_ID
            AND ps.CODE = #{code}
        </if>
            <if test="roleIds != null and roleIds != ''">
                AND pm.ID = prom.MENU_ID
                AND prom.ROLE_ID in (#{roleIds})
            </if>
        <if test="ids != null and ids != ''">
            AND ps.ID IN (
                AND pm.ID IN
                <foreach collection="ids" index="index" item="item" open="(" separator="," close=")">
                    #{item}
                </foreach>
            )
        </if>
        ORDER BY pm.SORT ASC
        ORDER BY SORT ASC
    </select>
</mapper>