171 lines
7.7 KiB
XML
171 lines
7.7 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.adc.da.slrs.sarInstitution.dao.TsInstitutionDao">
|
|
<resultMap id="InstitutionAndUser" type="com.adc.da.slrs.sarInstitution.entity.TsInstitution">
|
|
<id column="id" property="id"/>
|
|
<result column="parent_id" property="parentId"/>
|
|
<result column="level" property="level"/>
|
|
<result column="name" property="name"/>
|
|
<result column="has_child" property="hasChild"/>
|
|
<collection property="users" ofType="com.adc.da.slrs.sarInstitution.entity.TsUserVO">
|
|
<result column="usid" property="id"/>
|
|
<result column="account" property="account"/>
|
|
<result column="uname" property="name"/>
|
|
<result column="institution_id" property="institutionId"/>
|
|
</collection>
|
|
</resultMap>
|
|
|
|
<resultMap id="TsInstitution" type="com.adc.da.slrs.sarInstitution.entity.TsInstitution">
|
|
<result column="parent_id" property="parentId"/>
|
|
<result column="level" property="level"/>
|
|
<result column="name" property="name"/>
|
|
<result column="has_child" property="hasChild"/>
|
|
</resultMap>
|
|
<resultMap id="TreeVoMap" type="com.adc.da.slrs.sarInstitution.entity.TreeVo">
|
|
<result column="USID" property="id"/>
|
|
<result column="INSTITUTION_ID" property="parentId"/>
|
|
<result column="UNAME" property="name"/>
|
|
</resultMap>
|
|
<resultMap id="TreeVoMap2" type="com.adc.da.slrs.sarInstitution.entity.TreeVo">
|
|
<result column="id" property="id"/>
|
|
<result column="name" property="name"/>
|
|
</resultMap>
|
|
|
|
<resultMap id="TsUser" type="com.adc.da.slrs.sarInstitution.entity.TsUserVO">
|
|
<result column="usid" property="id"/>
|
|
<result column="account" property="account"/>
|
|
<result column="uname" property="name"/>
|
|
<result column="institution_id" property="institutionId"/>
|
|
</resultMap>
|
|
|
|
<!-- 只查询这个部门下的子一级部门-->
|
|
<select id="selectNextInstitution" resultMap="TsInstitution">
|
|
select * from ts_institution
|
|
WHERE parent_id=#{institutionId}
|
|
</select>
|
|
|
|
<select id="selectPreviousInstitution" resultMap="TsUser">
|
|
select * from ts_user
|
|
<where>
|
|
<if test="userName != null and userName != '' ">
|
|
( ts_user.ACCOUNT like concat(concat('%',#{userName}),'%') or ts_user.UNAME like concat(concat('%',#{userName}),'%') )
|
|
</if>
|
|
</where>
|
|
</select>
|
|
<select id="selectInstitution" resultType="com.adc.da.slrs.sarInstitution.entity.TsInstitution">
|
|
select * from ts_institution
|
|
WHERE
|
|
id IN
|
|
<foreach collection="pId" index="index" item="item" open="(" separator="," close=")">
|
|
#{item}
|
|
</foreach>
|
|
</select>
|
|
|
|
<select id="selectNextUsers" resultMap="TsUser">
|
|
select ts_user.EMAIL,ts_user.ACCOUNT,ts_user.CREATION_TIME,ts_user.DISABLE_FLAG,ts_user.EXT_INFO,ts_user.USID,
|
|
ts_user.INSTITUTION_ID,t2.name as INSTITUTION_NAME,ts_user.MODIFY_TIME,ts_user.OPER_USER,ts_user.PASSWORD,ts_user.PHONE,
|
|
ts_user.POSITION_ID,ts_user.POSITION_NAME,ts_user.SEX,ts_user.SSO_ID,ts_user.STATE,ts_user.UNLOCK_FLAG,ts_user.USER_SOURCE,
|
|
ts_user.USER_TYPE,ts_user.VALID_FLAG,ts_user.WORK_NUM,concat(ts_user.UNAME,concat(concat("(",ts_user.ACCOUNT),")")) as uname,
|
|
ts_institution.name as unit,ts_institution.id as unitId
|
|
from ts_user
|
|
left join ts_institution ON ts_institution.id = (SELECT parent_id from ts_institution WHERE id = ts_user.INSTITUTION_ID)
|
|
left join ts_institution t2 on t2.id=ts_user.INSTITUTION_ID
|
|
WHERE 1=1
|
|
<if test="institutionIds != null and institutionIds.size()> 0 ">
|
|
and ts_user.INSTITUTION_ID in
|
|
<foreach collection="institutionIds" index="index" item="item" open="(" separator="," close=")">
|
|
#{item}
|
|
</foreach>
|
|
|
|
</if>
|
|
order by ts_institution.id
|
|
</select>
|
|
|
|
<!-- 查询当前用户上几级部门-->
|
|
<select id="selectNowInst" resultMap="TsInstitution">
|
|
SELECT * from ts_institution where FIND_IN_SET(id,queryChildrenInstitution(#{institutionId},#{topNum}));
|
|
</select>
|
|
|
|
<!-- 只查询这个部门下的子一级人员-->
|
|
<select id="selectNextUser" resultMap="TsUser">
|
|
select ts_user.EMAIL,ts_user.ACCOUNT,ts_user.CREATION_TIME,ts_user.DISABLE_FLAG,ts_user.EXT_INFO,ts_user.USID,
|
|
ts_user.INSTITUTION_ID,t2.name as INSTITUTION_NAME,ts_user.MODIFY_TIME,ts_user.OPER_USER,ts_user.PASSWORD,ts_user.PHONE,
|
|
ts_user.POSITION_ID,ts_user.POSITION_NAME,ts_user.SEX,ts_user.SSO_ID,ts_user.STATE,ts_user.UNLOCK_FLAG,ts_user.USER_SOURCE,
|
|
ts_user.USER_TYPE,ts_user.VALID_FLAG,ts_user.WORK_NUM,concat(ts_user.UNAME,concat(concat("(",ts_user.ACCOUNT),")")) as uname,
|
|
ts_institution.name as unit,ts_institution.id as unitId
|
|
from ts_user
|
|
left join ts_institution ON ts_institution.id = (SELECT parent_id from ts_institution WHERE id = ts_user.INSTITUTION_ID)
|
|
left join ts_institution t2 on t2.id=ts_user.INSTITUTION_ID
|
|
WHERE institution_id=#{institutionId}
|
|
<if test="userName != null and userName != '' ">
|
|
and ( ts_user.ACCOUNT like concat(concat('%',#{userName}),'%') or ts_user.UNAME like concat(concat('%',#{userName}),'%') )
|
|
</if>
|
|
</select>
|
|
|
|
<select id="selectNextUserByIds" resultMap="TsUser">
|
|
select ts_user.EMAIL,ts_user.ACCOUNT,ts_user.CREATION_TIME,ts_user.DISABLE_FLAG,ts_user.EXT_INFO,ts_user.USID,
|
|
ts_user.INSTITUTION_ID,ts_institution.name as INSTITUTION_NAME,ts_user.MODIFY_TIME,ts_user.OPER_USER,ts_user.PASSWORD,ts_user.PHONE,
|
|
ts_user.POSITION_ID,ts_user.POSITION_NAME,ts_user.SEX,ts_user.SSO_ID,ts_user.STATE,ts_user.UNLOCK_FLAG,ts_user.USER_SOURCE,
|
|
ts_user.USER_TYPE,ts_user.VALID_FLAG,ts_user.WORK_NUM,concat(ts_user.UNAME,concat(concat("(",ts_user.ACCOUNT),")")) as uname
|
|
from ts_user
|
|
left join ts_institution on ts_user.INSTITUTION_ID=ts_institution.id
|
|
WHERE 1=1
|
|
<if test="ids != null and ids.size()> 0 ">
|
|
and ts_user.USID in
|
|
<foreach collection="ids" index="index" item="item" open="(" separator="," close=")">
|
|
#{item}
|
|
</foreach>
|
|
</if>
|
|
</select>
|
|
|
|
<select id="selectTreeByIds" resultMap="TsInstitution">
|
|
<foreach collection="rootIds" item="id">
|
|
SELECT
|
|
*
|
|
FROM
|
|
ts_institution
|
|
WHERE
|
|
FIND_IN_SET(
|
|
id,
|
|
GET_PARENT_NODE (#{id})
|
|
);
|
|
</foreach>
|
|
|
|
|
|
</select>
|
|
|
|
|
|
<select id="selectRootAndUser" resultMap="InstitutionAndUser">
|
|
select i.*,u.usid,u.account,u.uname,u.institution_id from ts_institution i
|
|
left join ts_user u
|
|
on i.id=u.institution_id
|
|
<if test="userName == null">
|
|
where i.parent_id not in (select id from ts_institution) order by i.name
|
|
</if>
|
|
|
|
<if test="userName != null">
|
|
|
|
where u.uname like concat('%','${userName}','%') or u.account like concat('%','${userName}','%')
|
|
</if>
|
|
</select>
|
|
|
|
<select id="selectAndUserByParent" resultMap="InstitutionAndUser">
|
|
select i.*,u.usid,u.account,u.uname,u.institution_id from ts_institution i
|
|
left join ts_user u
|
|
on i.id=u.institution_id
|
|
where i.parent_id = #{parentId}
|
|
</select>
|
|
|
|
<insert id="batchInsert">
|
|
insert into ts_institution (id,name,parent_id) values
|
|
<foreach collection="list" item="institution" separator=",">
|
|
( #{institution.id},#{institution.name},#{institution.parentId} )
|
|
</foreach>
|
|
|
|
</insert>
|
|
|
|
<delete id="clearData">
|
|
delete from ts_institution
|
|
</delete>
|
|
</mapper>
|