diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml index 2e4871bc..66dea0ea 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml @@ -5,16 +5,88 @@ - - and (res.menu_id) in - - ( #{item}) - - - - + + and (res.menu_id) in + + ( #{item}) + + + and + + #{item} like concat(res.pid_paths,'%') + + + and + + find_in_set(#{item},res.tag_ids) + + + + and not + exists ( select 1 from xm_iteration_menu im where im.menu_id=res.menu_id) + + + and not + exists ( select 1 from xm_task t where t.menu_id=res.menu_id) + + and res.menu_name like #{key} + and (res.pmenu_id is null or res.pmenu_id = '') + + + + + + + + + UPDATE xm_menu t + LEFT JOIN ( SELECT count( 1 ) AS children_cnt, tt.pmenu_id AS menu_id FROM xm_menu tt WHERE tt.pmenu_id = #{menuId} ) t2 ON t2.menu_id = t.menu_id + SET t.children_cnt = ifnull( t2.children_cnt, 0 ) + WHERE + t.menu_id = #{menuId} + + + + UPDATE xm_menu t + LEFT JOIN ( SELECT count( 1 ) AS children_cnt, tt.pmenu_id AS menu_id FROM xm_menu tt WHERE + (tt.pmenu_id) in + + ( #{item}) + + group by tt.pmenu_id ) t2 ON t2.menu_id = t.menu_id + SET t.children_cnt = ifnull( t2.children_cnt, 0 ) + WHERE (t.menu_id) in + + ( #{item}) + +