From f09e05514d9a9e2623cfa73c4de1ffa98bb30bf8 Mon Sep 17 00:00:00 2001
From: xiejun <xiejun@vci-tech.com>
Date: 星期二, 23 一月 2024 10:09:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml |  641 ++++++++++++++++++++++++++++++---------------------------
 1 files changed, 339 insertions(+), 302 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml b/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml
index df3421c..68dd8a2 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml
@@ -44,19 +44,19 @@
         <result column="key" property="key"/>
     </resultMap>
 
-    <select id="lazyList"  resultMap="menuVOResultMap">
+    <select id="lazyList" resultMap="menuVOResultMap">
         SELECT
-            menu.*,
-            (
-                SELECT
-                    CASE WHEN count( 1 ) > 0 THEN 1 ELSE 0 END
-            FROM
-                pl_sys_menu
-            WHERE
-                parent_id = menu.id AND is_deleted = 0
+        menu.*,
+        (
+        SELECT
+        CASE WHEN count( 1 ) > 0 THEN 1 ELSE 0 END
+        FROM
+        pl_sys_menu
+        WHERE
+        parent_id = menu.id AND is_deleted = 0
         ) AS "has_children"
         FROM
-            pl_sys_menu menu
+        pl_sys_menu menu
         WHERE menu.is_deleted = 0
         <if test="param1!=null">
             and menu.parent_id = #{param1}
@@ -75,17 +75,17 @@
 
     <select id="lazyMenuPage" resultMap="menuVOResultMap">
         SELECT
-            menu.*,
-            (
-                SELECT
-                    CASE WHEN count( 1 ) > 0 THEN 1 ELSE 0 END
+        menu.*,
+        (
+        SELECT
+        CASE WHEN count( 1 ) > 0 THEN 1 ELSE 0 END
         FROM
-                pl_sys_menu
+        pl_sys_menu
         WHERE
-        parent_id = menu.id AND is_deleted = 0  AND category = 1
+        parent_id = menu.id AND is_deleted = 0 AND category = 1
         ) AS "has_children"
         FROM
-            pl_sys_menu menu
+        pl_sys_menu menu
         WHERE menu.is_deleted = 0 AND menu.category = 1
         <if test="param1!=null">
             and menu.parent_id = #{param1}
@@ -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">
@@ -127,49 +133,56 @@
 
     <select id="roleMenuByRoleId" resultMap="menuResultMap">
         select * 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>
-            )
+        ( SELECT menu_id FROM pl_org_role_menu WHERE role_id IN
+        <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+        )
     </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>
 
     <select id="routes" resultMap="menuResultMap">
         SELECT
-            *
+        *
         FROM
-            pl_sys_menu
+        pl_sys_menu
         WHERE
-            is_deleted = 0 and category = 1
-            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> )
+        is_deleted = 0 and category = 1
+        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>
+        )
     </select>
 
     <select id="allButtons" resultMap="menuResultMap">
-        SELECT
-            id,
-            parent_id,
-            CODE,
-            NAME,
-            alias,
-            path,
-            source,
+        SELECT id,
+               parent_id,
+               CODE,
+               NAME,
+               alias,
+               path,
+               source,
             action,
             sort
         FROM
             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
@@ -177,82 +190,78 @@
 
     <select id="buttons" resultMap="menuResultMap">
         SELECT * FROM (
-            SELECT
-                id,
-                parent_id,
-                code,
-                name,
-                alias,
-                path,
-                source,
-                action,
-                sort
-            FROM
-                pl_sys_menu
-            WHERE
-                is_deleted = 0 and id IN (
-                  SELECT parent_id FROM pl_sys_menu
-                  WHERE ( category = 2 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>
-                  ) ) )
-            UNION ALL
+        SELECT
+        id,
+        parent_id,
+        code,
+        name,
+        alias,
+        path,
+        source,
+        action,
+        sort
+        FROM
+        pl_sys_menu
+        WHERE
+        is_deleted = 0 and id IN (
+        SELECT parent_id FROM pl_sys_menu
+        WHERE ( category = 2 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>
+        ) ) )
+        UNION ALL
 
-            SELECT
-                id,
-                parent_id,
-                code,
-                name,
-                alias,
-                path,
-                source,
-                action,
-                sort
-            FROM
-                pl_sys_menu
-            WHERE
-                is_deleted = 0 and  category = 2 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>)
+        SELECT
+        id,
+        parent_id,
+        code,
+        name,
+        alias,
+        path,
+        source,
+        action,
+        sort
+        FROM
+        pl_sys_menu
+        WHERE
+        is_deleted = 0 and category = 2 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>)
         ) menu ORDER BY sort
     </select>
 
-    <select id="getButtonByParentCode" resultMap="menuResultMap">
-        SELECT
-            id,
-            parent_id,
-            code,
-            name,
-            alias,
-            PATH,
-            SOURCE,
-            ACTION,
-            sort
-        FROM
-            PL_SYS_MENU
+    <select id="getButtonsByRoleIdAndCode" resultMap="menuResultMap">
+        SELECT pm.*
+        FROM PL_SYS_MENU ps,
+        PL_SYS_MENU pm
+        <if test="roleId != null and roleId != ''">
+            ,PL_ORG_ROLE_MENU prom
+        </if>
         WHERE
