<?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_Sys_DictMapper" >
<resultMap id= "BaseResultMap" type= "com.manage.entity.Power_Sys_Dict" >
<id column= "dict_id" jdbcType= "INTEGER" property= "dictId" />
<result column= "dept_id" jdbcType= "INTEGER" property= "deptId" />
<result column= "hospital_name" jdbcType= "VARCHAR" property= "hospitalName" />
<result column= "sys_flag" jdbcType= "VARCHAR" property= "sysFlag" />
<result column= "sys_name" jdbcType= "VARCHAR" property= "sysName" />
<result column= "dict_area" jdbcType= "VARCHAR" property= "dictArea" />
<result column= "hospital_tel" jdbcType= "VARCHAR" property= "hospitalTel" />
<result column= "parent_id" jdbcType= "INTEGER" property= "parentId" />
<result column= "sys_type" jdbcType= "VARCHAR" property= "sysType" />
<result column= "sort" jdbcType= "INTEGER" property= "sort" />
<result column= "dict_status" jdbcType= "INTEGER" property= "dictStatus" />
<result column= "dict_edit" jdbcType= "INTEGER" property= "dictEdit" />
<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= "BaseResultMapVo" type= "com.manage.vo.Power_Sys_DictVo" >
<result column= "sys_name" jdbcType= "VARCHAR" property= "sysName" />
<result column= "dict_status" jdbcType= "INTEGER" property= "dictStatus" />
<result column= "dept_name" jdbcType= "VARCHAR" property= "deptName" />
</resultMap>
<sql id= "Base_Column_List" >
dict_id, dept_id, hospital_name, sys_flag, sys_name, dict_area, hospital_tel, parent_id,
sys_type, sort, dict_status, dict_edit, create_date, creater, update_date, updater,
remark
</sql>
<select id= "selectByPrimaryKey" parameterType= "java.lang.Integer" resultMap= "BaseResultMapVo" >
SELECT
power_sys_dict.dict_id,
power_sys_dict.dept_id,
power_sys_dict.sys_flag,
power_sys_dict.sys_name,
power_sys_dict.parent_id,
power_sys_dict.sys_type,
power_sys_dict.sort,
power_sys_dict.dict_status,
power_sys_dict.dict_edit,
power_sys_dict.create_date,
power_sys_dict.creater,
power_sys_dict.update_date,
power_sys_dict.updater,
power_sys_dict.remark,
if(power_sys_dict1.hospital_name != '',power_sys_dict1.hospital_name,power_sys_dict.hospital_name) hospital_name,
if(power_sys_dict1.hospital_tel != '',power_sys_dict1.hospital_tel,power_sys_dict.hospital_tel) hospital_tel,
if(power_sys_dict1.dict_area != '',power_sys_dict1.dict_area,power_sys_dict.dict_area) dict_area,
if(power_sys_dict.parent_id != 0,power_sys_dict.parent_id,power_sys_dict.dict_id) hospitalId
FROM
power_sys_dict
LEFT JOIN power_sys_dict power_sys_dict1 ON power_sys_dict.parent_id = power_sys_dict1.dict_id
WHERE power_sys_dict.dict_id = #{dictId,jdbcType=INTEGER}
</select>
<delete id= "deleteByPrimaryKey" parameterType= "java.lang.Integer" >
delete from power_sys_dict
where dict_id = #{dictId,jdbcType=INTEGER}
</delete>
<insert id= "insert" parameterType= "com.manage.entity.Power_Sys_Dict" >
insert into power_sys_dict (dict_id, dept_id, hospital_name,
sys_flag, sys_name, dict_area,
hospital_tel, parent_id, sys_type,
sort, dict_status, dict_edit,
create_date, creater, update_date,
updater, remark)
values (#{dictId,jdbcType=INTEGER}, #{deptId,jdbcType=INTEGER}, #{hospitalName,jdbcType=VARCHAR},
#{sysFlag,jdbcType=VARCHAR}, #{sysName,jdbcType=VARCHAR}, #{dictArea,jdbcType=VARCHAR},
#{hospitalTel,jdbcType=VARCHAR}, #{parentId,jdbcType=INTEGER}, #{sysType,jdbcType=VARCHAR},
#{sort,jdbcType=INTEGER}, #{dictStatus,jdbcType=INTEGER}, #{dictEdit,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_Sys_Dict" useGeneratedKeys= "true"
keyProperty="dictId">
insert into power_sys_dict
<trim prefix= "(" suffix= ")" suffixOverrides= "," >
<if test= "dictId != null" >
dict_id,
</if>
<if test= "deptId != null" >
dept_id,
</if>
<if test= "hospitalName != null" >
hospital_name,
</if>
<if test= "sysFlag != null" >
sys_flag,
</if>
<if test= "sysName != null" >
sys_name,
</if>
<if test= "dictArea != null" >
dict_area,
</if>
<if test= "hospitalTel != null" >
hospital_tel,
</if>
<if test= "parentId != null" >
parent_id,
</if>
<if test= "sysType != null" >
sys_type,
</if>
<if test= "sort != null" >
sort,
</if>
<if test= "dictStatus != null" >
dict_status,
</if>
<if test= "dictEdit != null" >
dict_edit,
</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= "dictId != null" >
#{dictId,jdbcType=INTEGER},
</if>
<if test= "deptId != null" >
#{deptId,jdbcType=INTEGER},
</if>
<if test= "hospitalName != null" >
#{hospitalName,jdbcType=VARCHAR},
</if>
<if test= "sysFlag != null" >
#{sysFlag,jdbcType=VARCHAR},
</if>
<if test= "sysName != null" >
#{sysName,jdbcType=VARCHAR},
</if>
<if test= "dictArea != null" >
#{dictArea,jdbcType=VARCHAR},
</if>
<if test= "hospitalTel != null" >
#{hospitalTel,jdbcType=VARCHAR},
</if>
<if test= "parentId != null" >
#{parentId,jdbcType=INTEGER},
</if>
<if test= "sysType != null" >
#{sysType,jdbcType=VARCHAR},
</if>
<if test= "sort != null" >
#{sort,jdbcType=INTEGER},
</if>
<if test= "dictStatus != null" >
#{dictStatus,jdbcType=INTEGER},
</if>
<if test= "dictEdit != null" >
#{dictEdit,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_Sys_Dict" >
update power_sys_dict
<set >
<if test= "deptId != null" >
dept_id = #{deptId,jdbcType=INTEGER},
</if>
<if test= "hospitalName != null" >
hospital_name = #{hospitalName,jdbcType=VARCHAR},
</if>
<if test= "sysFlag != null" >
sys_flag = #{sysFlag,jdbcType=VARCHAR},
</if>
<if test= "sysName != null" >
sys_name = #{sysName,jdbcType=VARCHAR},
</if>
<if test= "dictArea != null" >
dict_area = #{dictArea,jdbcType=VARCHAR},
</if>
<if test= "hospitalTel != null" >
hospital_tel = #{hospitalTel,jdbcType=VARCHAR},
</if>
<if test= "parentId != null" >
parent_id = #{parentId,jdbcType=INTEGER},
</if>
<if test= "sysType != null" >
sys_type = #{sysType,jdbcType=VARCHAR},
</if>
<if test= "sort != null" >
sort = #{sort,jdbcType=INTEGER},
</if>
<if test= "dictStatus != null" >
dict_status = #{dictStatus,jdbcType=INTEGER},
</if>
<if test= "dictEdit != null" >
dict_edit = #{dictEdit,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 dict_id = #{dictId,jdbcType=INTEGER}
</update>
<update id= "updateByPrimaryKey" parameterType= "com.manage.entity.Power_Sys_Dict" >
update power_sys_dict
set dept_id = #{deptId,jdbcType=INTEGER},
hospital_name = #{hospitalName,jdbcType=VARCHAR},
sys_flag = #{sysFlag,jdbcType=VARCHAR},
sys_name = #{sysName,jdbcType=VARCHAR},
dict_area = #{dictArea,jdbcType=VARCHAR},
hospital_tel = #{hospitalTel,jdbcType=VARCHAR},
parent_id = #{parentId,jdbcType=INTEGER},
sys_type = #{sysType,jdbcType=VARCHAR},
sort = #{sort,jdbcType=INTEGER},
dict_status = #{dictStatus,jdbcType=INTEGER},
dict_edit = #{dictEdit,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 dict_id = #{dictId,jdbcType=INTEGER}
</update>
<!-- 2019 - 4 - 22 ly -->
<select id= "findSomeByMore" resultMap= "BaseResultMap" >
select
<include refid= "Base_Column_List" />
from power_sys_dict where 1 = 1
<if test= "deptId!=null and deptId!=''" >
and dept_id=#{deptId}
</if>
<if test= "dictId!=null and dictId!=''" >
and dict_id=#{dictId}
</if>
<if test= "hospitalName!=null and hospitalName!=''" >
and hospital_name=#{hospitalName}
</if>
<if test= "sysFlag!=null and sysFlag!=''" >
and sys_flag=#{sysFlag}
</if>
<if test= "sysName!=null and sysName!=''" >
and sys_name=#{sysName}
</if>
<if test= "parentId!=null and parentId!=''" >
and parent_id=#{parentId}
</if>
<if test= "dictStatus!=null and dictStatus!=''" >
and dict_status=#{dictStatus}
</if>
LIMIT #{offset},#{limit}
</select>
<select id= "getTotal" resultType= "int" >
SELECT count(1) FROM power_sys_dict WHERE 1 = 1
<if test= "deptId!=null and deptId!=''" >
and dept_id=#{deptId}
</if>
<if test= "dictId!=null and dictId!=''" >
and dict_id=#{dictId}
</if>
<if test= "hospitalName!=null and hospitalName!=''" >
and hospital_name=#{hospitalName}
</if>
<if test= "sysFlag!=null and sysFlag!=''" >
and sys_flag=#{sysFlag}
</if>
<if test= "sysName!=null and sysName!=''" >
and sys_name=#{sysName}
</if>
<if test= "parentId!=null and parentId!=''" >
and parent_id=#{parentId}
</if>
<if test= "dictStatus!=null and dictStatus!=''" >
and dict_status=#{dictStatus}
</if>
</select>
<select id= "selectList" resultMap= "BaseResultMap" >
select
<include refid= "Base_Column_List" />
from power_sys_dict ORDER BY parent_id asc
</select>
<select id= "selectHosList" resultMap= "BaseResultMap" >
SELECT
dict.*
FROM
power_sys_dict dict
<if test= "userId != null" >
LEFT JOIN power_user_dict ON dict.dict_id = power_user_dict.dict_id
</if>
WHERE
dict.hospital_name != ''
AND
dict.hospital_name IS NOT NULL
AND
dict_status = 1
<if test= "userId != null" >
AND power_user_dict.user_id = ${userId}
</if>
</select>
<select id= "selectSysType" resultMap= "BaseResultMapVo" >
SELECT
DISTINCT sys_type
FROM
power_sys_dict
WHERE
dict_status = 1 AND sys_name IS NOT NULL
</select>
<!-- 查询全部 -->
<select id= "selectAll" resultMap= "BaseResultMapVo" >
SELECT
dict.dict_id dictId,
dict.parent_id parentId,
dict.dept_id dictDeptId,
dept.dept_id deptId,
dict.hospital_name hospitalName,
dict.sys_name,
dict.sys_flag sysFlag,
dict.sys_type sysType,
dept.dept_name,
dict.hospital_tel,
dict.dict_area
FROM
power_sys_dict dict
LEFT JOIN power_dept dept ON dict.dict_id = dept.dict_id
AND dict.dict_status = 1 AND dept.effective = 1
</select>
<!-- 查询全部 -->
<select id= "selectAllByAdmin" resultMap= "BaseResultMapVo" >
SELECT
dict.dict_id dictId,
dict.parent_id parentId,
dict.dept_id dictDeptId,
dept.dept_id deptIds,
dict.hospital_name hospitalName,
dict.sys_name,
dict.sys_flag sysFlag,
dict.sys_type sysType,
dept.dept_name,
dict.hospital_tel,
dict.dict_area,
dept.creater username
FROM
power_sys_dict dict
LEFT JOIN power_dept dept ON dict.dict_id = dept.dict_id
AND dict.dict_status = 1 AND dept.effective = 1
union all
select
null as dictId,
power_user.role_id,
power_user.user_id dictDeptId,
power_user.dept_id deptIds,
null as hospitalName,
power_user.user_id as sysName,
null as sysFlag,
power_role.role_name sysType,
null as deptName,
power_user.user_tel hospital_tel,
power_user.user_name as dict_area,
power_user.name as username
from power_user
LEFT JOIN (SELECT
dict.dict_id dictId,
dict.parent_id parentId,
dict.dept_id dictDeptId,
dept.dept_id deptIds,
dict.hospital_name hospitalName,
dict.sys_name sysName,
dict.sys_flag sysFlag,
dict.sys_type sysType,
dept.dept_name deptName,
dict.hospital_tel,
dict.dict_area,
dept.creater username
FROM
power_sys_dict dict
LEFT JOIN power_dept dept ON dict.dict_id = dept.dict_id
AND dict.dict_status = 1 AND dept.effective = 1) dict
on FIND_IN_SET(dict.deptIds,power_user.dept_id)
inner join power_role on power_role.role_id = power_user.role_id and power_role.effective = 1 and power_role.role_id != 0 and power_role.role_id != -100
where dict.deptIds is not null and power_user.effective = 1
</select>
<!-- 查询全部系统 -->
<select id= "selectAllSys" resultMap= "BaseResultMapVo" >
SELECT
power_sys_dict.dict_id,power_sys_dict.sys_flag,power_sys_dict.sys_name,power_sys_dict1.hospital_name
FROM
power_sys_dict
LEFT JOIN
power_sys_dict power_sys_dict1
ON power_sys_dict.parent_id = power_sys_dict1.dict_id
WHERE
power_sys_dict.dict_status = 1 AND power_sys_dict.sys_name is not null
GROUP BY power_sys_dict.sys_flag
</select>
<!-- 根据用户id查询全部 -->
<select id= "selectAllByUserId" resultMap= "BaseResultMapVo" parameterType= "java.lang.Integer" >
SELECT DISTINCT
dict.dict_id dictId,
dict.parent_id parentId,
dict.dept_id dictDeptId,
dept.dept_id deptId,
dict.hospital_name hospitalName,
dict.sys_name sysName,
dict.sys_flag sysFlag,
dict.sys_type sysType,
dept.dept_name deptName,
dict.hospital_tel,
dict.dict_area
FROM
(
SELECT
dict_id,
parent_id,
dept_id,
hospital_name,
sys_name,
sys_flag,
hospital_tel,
dict_area,
sys_type
FROM
power_sys_dict
WHERE
FIND_IN_SET(
dept_id,
(
SELECT
dept_id
FROM
power_user
WHERE
user_id = ${userId}
)
)
UNION ALL
SELECT
dict_id,
parent_id,
dept_id,
hospital_name,
sys_name,
sys_flag,
hospital_tel,
dict_area,
sys_type
FROM
power_sys_dict
WHERE
dict_id IN (
SELECT
parent_id
FROM
power_sys_dict
WHERE
FIND_IN_SET(
dept_id,
(
SELECT
dept_id
FROM
power_user
WHERE
user_id = ${userId}
)
)
)
UNION ALL
SELECT
power_sys_dict1.dict_id,
power_sys_dict1.parent_id,
power_sys_dict1.dept_id,
NULL AS hospital_name,
power_sys_dict1.sys_name,
power_sys_dict1.sys_flag,
NULL AS hospital_tel,
NULL AS dict_area,
power_sys_dict1.sys_type
FROM
power_sys_dict
LEFT JOIN power_sys_dict power_sys_dict1 ON power_sys_dict.dict_id = power_sys_dict1.parent_id
AND power_sys_dict1.sys_type = '权限系统'
WHERE
power_sys_dict.dict_id = (
SELECT
dict_id
FROM
power_sys_dict
WHERE
dict_id IN (
SELECT
parent_id
FROM
power_sys_dict
WHERE
FIND_IN_SET(
dept_id,
(
SELECT
dept_id
FROM
power_user
WHERE
user_id = ${userId}
)
)
)
)
) dict
LEFT JOIN power_dept dept ON dict.dept_id = dept.dept_id
</select>
<!-- 查询角色id为 - 100的为该医院所有系统 -->
<select id= "selectAllByHosRoleId" resultMap= "BaseResultMapVo" parameterType= "java.lang.Integer" >
SELECT DISTINCT
dict.dict_id dictId,
dict.parent_id parentId,
dict.dept_id dictDeptId,
dept.dept_id deptIds,
dict.hospital_name hospitalName,
dict.sys_name sysName,
dict.sys_flag sysFlag,
dict.sys_type sysType,
dept.dept_name deptName,
dict.hospital_tel,
dict.dict_area,
dept.creater username
FROM
(
SELECT
dict_id,
parent_id,
dept_id,
hospital_name,
sys_name,
sys_flag,
hospital_tel,
dict_area,
sys_type
FROM
power_sys_dict
WHERE
dict_id = (
SELECT
dict_id
FROM
power_user_dict
WHERE
user_id = #{userId}
)
OR parent_id = (
SELECT
dict_id
FROM
power_user_dict
WHERE
user_id = #{userId}
)
UNION ALL
SELECT
power_sys_dict.dict_id,
power_dept.dict_id parent_id,
power_dept.dept_id,
power_sys_dict.hospital_name,
power_sys_dict.sys_name,
power_sys_dict.sys_flag,
power_sys_dict.hospital_tel,
power_sys_dict.dict_area,
power_sys_dict.sys_type
FROM
power_dept
LEFT JOIN power_sys_dict ON power_dept.dept_id = power_sys_dict.dept_id
WHERE
power_dept.dict_id = (
SELECT
dict_id
FROM
power_user_dict
WHERE
user_id = #{userId}
)
) dict
LEFT JOIN power_dept dept ON dict.dept_id = dept.dept_id
union all
select
null as dictId,
power_user.role_id,
power_user.user_id dictDeptId,
power_user.dept_id deptIds,
null as hospitalName,
power_user.user_id as sysName,
null as sysFlag,
power_role.role_name sysType,
null as deptName,
power_user.user_tel hospital_tel,
power_user.user_name as dict_area,
power_user.name as username
from power_user
left join (SELECT DISTINCT
dict.dict_id dictId,
dict.parent_id parentId,
dict.dept_id dictDeptId,
dept.dept_id deptIds,
dict.hospital_name hospitalName,
dict.sys_name sysName,
dict.sys_flag sysFlag,
dict.sys_type sysType,
dept.dept_name deptName,
dict.hospital_tel,
dict.dict_area
FROM
(
SELECT
dict_id,
parent_id,
dept_id,
hospital_name,
sys_name,
sys_flag,
hospital_tel,
dict_area,
sys_type
FROM
power_sys_dict
WHERE
dict_id = (
SELECT
dict_id
FROM
power_user_dict
WHERE
user_id = #{userId}
)
OR parent_id = (
SELECT
dict_id
FROM
power_user_dict
WHERE
user_id = #{userId}
)
UNION ALL
SELECT
power_sys_dict.dict_id,
power_dept.dict_id parent_id,
power_dept.dept_id,
power_sys_dict.hospital_name,
power_sys_dict.sys_name,
power_sys_dict.sys_flag,
power_sys_dict.hospital_tel,
power_sys_dict.dict_area,
power_sys_dict.sys_type
FROM
power_dept
LEFT JOIN power_sys_dict ON power_dept.dept_id = power_sys_dict.dept_id
WHERE
power_dept.dict_id = (
SELECT
dict_id
FROM
power_user_dict
WHERE
user_id = #{userId}
)
) dict
LEFT JOIN power_dept dept ON dict.dept_id = dept.dept_id
) dict on FIND_IN_SET(dict.deptIds,power_user.dept_id)
inner join power_role on power_role.role_id = power_user.role_id and power_role.effective = 1 and
power_role.role_id != 0 and power_role.role_id != -100
where dict.deptIds is not null and power_user.effective = 1
<if test= "userId != null" >
AND power_user.user_id != #{userId}
</if>
<if test= "roleId != null" >
AND power_user.role_id != #{roleId}
</if>
</select>
<!-- 验证医院名称是否重复 -->
<select id= "checkHospitalName" resultType= "com.manage.vo.Power_Sys_DictVo" >
SELECT
dict_id
FROM
power_sys_dict
WHERE
hospital_name = #{hospitalName}
</select>
<!-- 根据父节点查询医院 -->
<select id= "getHospitalByParentId" resultType= "com.manage.vo.Power_Sys_DictVo" >
SELECT
dict_id,
hospital_name,
hospital_tel,
dict_area
FROM
power_sys_dict
WHERE
parent_id = ${parentId}
<if test= "sysType != null and sysType != ''" >
AND sys_type = #{sysType}
</if>
</select>
<!-- 根据科室id验证系统标识或系统名称是否重复(添加) -->
<select id= "checkSysFlagOrSysNameByDeptIds" resultMap= "BaseResultMap" >
SELECT
dict_id,
dept_id,
sys_flag,
sys_name,
parent_id
FROM
power_sys_dict
WHERE
<if test= "sysFlag != '' or sysName != ''" >
(sys_flag = #{sysFlag} OR sys_name = #{sysName})
</if>
<if test= "deptIds != null and deptIds != ''" >
AND dept_id IN (${deptIds})
</if>
</select>
<!-- 根据科室id验证系统标识或系统名称是否重复(修改) -->
<select id= "checkSysFlagOrSysNameByDeptId" resultMap= "BaseResultMap" >
SELECT
dict_id,
dept_id,
sys_flag,
sys_name,
parent_id
FROM
power_sys_dict
WHERE
<if test= "sysFlag != '' or sysName != ''" >
(sys_flag = #{sysFlag} OR sys_name = #{sysName})
</if>
<if test= "deptIds != null and deptIds != ''" >
AND dept_id IN (${deptIds})
</if>
</select>
<!-- 通过系统标识和系统名称查询集合 -->
<select id= "selectAllBySysFlagAndSysName" resultMap= "BaseResultMap" >
SELECT
power_sys_dict.dict_id
FROM
power_sys_dict
WHERE
sys_flag = #{sysFlag}
AND
sys_name = #{sysName}
</select>
<!-- 通过用户id查询系统标识集合 -->
<select id= "selectSysFlagsByUserId" resultMap= "BaseResultMap" >
SELECT
sys_flag,sort
FROM
power_sys_dict
WHERE
sys_flag = 'power'
AND
dict_status = 1
GROUP BY
sys_flag,sort
UNION ALL
SELECT
sys_flag,sort
FROM
power_sys_dict
WHERE
sys_flag != ''
AND sys_flag != 'power'
<if test= "userId != null and roleId != -100" > AND instr((SELECT dept_id FROM power_user WHERE user_id =
#{userId}),dept_id)
</if>
<if test= "
userId != null and roleId == -100">
AND parent_id = (
SELECT
dict_id
FROM
power_user_dict
WHERE
user_id = #{userId}
)
</if>
AND
dict_status = 1
GROUP BY
sys_flag,sort
</select>
<insert id= "simpleInsertDict" parameterType= "java.util.List" >
INSERT INTO power_sys_dict(
dict_id,
dept_id,
hospital_name,
sys_flag,
sys_name,
dict_area,
hospital_tel,
parent_id,
sys_type,
sort,
dict_status,
dict_edit,
create_date,
creater,
update_date,
updater,
remark)
VALUES
<foreach collection= "list" item= "item" index= "index" separator= "," >
(
#{item.dictId,jdbcType=INTEGER},
#{item.deptId,jdbcType=INTEGER},
#{item.hospitalName,jdbcType=VARCHAR},
#{item.sysFlag,jdbcType=VARCHAR},
#{item.sysName,jdbcType=VARCHAR},
#{item.dictArea,jdbcType=VARCHAR},
#{item.hospitalTel,jdbcType=VARCHAR},
#{item.parentId,jdbcType=INTEGER},
#{item.sysType,jdbcType=VARCHAR},
#{item.sort,jdbcType=INTEGER},
#{item.dictStatus,jdbcType=INTEGER},
#{item.dictEdit,jdbcType=INTEGER},
#{item.createDate,jdbcType=CHAR},
#{item.creater,jdbcType=VARCHAR},
#{item.updateDate,jdbcType=CHAR},
#{item.updater,jdbcType=VARCHAR},
#{item.remark,jdbcType=VARCHAR}
)
</foreach>
</insert>
<select id= "selectDeptIdByParentIdAndSysFlag" resultMap= "BaseResultMap" >
SELECT dept_id FROM power_sys_dict WHERE parent_id = #{parentId} AND sys_flag = #{sysFlag}
<if test= "deptIds != null and deptIds != ''" >
AND dept_id in (${deptIds})
</if>
</select>
<select id= "selectLastDict" resultType= "java.lang.Integer" >
SELECT max(dict_id) FROM power_sys_dict
</select>
</mapper>