You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
519 lines
18 KiB
XML
519 lines
18 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
<mapper namespace="com.manage.dao.Power_MenuMapper">
|
|
<resultMap id="BaseResultMap" type="com.manage.entity.Power_Menu">
|
|
<id column="menu_id" jdbcType="INTEGER" property="menuId" />
|
|
<result column="menu_name" jdbcType="VARCHAR" property="menuName" />
|
|
<result column="menu_icon" jdbcType="VARCHAR" property="menuIcon" />
|
|
<result column="menu_url" jdbcType="VARCHAR" property="menuUrl" />
|
|
<result column="menu_desc" jdbcType="VARCHAR" property="menuDesc" />
|
|
<result column="method" jdbcType="VARCHAR" property="method" />
|
|
<result column="function_type" jdbcType="VARCHAR" property="functionType" />
|
|
<result column="method_type" jdbcType="VARCHAR" property="methodType" />
|
|
<result column="sys_id" jdbcType="INTEGER" property="sysId" />
|
|
<result column="sys_flag" jdbcType="VARCHAR" property="sysFlag" />
|
|
<result column="parent_id" jdbcType="INTEGER" property="parentId" />
|
|
<result column="sort" jdbcType="INTEGER" property="sort" />
|
|
<result column="effective" jdbcType="INTEGER" property="effective" />
|
|
<result column="create_date" jdbcType="CHAR" property="createDate" />
|
|
<result column="creater" jdbcType="VARCHAR" property="creater" />
|
|
<result column="update_date" jdbcType="CHAR" property="updateDate" />
|
|
<result column="updater" jdbcType="VARCHAR" property="updater" />
|
|
<result column="remark" jdbcType="VARCHAR" property="remark" />
|
|
</resultMap>
|
|
|
|
|
|
<resultMap id="ResultMap" type="com.manage.entity.Power_Menu">
|
|
<id column="menu_id" jdbcType="INTEGER" property="menuId" />
|
|
<result column="menu_name" jdbcType="VARCHAR" property="menuName" />
|
|
<result column="menu_icon" jdbcType="VARCHAR" property="menuIcon" />
|
|
<result column="menu_url" jdbcType="VARCHAR" property="menuUrl" />
|
|
<result column="menu_desc" jdbcType="VARCHAR" property="menuDesc" />
|
|
<result column="method" jdbcType="VARCHAR" property="method" />
|
|
<result column="method_type" jdbcType="VARCHAR" property="methodType" />
|
|
<result column="sys_id" jdbcType="INTEGER" property="sysId" />
|
|
<result column="sys_flag" jdbcType="VARCHAR" property="sysFlag" />
|
|
<result column="parent_id" jdbcType="INTEGER" property="parentId" />
|
|
<result column="sort" jdbcType="INTEGER" property="sort" />
|
|
<result column="effective" jdbcType="INTEGER" property="effective" />
|
|
<result column="create_date" jdbcType="CHAR" property="createDate" />
|
|
<result column="creater" jdbcType="VARCHAR" property="creater" />
|
|
<result column="update_date" jdbcType="CHAR" property="updateDate" />
|
|
<result column="updater" jdbcType="VARCHAR" property="updater" />
|
|
<result column="remark" jdbcType="VARCHAR" property="remark" />
|
|
|
|
<result column="flag" jdbcType="INTEGER" property="flag" />
|
|
</resultMap>
|
|
|
|
<sql id="Base_Column_List">
|
|
menu_id, menu_name, menu_icon, menu_url, menu_desc, method, function_type,method_type, sys_id, sys_flag,
|
|
parent_id, sort,effective,create_date, creater, update_date, updater, remark
|
|
</sql>
|
|
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
|
|
select
|
|
<include refid="Base_Column_List" />
|
|
from power_menu
|
|
where menu_id = #{menuId,jdbcType=INTEGER}
|
|
</select>
|
|
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
|
|
delete from power_menu
|
|
where menu_id = #{menuId,jdbcType=INTEGER}
|
|
</delete>
|
|
<insert id="insert" parameterType="com.manage.entity.Power_Menu">
|
|
insert into power_menu (menu_id, menu_name, menu_icon,
|
|
menu_url, menu_desc, method, function_type,
|
|
method_type, sys_id, sys_flag,parent_id,
|
|
sort,effective,create_date, creater,
|
|
update_date, updater, remark
|
|
)
|
|
values (#{menuId,jdbcType=INTEGER}, #{menuName,jdbcType=VARCHAR}, #{menuIcon,jdbcType=VARCHAR},
|
|
#{menuUrl,jdbcType=VARCHAR}, #{menuDesc,jdbcType=VARCHAR}, #{method,jdbcType=VARCHAR},#{functionType,jdbcType=VARCHAR},
|
|
#{methodType,jdbcType=VARCHAR}, #{sysId,jdbcType=INTEGER},#{sysFlag,jdbcType=VARCHAR}, #{parentId,jdbcType=INTEGER},
|
|
#{sort,jdbcType=INTEGER},#{effective,jdbcType=INTEGER}, #{createDate,jdbcType=CHAR}, #{creater,jdbcType=VARCHAR},
|
|
#{updateDate,jdbcType=CHAR}, #{updater,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}
|
|
)
|
|
</insert>
|
|
<insert id="insertSelective" parameterType="com.manage.entity.Power_Menu">
|
|
insert into power_menu
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
<if test="menuId != null">
|
|
menu_id,
|
|
</if>
|
|
<if test="menuName != null">
|
|
menu_name,
|
|
</if>
|
|
<if test="menuIcon != null">
|
|
menu_icon,
|
|
</if>
|
|
<if test="menuUrl != null">
|
|
menu_url,
|
|
</if>
|
|
<if test="menuDesc != null">
|
|
menu_desc,
|
|
</if>
|
|
<if test="method != null">
|
|
method,
|
|
</if>
|
|
<if test="functionType != null">
|
|
function_type,
|
|
</if>
|
|
<if test="methodType != null">
|
|
method_type,
|
|
</if>
|
|
<if test="sysId != null">
|
|
sys_id,
|
|
</if>
|
|
<if test="sysFlag != null">
|
|
sys_flag,
|
|
</if>
|
|
<if test="parentId != null">
|
|
parent_id,
|
|
</if>
|
|
<if test="sort != null">
|
|
sort,
|
|
</if>
|
|
<if test="effective != null">
|
|
effective,
|
|
</if>
|
|
<if test="createDate != null">
|
|
create_date,
|
|
</if>
|
|
<if test="creater != null">
|
|
creater,
|
|
</if>
|
|
<if test="updateDate != null">
|
|
update_date,
|
|
</if>
|
|
<if test="updater != null">
|
|
updater,
|
|
</if>
|
|
<if test="remark != null">
|
|
remark,
|
|
</if>
|
|
</trim>
|
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
|
<if test="menuId != null">
|
|
#{menuId,jdbcType=INTEGER},
|
|
</if>
|
|
<if test="menuName != null">
|
|
#{menuName,jdbcType=VARCHAR},
|
|
</if>
|
|
<if test="menuIcon != null">
|
|
#{menuIcon,jdbcType=VARCHAR},
|
|
</if>
|
|
<if test="menuUrl != null">
|
|
#{menuUrl,jdbcType=VARCHAR},
|
|
</if>
|
|
<if test="menuDesc != null">
|
|
#{menuDesc,jdbcType=VARCHAR},
|
|
</if>
|
|
<if test="method != null">
|
|
#{method,jdbcType=VARCHAR},
|
|
</if>
|
|
<if test="functionType != null">
|
|
#{functionType,jdbcType=VARCHAR},
|
|
</if>
|
|
<if test="methodType != null">
|
|
#{methodType,jdbcType=VARCHAR},
|
|
</if>
|
|
<if test="sysId != null">
|
|
#{sysId,jdbcType=INTEGER},
|
|
</if>
|
|
<if test="sysFlag != null">
|
|
#{sysFlag,jdbcType=VARCHAR},
|
|
</if>
|
|
<if test="parentId != null">
|
|
#{parentId,jdbcType=INTEGER},
|
|
</if>
|
|
<if test="sort != null">
|
|
#{sort,jdbcType=INTEGER},
|
|
</if>
|
|
<if test="effective != null">
|
|
#{effective,jdbcType=INTEGER},
|
|
</if>
|
|
<if test="createDate != null">
|
|
#{createDate,jdbcType=CHAR},
|
|
</if>
|
|
<if test="creater != null">
|
|
#{creater,jdbcType=VARCHAR},
|
|
</if>
|
|
<if test="updateDate != null">
|
|
#{updateDate,jdbcType=CHAR},
|
|
</if>
|
|
<if test="updater != null">
|
|
#{updater,jdbcType=VARCHAR},
|
|
</if>
|
|
<if test="remark != null">
|
|
#{remark,jdbcType=VARCHAR},
|
|
</if>
|
|
</trim>
|
|
</insert>
|
|
<update id="updateByPrimaryKeySelective" parameterType="com.manage.entity.Power_Menu">
|
|
update power_menu
|
|
<set>
|
|
<if test="menuName != null">
|
|
menu_name = #{menuName,jdbcType=VARCHAR},
|
|
</if>
|
|
<if test="menuIcon != null">
|
|
menu_icon = #{menuIcon,jdbcType=VARCHAR},
|
|
</if>
|
|
<if test="menuUrl != null">
|
|
menu_url = #{menuUrl,jdbcType=VARCHAR},
|
|
</if>
|
|
<if test="menuDesc != null">
|
|
menu_desc = #{menuDesc,jdbcType=VARCHAR},
|
|
</if>
|
|
<if test="method != null">
|
|
method = #{method,jdbcType=VARCHAR},
|
|
</if>
|
|
<if test="methodType != null">
|
|
method_type = #{methodType,jdbcType=VARCHAR},
|
|
</if>
|
|
<if test="functionType != null">
|
|
function_type = #{functionType,jdbcType=VARCHAR},
|
|
</if>
|
|
<if test="sysId != null">
|
|
sys_id = #{sysId,jdbcType=INTEGER},
|
|
</if>
|
|
<if test="sysFlag != null">
|
|
sys_flag = #{sysFlag,jdbcType=VARCHAR},
|
|
</if>
|
|
<if test="parentId != null">
|
|
parent_id = #{parentId,jdbcType=INTEGER},
|
|
</if>
|
|
<if test="sort != null">
|
|
sort = #{sort,jdbcType=INTEGER},
|
|
</if>
|
|
<if test="effective != null">
|
|
effective = #{effective,jdbcType=INTEGER},
|
|
</if>
|
|
<if test="createDate != null">
|
|
create_date = #{createDate,jdbcType=CHAR},
|
|
</if>
|
|
<if test="creater != null">
|
|
creater = #{creater,jdbcType=VARCHAR},
|
|
</if>
|
|
<if test="updateDate != null">
|
|
update_date = #{updateDate,jdbcType=CHAR},
|
|
</if>
|
|
<if test="updater != null">
|
|
updater = #{updater,jdbcType=VARCHAR},
|
|
</if>
|
|
<if test="remark != null">
|
|
remark = #{remark,jdbcType=VARCHAR},
|
|
</if>
|
|
</set>
|
|
where menu_id = #{menuId,jdbcType=INTEGER}
|
|
</update>
|
|
<update id="updateByPrimaryKey" parameterType="com.manage.entity.Power_Menu">
|
|
update power_menu
|
|
set menu_name = #{menuName,jdbcType=VARCHAR},
|
|
menu_icon = #{menuIcon,jdbcType=VARCHAR},
|
|
menu_url = #{menuUrl,jdbcType=VARCHAR},
|
|
menu_desc = #{menuDesc,jdbcType=VARCHAR},
|
|
method = #{method,jdbcType=VARCHAR},
|
|
function_type = #{functionType,jdbcType=VARCHAR},
|
|
method_type = #{methodType,jdbcType=VARCHAR},
|
|
sys_id = #{sysId,jdbcType=INTEGER},
|
|
sys_flag = #{sysFlag,jdbcType=VARCHAR},
|
|
parent_id = #{parentId,jdbcType=INTEGER},
|
|
sort = #{sort,jdbcType=INTEGER},
|
|
effective = #{effective,jdbcType=INTEGER},
|
|
create_date = #{createDate,jdbcType=CHAR},
|
|
creater = #{creater,jdbcType=VARCHAR},
|
|
update_date = #{updateDate,jdbcType=CHAR},
|
|
updater = #{updater,jdbcType=VARCHAR},
|
|
remark = #{remark,jdbcType=VARCHAR}
|
|
where menu_id = #{menuId,jdbcType=INTEGER}
|
|
</update>
|
|
|
|
<select id="queryAllPowerMenu" resultMap="BaseResultMap">
|
|
select DISTINCT sys_id,menu_id,menu_name,menu_icon,method,menu_url,parent_id,sort,sys_flag
|
|
from power_menu
|
|
where effective=1 and parent_id != 0
|
|
<if test="roleId != null and roleId != 0">
|
|
AND menu_name != '菜单管理'
|
|
AND menu_name != '归属管理'
|
|
AND menu_name != '自定义模板'
|
|
</if>
|
|
<if test="sysFlag != '' and sysFlag != null">
|
|
and sys_flag=#{sysFlag}
|
|
</if>
|
|
order by sort
|
|
</select>
|
|
<!--<select id="queryMenuViewByUserId" parameterType="java.lang.Integer"
|
|
resultType="com.manage.entity.Power_Detailed_Menu">
|
|
select null as dict_id,null as hospital_name,m.sys_id,null as sys_flag,null as sys_name,null as sysParent,cc.menu_id, m.menu_name,m.menu_icon,m.menu_url,m.method,m.parent_id,m.sort as menu_sort from(
|
|
select u.user_id,u2.role_id,u.menu_id,u.flag
|
|
from power_user_menu u
|
|
left join power_user u2
|
|
on u2.user_id=u.user_id
|
|
where u2.role_id!=0 and u2.role_id!=-100
|
|
union
|
|
select u2.user_id ,r.role_id,r.menu_id,0 as flag from power_role_menu r
|
|
left join power_user u2
|
|
on u2.role_id=r.role_id
|
|
where u2.role_id!=0 and u2.role_id!=-100
|
|
) cc
|
|
left join power_menu m
|
|
on m.menu_id=cc.menu_id
|
|
where m.effective=1 and cc.user_id=#{userId,jdbcType=INTEGER}
|
|
union
|
|
select d.dict_id,d.hospital_name,null as sys_id,d.sys_flag,d.sys_name,d.parent_id as sysParent,null as menu_id,null as menu_name,null as menu_icon,null as menu_url,null as method,null as parent_id,null as menu_sort
|
|
from power_sys_dict d
|
|
where d.dict_status=1
|
|
and d.dict_id=(select dict_id from power_dept where dept_id =(select substring_index(dept_id,',', 1) from power_user where effective=1 and user_id=#{userId,jdbcType=INTEGER}))
|
|
or (d.parent_id=(select dict_id from power_dept where dept_id =(select substring_index(dept_id,',', 1) from power_user where effective=1 and user_id=#{userId,jdbcType=INTEGER}))
|
|
and d.sys_flag='power')
|
|
</select>-->
|
|
<select id="queryPoswerMenuByUserId" parameterType="java.lang.Integer" resultType="com.manage.entity.Power_Menu_User">
|
|
SELECT
|
|
distinct
|
|
sys_id dict_id,
|
|
hospital_name,
|
|
sys_flag,
|
|
sys_name,
|
|
hospital_id AS sys_parent,
|
|
menu_id,
|
|
menu_name,
|
|
menu_icon,
|
|
menu_url,
|
|
method,
|
|
sort menu_sort,
|
|
method_parent parent_id
|
|
FROM
|
|
user_dept_menu
|
|
WHERE
|
|
user_id = #{userId,jdbcType=INTEGER}
|
|
AND menu_name != '菜单管理'
|
|
AND menu_name != '归属管理'
|
|
AND menu_name != '自定义模板'
|
|
AND method_parent != 0
|
|
<if test="sysFlag != '' and sysFlag != null">
|
|
and sys_flag=#{sysFlag}
|
|
</if>
|
|
order by sys_id,menu_id,sort
|
|
</select>
|
|
<!--/* select * from(
|
|
select d.dict_id,d.hospital_name,d.sys_flag,d.sys_name,d.parent_id as sys_parent ,null as menu_id,null as menu_name,null as menu_icon,null as menu_url,null as method,null as sys_id,null as parent_id,null as menu_sort
|
|
from power_sys_dict d
|
|
where d.dict_status=1
|
|
union
|
|
select d.dict_id,d.hospital_name,d.sys_flag,d.sys_name,d.parent_id as sys_parent,m.menu_id,m.menu_name,m.menu_icon,m.menu_url,m.method,m.sys_id,m.parent_id,m.sort as menu_sort
|
|
from power_sys_dict d
|
|
left join power_menu m
|
|
on m.sys_id=d.dict_id
|
|
where d.dict_status=1
|
|
) cc
|
|
where dict_id=(select dict_id from power_dept where dept_id =(select substring_index(dept_id,',', 1) from power_user where effective=1 and user_id=#{userId,jdbcType=INTEGER}))
|
|
or (sys_parent=(select dict_id from power_dept where dept_id =(select substring_index(dept_id,',', 1) from power_user where effective=1 and user_id=#{userId,jdbcType=INTEGER}))
|
|
and sys_flag='power')
|
|
*/ -->
|
|
<!--2019-04-29zengwh-->
|
|
<!--查询全部-->
|
|
<select id="selectAll" resultMap="BaseResultMap" parameterType="string">
|
|
SELECT
|
|
*,
|
|
menu_name newName
|
|
FROM power_menu
|
|
<where>
|
|
<if test="sysFlag != null and sysFlag != ''">
|
|
sys_flag = #{sysFlag}
|
|
</if>
|
|
<if test="isEffective == 1">
|
|
AND effective = 1
|
|
</if>
|
|
<if test="roleId != null and roleId != 0">
|
|
AND menu_name != '菜单管理'
|
|
AND menu_name != '归属管理'
|
|
AND menu_name != '自定义模板'
|
|
</if>
|
|
</where>
|
|
ORDER BY parent_id,sort
|
|
</select>
|
|
<!--2019-04-29zengwh-->
|
|
<!--根据菜单id查询功能方法集合-->
|
|
<select id="selectMethodByMenuIdPowerTree" resultMap="BaseResultMap" parameterType="java.lang.Integer">
|
|
SELECT
|
|
*
|
|
FROM
|
|
power_menu
|
|
WHERE
|
|
parent_id = ${parentId}
|
|
AND effective = 1
|
|
AND method IS NOT NULL
|
|
ORDER BY
|
|
sort
|
|
</select>
|
|
|
|
|
|
|
|
|
|
|
|
<!--2019-06-28 ljx-->
|
|
<!--根据系统id和角色id查出角色菜单-->
|
|
<select id="selectRoleMenuByUserIdAndDictId" resultMap="BaseResultMap" parameterType="java.lang.Integer">
|
|
SELECT
|
|
a.*
|
|
FROM
|
|
power_menu a,
|
|
power_role_menu b
|
|
WHERE
|
|
a.sys_id = ${dictId}
|
|
AND b.role_id in (SELECT role_id FROM power_user WHERE user_id = ${userId} and effective = 1)
|
|
AND a.menu_id = b.menu_id
|
|
</select>
|
|
|
|
<!--2019-06-28 ljx-->
|
|
<!--根据系统id和角色id查出用户菜单-->
|
|
<select id="selectUserMenuByUserIdAndDictId" resultMap="ResultMap" parameterType="java.lang.Integer">
|
|
SELECT
|
|
a.*,b.flag
|
|
FROM
|
|
power_menu a,
|
|
power_user_menu b
|
|
WHERE
|
|
a.sys_id = ${dictId}
|
|
AND b.user_id = ${userId}
|
|
AND a.menu_id = b.menu_id
|
|
</select>
|
|
|
|
<!--验证同一系统菜单名不能重复-->
|
|
<select id="checkMenuNameBySysId" resultMap="ResultMap" parameterType="java.lang.String">
|
|
SELECT
|
|
menu_id
|
|
FROM
|
|
power_menu
|
|
WHERE
|
|
sys_flag = #{sysFlag}
|
|
AND menu_name = #{menuName}
|
|
</select>
|
|
<!--验证同一菜单功能名或功能方法不能重复-->
|
|
<select id="checkMethodByParentId" resultMap="ResultMap" parameterType="java.lang.Integer">
|
|
SELECT
|
|
menu_id,sys_id,sys_flag
|
|
FROM
|
|
power_menu
|
|
WHERE
|
|
parent_id = ${parentId}
|
|
<if test="menuName != null and menuName != ''">
|
|
AND menu_name = #{menuName}
|
|
</if>
|
|
<if test="method != null and method != ''">
|
|
AND method = #{method}
|
|
</if>
|
|
</select>
|
|
<!--根据系统id和用户id查出对应该系统在用户菜单表和角色菜单表的综合表-->
|
|
<select id="selectUserAndRoleMenuListPower" parameterType="string" resultMap="BaseResultMap">
|
|
SELECT DISTINCT power_menu.menu_id, menu_name, menu_icon, menu_url, menu_desc, method, function_type,method_type, sys_id,
|
|
sys_flag,
|
|
parent_id, sort,effective,create_date, creater, update_date, updater, remark FROM power_menu
|
|
INNER JOIN (
|
|
SELECT
|
|
m.menu_id
|
|
FROM
|
|
power_menu m
|
|
WHERE
|
|
m.menu_id IN (
|
|
SELECT
|
|
r.menu_id
|
|
FROM
|
|
power_role_menu r
|
|
WHERE
|
|
r.role_id = (
|
|
SELECT
|
|
u.role_id
|
|
FROM
|
|
power_user u
|
|
WHERE
|
|
u.user_id = #{userId}
|
|
)
|
|
AND r.menu_id NOT IN (
|
|
SELECT
|
|
m.menu_id
|
|
FROM
|
|
power_menu m
|
|
WHERE
|
|
m.menu_id IN (
|
|
SELECT
|
|
pu.menu_id
|
|
FROM
|
|
power_user_menu pu
|
|
WHERE
|
|
pu.user_id = #{userId}
|
|
AND pu.flag = 0
|
|
)
|
|
<if test="sysFlag != null and sysFlag != ''">AND m.sys_flag = #{sysFlag}
|
|
</if>
|
|
)
|
|
)
|
|
<if test="sysFlag != null and sysFlag != ''">
|
|
AND m.sys_flag = #{sysFlag}
|
|
</if>
|
|
UNION ALL
|
|
SELECT
|
|
m.menu_id
|
|
FROM
|
|
power_menu
|
|
m
|
|
WHERE
|
|
m.menu_id IN (
|
|
SELECT
|
|
pu.menu_id menuId1
|
|
FROM
|
|
power_user_menu pu
|
|
WHERE
|
|
pu.user_id = #{userId}
|
|
AND pu.flag = 1
|
|
)
|
|
<if test="sysFlag != null and sysFlag != ''">
|
|
AND m.sys_flag = #{sysFlag}
|
|
</if>) a
|
|
on a.menu_id = power_menu.menu_id AND power_menu.effective=1 and power_menu.parent_id != 0
|
|
order by power_menu.sort
|
|
</select>
|
|
<update id="updateChildSysFlagAndSysId">
|
|
update power_menu set sys_id = #{sysId},sys_flag = #{sysFlag} where parent_id = #{menuId}
|
|
</update>
|
|
|
|
</mapper> |