<?xml version="1.0" encoding="UTF-8"?> <!-- $Author: DJ $Date: 2013-4-14 下午02:19:46 $Revision: 1.0 $Purpose: --> <bm:model xmlns:bm="http://www.leaf-framework.org/schema/bm"> <bm:operations> <bm:operation name="query"> <bm:query-sql><![CDATA[ SELECT v.function_id, v.function_code, v.function_name, v.menu_id, v.parent_menu_id, case when v.menu_type = 'MENU' then (case when (select count(*) from sys_role_module_home_page srmw where srmw.function_group_id = v.function_id and srmw.role_id = v.role_id and srmw.subject = ${/session/@subject}) > 0 then 'role_module' when (select count(*) from sys_module_home_page smhp where smhp.function_group_id = v.function_id and smhp.subject = ${/session/@subject}) > 0 then 'module' else 'none' end )else 'none' end module_flag, (select nvl(sum(1),0) from sys_role_menu_v v1 where v1.parent_menu_id=v.menu_id) sub_menu_count FROM sys_role_menu_v v #WHERE_CLAUSE# ORDER BY v.layout_sequence ]]></bm:query-sql> </bm:operation> </bm:operations> <bm:data-filters> <bm:data-filter enforceOperations="query" expression="v.role_id=${/session/@role_id}"/> <bm:data-filter enforceOperations="query" expression="((not exists (select 1 from sys_role_user_function f where f.role_id = v.role_id and f.function_id = v.function_id)) or (exists (select 1 from sys_role_user_function f where f.role_id = v.role_id and f.user_id = ${/session/@user_id} and f.function_id = v.function_id)))"/> <!--<bm:data-filter enforceOperations="query" expression="((v.function_code != 'CON3200') or(v.function_code = 'CON3200' AND ((v.role_code not in ('0018', '0019')) or (v.role_code in ('0018', '0019') and exists (select 1 from sys_user u, sys_user_role_groups r where u.user_id = r.user_id and r.role_id = v.role_id AND u.user_id = ${/session/@user_id} and u.user_name in ('MJ001', 'MJ002'))))))"/> --> </bm:data-filters> </bm:model>