|
|
@@ -115,14 +115,30 @@
|
|
|
menu.app_code AS "appCode",
|
|
|
menu.parent_uuid AS "parentId",
|
|
|
menu.flg_menu AS "flgMenu",
|
|
|
- roleFun.role_id AS "roleId",
|
|
|
- menu.fun_uuid AS "funUuid",
|
|
|
- CASE WHEN roleFun.role_id IS NULL THEN FALSE ELSE TRUE END AS "checked"
|
|
|
+
|
|
|
+ <if test="menuUuids!=null and menuUuids.size()> 0">
|
|
|
+ CASE WHEN menus.menu_uuid IS NULL THEN FALSE ELSE TRUE END AS "checked",
|
|
|
+ </if>
|
|
|
+ <if test="roleId != null">
|
|
|
+ roleFun.role_id AS "roleId",
|
|
|
+ CASE WHEN roleFun.role_id IS NULL THEN FALSE ELSE TRUE END AS "checked",
|
|
|
+ </if>
|
|
|
+ menu.fun_uuid AS "funUuid"
|
|
|
FROM sys.t_app_menu menu
|
|
|
- LEFT JOIN dkic_b.t_mst_role_fun roleFun ON menu.fun_uuid = roleFun.fun_uuid and roleFun.role_id = #{roleId}::uuid
|
|
|
+ <if test="menuUuids!=null and menuUuids.size()> 0">
|
|
|
+ left JOIN sys.t_app_menu menus ON menu.menu_uuid = menus.menu_uuid and menus.menu_uuid = ANY(#{menuUuids, typeHandler=UuidListTypeHandler})
|
|
|
+ </if>
|
|
|
+ <if test="roleId != null">
|
|
|
+ LEFT JOIN dkic_b.t_mst_role_fun roleFun ON menu.fun_uuid = roleFun.fun_uuid and roleFun.role_id = #{roleId}::uuid
|
|
|
+ </if>
|
|
|
+
|
|
|
+
|
|
|
WHERE menu.flg_valid
|
|
|
AND menu.flg_right
|
|
|
AND menu.object_code != 'home'
|
|
|
+ <if test="searchText != null">
|
|
|
+ AND (position(#{searchText} in menu.menu_name ) > 0 )
|
|
|
+ </if>
|
|
|
ORDER BY menu.level_code;
|
|
|
</select>
|
|
|
|