-            "CATEGORY" = '2'
-          AND IS_DELETED = 0
-          AND PARENT_ID IN (
-            SELECT
-            ID
-            FROM
-            PL_SYS_MENU
-            WHERE
-            CODE = #{code})
-        ORDER BY SORT
+        ps."CATEGORY" = 1
+        <if test="roleId != null and roleId != ''">
+            AND pm.ID = prom.MENU_ID
+            AND prom.ROLE_ID = #{roleId}
+        </if>
+        AND pm.IS_DELETED = 0
+        <if test="code != null and code != ''">
+            AND ps.ID = pm.PARENT_ID
+            AND ps.CODE = #{code}
+        </if>
+        ORDER BY pm.SORT ASC
     </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
+               id   as "value",
+               id   as "key"
+        from pl_sys_menu
+        where is_deleted = 0
+        order by sort
     </select>
 
     <select id="grantTreeByRole" resultMap="treeNodeResultMap">
@@ -260,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> )
-        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> )
-          )
-        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>
-
-    <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
-        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>
+
+    <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
+        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>
+        )
+        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>
+        )
         )
         order by sort
     </select>
 
     <select id="grantDataScopeTree" resultMap="treeNodeResultMap">
-        SELECT
-            *
-        FROM
-            (
-                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_auth_scope_data WHERE is_deleted = 0 AND menu_id IS NOT NULL )
-            ) menu
+        SELECT *
+        FROM (
+                 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_auth_scope_data WHERE is_deleted = 0 AND menu_id IS NOT NULL)
+             ) menu
 
         UNION ALL
 
-        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
+        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
           AND menu_id IS NOT NULL
     </select>
 
     <select id="grantApiScopeTree" resultMap="treeNodeResultMap">
-        SELECT
-            *
-        FROM
-            (
-                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_auth_scope_api WHERE is_deleted = 0 AND menu_id IS NOT NULL )
-            ) menu
+        SELECT *
+        FROM (
+                 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_auth_scope_api WHERE is_deleted = 0 AND menu_id IS NOT NULL)
+             ) menu
 
         UNION ALL
 
-        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
+        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
           AND menu_id IS NOT NULL
     </select>
 
@@ -364,61 +366,63 @@
         *
         FROM
         (
-            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_auth_scope_data WHERE is_deleted = 0 AND menu_id IS NOT NULL )
-            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>
-                )
-                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> )
-                )
-            )
+        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_auth_scope_data WHERE is_deleted = 0 AND menu_id IS NOT NULL )
+        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>
+        )
+        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>
+        )
+        )
+        )
         ) menu
 
         UNION ALL
 
         SELECT
-            id,
-            menu_id AS parent_id,
-            scope_name AS title,
-            id AS "value",
-            id AS "key"
+        id,
+        menu_id AS parent_id,
+        scope_name AS title,
+        id AS "value",
+        id AS "key"
         FROM
-            pl_auth_scope_data
+        pl_auth_scope_data
         WHERE
-            is_deleted = 0
+        is_deleted = 0
         AND (
-            menu_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>
-            )
-            OR menu_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> )
-            )
+        menu_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>
+        )
+        OR menu_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>
+        )
+        )
         )
         AND menu_id IS NOT NULL
     </select>
@@ -428,100 +432,133 @@
         *
         FROM
         (
-            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_auth_scope_api WHERE is_deleted = 0 AND menu_id IS NOT NULL )
-            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>
-                )
-                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> )
-                )
-            )
+        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_auth_scope_api WHERE is_deleted = 0 AND menu_id IS NOT NULL )
+        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>
+        )
+        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>
+        )
+        )
+        )
         ) menu
 
         UNION ALL
 
         SELECT
-            id,
-            menu_id AS parent_id,
-            scope_name AS title,
-            id AS "value",
-            id AS "key"
+        id,
+        menu_id AS parent_id,
+        scope_name AS title,
+        id AS "value",
+        id AS "key"
         FROM
-            pl_auth_scope_api
+        pl_auth_scope_api
         WHERE
-            is_deleted = 0
+        is_deleted = 0
         AND
-            (
-                menu_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>
-                )
-            OR menu_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> )
-                )
+        (
+        menu_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>
+        )
+        OR menu_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>
+        )
+        )
         )
         AND menu_id IS NOT NULL
     </select>
 
     <select id="authRoutes" resultType="com.vci.ubcs.system.dto.MenuDTO">
         SELECT
-            GROUP_CONCAT(r.role_alias) as alias,
-            m.path
+        GROUP_CONCAT(r.role_alias) as alias,
+        m.path
         FROM
-            pl_org_role_menu rm
-            LEFT JOIN pl_sys_menu m ON rm.menu_id = m.id
-            LEFT JOIN pl_org_role r ON rm.role_id = r.id
+        pl_org_role_menu rm
+        LEFT JOIN pl_sys_menu m ON rm.menu_id = m.id
+        LEFT JOIN pl_org_role r ON rm.role_id = r.id
         WHERE
-            rm.role_id IN
-            <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
-                #{item}
-            </foreach>
-            AND m.path IS NOT NULL and m.is_deleted = 0
+        rm.role_id IN
+        <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+        AND m.path IS NOT NULL and m.is_deleted = 0
         GROUP BY m.path
     </select>
 
     <select id="selectMenuChildByBtnType" resultMap="menuResultMap">
         select pm.*
-            from pl_sys_menu ps, pl_sys_menu pm
+        from pl_sys_menu ps, pl_sys_menu pm
         where pm.is_deleted = 0
-          and ps.category = 1
-          and ps.CODE = #{btmType}
-          and ps.ID = pm.PARENT_ID
-            <if test="roleIds != null and roleIds != ''">
-                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>
+        and ps.category = 1
+        and ps.CODE = #{btmType}
+        and ps.ID = pm.PARENT_ID
+        <if test="roleIds != null and roleIds != ''">
+            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 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 pm.ID IN
+                <foreach collection="ids" index="index" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+        ORDER BY SORT ASC
+    </select>
+
 </mapper>

--
Gitblit v1.9.3