<?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="org.springblade.modules.system.mapper.UserMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="userResultMap" type="org.springblade.modules.system.entity.User">
|
<result column="id" property="id"/>
|
<result column="tenant_id" property="tenantId"/>
|
<result column="create_user" property="createUser"/>
|
<result column="create_time" property="createTime"/>
|
<result column="update_user" property="updateUser"/>
|
<result column="update_time" property="updateTime"/>
|
<result column="status" property="status"/>
|
<result column="is_deleted" property="isDeleted"/>
|
<result column="code" property="code"/>
|
<result column="user_type" property="userType"/>
|
<result column="account" property="account"/>
|
<result column="password" property="password"/>
|
<result column="name" property="name"/>
|
<result column="real_name" property="realName"/>
|
<result column="email" property="email"/>
|
<result column="phone" property="phone"/>
|
<result column="birthday" property="birthday"/>
|
<result column="sex" property="sex"/>
|
<result column="role_id" property="roleId"/>
|
<result column="dept_id" property="deptId"/>
|
<result column="post_id" property="postId"/>
|
<result column="cardid" property="cardid"/>
|
<result column="nativeplace" property="nativeplace"/>
|
<result column="nation" property="nation"/>
|
<result column="education" property="education"/>
|
<result column="politicaloutlook" property="politicaloutlook"/>
|
<result column="height" property="height"/>
|
<result column="cell" property="cell"/>
|
<result column="emails" property="emails"/>
|
<result column="address" property="address"/>
|
<result column="registered" property="registered"/>
|
<result column="rtime" property="rtime"/>
|
<result column="hold" property="hold"/>
|
<result column="jurisdiction" property="jurisdiction"/>
|
<result column="securitynumber" property="securitynumber"/>
|
<result column="fingerprint" property="fingerprint"/>
|
<result column="photo" property="photo"/>
|
<result column="dispatch" property="dispatch"/>
|
<result column="my_picture" property="myPicture"/>
|
<result column="soil" property="soil"/>
|
<result column="healstats" property="healstats"/>
|
</resultMap>
|
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="userResultMaps" type="org.springblade.modules.system.vo.UserVO">
|
<result column="id" property="id"/>
|
<result column="tenant_id" property="tenantId"/>
|
<result column="create_user" property="createUser"/>
|
<result column="create_time" property="createTime"/>
|
<result column="update_user" property="updateUser"/>
|
<result column="update_time" property="updateTime"/>
|
<result column="status" property="status"/>
|
<result column="is_deleted" property="isDeleted"/>
|
<result column="code" property="code"/>
|
<result column="user_type" property="userType"/>
|
<result column="account" property="account"/>
|
<result column="password" property="password"/>
|
<result column="name" property="name"/>
|
<result column="real_name" property="realName"/>
|
<result column="email" property="email"/>
|
<result column="phone" property="phone"/>
|
<result column="birthday" property="birthday"/>
|
<result column="sex" property="sex"/>
|
<result column="role_id" property="roleId"/>
|
<result column="dept_id" property="deptId"/>
|
<result column="post_id" property="postId"/>
|
<result column="cardid" property="cardid"/>
|
<result column="nativeplace" property="nativeplace"/>
|
<result column="nation" property="nation"/>
|
<result column="education" property="education"/>
|
<result column="politicaloutlook" property="politicaloutlook"/>
|
<result column="height" property="height"/>
|
<result column="cell" property="cell"/>
|
<result column="emails" property="emails"/>
|
<result column="address" property="address"/>
|
<result column="registered" property="registered"/>
|
<result column="rtime" property="rtime"/>
|
<result column="hold" property="hold"/>
|
<result column="jurisdiction" property="jurisdiction"/>
|
<result column="securitynumber" property="securitynumber"/>
|
<result column="fingerprint" property="fingerprint"/>
|
<result column="photo" property="photo"/>
|
<result column="dispatch" property="dispatch"/>
|
<result column="my_picture" property="myPicture"/>
|
</resultMap>
|
|
<select id="selectUserPage" resultMap="userResultMap">
|
select * from blade_user where is_deleted = 0
|
<if test="user.tenantId!=null and user.tenantId != ''">
|
and tenant_id = #{user.tenantId}
|
</if>
|
<if test="user.account!=null and user.account != ''">
|
and account like concat('%', #{user.account},'%')
|
</if>
|
<if test="user.realName!=null and user.realName != ''">
|
and real_name like concat('%', #{user.realName},'%')
|
</if>
|
<if test="user.deptId!=null and user.deptId != ''">
|
and dept_id like concat(concat('%', #{user.deptId}),'%')
|
</if>
|
<if test="user.userType!=null and user.userType != ''">
|
and user_type = #{user.userType}
|
</if>
|
<if test="user.nativeplace!=null and user.nativeplace != ''">
|
and nativeplace = #{user.nativeplace}
|
</if>
|
<if test="user.examinationType!=null and user.examinationType != ''">
|
and examination_type = #{user.examinationType}
|
</if>
|
<if test="user.sex!=null and user.sex != ''">
|
and sex = #{user.sex}
|
</if>
|
<if test="user.status!=null and user.status != ''">
|
and status = #{user.status}
|
</if>
|
<if test="user.hold!=null and user.hold != ''">
|
and hold = #{user.hold}
|
</if>
|
<if test="user.jurisdiction!=null and user.jurisdiction != ''">
|
and jurisdiction = #{user.jurisdiction}
|
</if>
|
<if test="user.securitynumber!=null and user.securitynumber != ''">
|
and securitynumber = #{user.securitynumber}
|
</if>
|
<if test="deptIdList!=null and deptIdList.size>0">
|
and id in (
|
SELECT
|
user_id
|
FROM
|
blade_user_dept
|
WHERE
|
dept_id IN
|
<foreach collection="deptIdList" index="index" item="item" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
)
|
</if>
|
ORDER BY id
|
</select>
|
|
<select id="selectUserPages" resultMap="userResultMaps">
|
select
|
bu.*,
|
ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(bu.cardid, 7, 8), CURDATE()),0) AS age,
|
p.score
|
from
|
blade_user bu
|
left join
|
sys_information si
|
on
|
si.departmentid = bu.dept_id
|
LEFT JOIN blade_dept d ON bu.dept_id = d.id
|
LEFT JOIN sys_jurisdiction j ON j.id = si.jurisdiction
|
LEFT JOIN sys_performance p ON p.cardid = bu.cardid
|
where bu.is_deleted = 0
|
and bu.status = 1
|
<if test="user.realName!=null and user.realName != ''">
|
and bu.real_name like concat(concat('%', #{user.realName}),'%')
|
</if>
|
<if test="user.deptId!=null and user.deptId != ''">
|
and bu.dept_id like concat(concat('%', #{user.deptId}),'%')
|
</if>
|
<if test="user.userType!=null and user.userType != ''">
|
and bu.user_type = #{user.userType}
|
</if>
|
<if test="user.nativeplace!=null and user.nativeplace != ''">
|
and bu.nativeplace = #{user.nativeplace}
|
</if>
|
<if test="user.examinationType!=null and user.examinationType != ''">
|
and bu.examination_type = #{user.examinationType}
|
</if>
|
<if test="user.sex!=null and user.sex != ''">
|
and bu.sex = #{user.sex}
|
</if>
|
<if test="user.hold!=null and user.hold != ''">
|
and bu.hold = #{user.hold}
|
</if>
|
<if test="user.types!=null and user.types=='1'.toString()">
|
and to_days(bu.audit_time) = to_days(now())
|
</if>
|
<if test="user.types!=null and user.types=='2'.toString()">
|
and DATE_FORMAT(bu.audit_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
|
</if>
|
<if test="user.jurisdiction!=null and user.jurisdiction!='' and user.jurisdiction!='1372091709474910209'">
|
and (j.id = #{user.jurisdiction} or j.parent_id = #{user.jurisdiction})
|
</if>
|
<if test="user.securitynumber!=null and user.securitynumber != ''">
|
and bu.securitynumber = #{user.securitynumber}
|
</if>
|
<if test="user.score!=null and user.score != ''">
|
and p.score = 3
|
</if>
|
ORDER BY bu.id desc
|
</select>
|
|
|
<!--保安员列表-->
|
<select id="selectUserPageSecurity" resultMap="userResultMaps">
|
select
|
bu.*,
|
ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(bu.cardid, 7, 8), CURDATE()),0) AS age,
|
bd.dept_name as deptName
|
from
|
blade_user bu
|
left join
|
blade_dept bd
|
on
|
bu.dept_id = bd.id
|
left join
|
blade_role br
|
on
|
br.id = bu.role_id
|
left join
|
sys_information si
|
on
|
si.departmentid = bd.id
|
left join
|
sys_jurisdiction sj
|
on
|
sj.id = si.jurisdiction
|
where
|
bu.is_deleted = 0
|
and
|
br.role_alias = "安保人员"
|
and
|
bu.status = 1
|
<if test="user.deptId!=null and user.deptId!=''">
|
and bd.id in
|
(
|
select id from blade_dept where id = #{user.deptId}
|
union
|
SELECT
|
id
|
FROM
|
(
|
SELECT
|
t1.id,t1.parent_id,t1.dept_name,
|
IF
|
( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
|
FROM
|
( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
|
( SELECT @pids := #{user.deptId} ) t2
|
) t3
|
WHERE
|
ischild != 0
|
)
|
</if>
|
<if test="user.cardid!=null and user.cardid != ''">
|
and bu.cardid like concat(concat('%', #{user.cardid}),'%')
|
</if>
|
<if test="user.realName!=null and user.realName != ''">
|
and bu.real_name like concat(concat('%', #{user.realName}),'%')
|
</if>
|
<if test="user.deptName!=null and user.deptName != ''">
|
and bd.dept_name like concat('%', #{user.deptName},'%')
|
</if>
|
<if test="user.userType!=null and user.userType != ''">
|
and bu.user_type = #{user.userType}
|
</if>
|
<if test="user.nativeplace!=null and user.nativeplace != ''">
|
and bu.nativeplace = #{user.nativeplace}
|
</if>
|
<if test="user.sex!=null and user.sex != ''">
|
and bu.sex = #{user.sex}
|
</if>
|
<if test="user.examinationType==0">
|
and (bu.examination_type = #{user.examinationType} or bu.examination_type is null or bu.examination_type="")
|
</if>
|
<if test="user.examinationType==1">
|
and bu.examination_type = #{user.examinationType}
|
</if>
|
<if test="user.status!=null and user.status != ''">
|
and bu.status = #{user.status}
|
</if>
|
<if test="user.hold!=null and user.hold != ''">
|
and bu.hold = #{user.hold}
|
</if>
|
<if test="user.type!=null">
|
and bu.equipment_code is not null
|
</if>
|
<if test="user.jurisdiction!=null and user.jurisdiction != '' and user.jurisdiction != '1372091709474910209'">
|
and (sj.id = #{user.jurisdiction} or sj.parent_id = #{user.jurisdiction})
|
</if>
|
<if test="user.securitynumber!=null and user.securitynumber != ''">
|
and bu.securitynumber like concat('%', #{user.securitynumber},'%')
|
</if>
|
<if test="user.startTime!=null and user.startTime!=''">
|
and bu.audit_time >= #{user.startTime}
|
</if>
|
<if test="user.endTime!=null and user.endTime!=''">
|
and bu.audit_time <= #{user.endTime}
|
</if>
|
<if test="user.useName==null or user.useName==''">
|
order by bu.id desc
|
</if>
|
<if test="user.useName!=null and user.useName!='' and user.useName=='examinationType'">
|
order by bu.examination_type ${user.sort},bu.id
|
</if>
|
<if test="user.useName!=null and user.useName!='' and user.useName=='examinationMx'">
|
order by bu.examination_mx ${user.sort},bu.id
|
</if>
|
</select>
|
|
|
<select id="getUser" resultMap="userResultMap">
|
SELECT *
|
FROM blade_user
|
WHERE tenant_id = #{param1}
|
and account = #{param2}
|
and password = #{param3}
|
and is_deleted = 0
|
</select>
|
|
<select id="exportUser" resultType="org.springblade.modules.system.excel.UserExcel">
|
SELECT id,
|
tenant_id,
|
user_type,
|
account,
|
name,
|
real_name,
|
email,
|
phone,
|
birthday,
|
role_id,
|
dept_id,
|
post_id
|
FROM blade_user ${ew.customSqlSegment}
|
</select>
|
|
<update id="updateUser">
|
update blade_user
|
set hold=#{hold}
|
where cardid = #{cardid}
|
</update>
|
|
<!--查询所有未注销用户-->
|
<select id="getAllUserList" resultType="org.springblade.modules.system.entity.User">
|
select id, cardid
|
from blade_user
|
where is_deleted = 0
|
</select>
|
|
<!--查询用户数据,未审核的-->
|
<select id="getNotAuditAllUserList" resultType="org.springblade.modules.system.entity.User">
|
select id, cardid
|
from blade_user
|
where 1 = 1
|
and (examination_type is null or examination_type = "" or examination_type = null)
|
</select>
|
|
<!--根据保安员编码查询保安信息-->
|
<select id="getUserInfoBySecurityNumber" resultType="org.springblade.modules.system.vo.UserVO">
|
select bu.*,
|
ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(bu.cardid, 7, 8), CURDATE()),0) AS age,
|
bd.dept_name deptName
|
from blade_user bu
|
left join
|
blade_dept bd
|
on
|
bu.dept_id = bd.id
|
where securitynumber = #{securityNumber}
|
and bu.status = 1
|
and bu.is_deleted = 0
|
</select>
|
|
<!--保安员列表-->
|
<select id="exportSecurity" resultType="org.springblade.modules.system.excel.SecurityExcel">
|
select
|
bu.real_name realName,
|
bd.dept_name as deptName,
|
if(bu.sex=1,'男','女') sex,
|
bu.cardid,
|
ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(bu.cardid, 7, 8), CURDATE()),0) AS age,
|
bu.phone,
|
if(bu.examination_type=1,'异常','正常') examinationType,
|
bu.examination_mx examinationMx,
|
bu.audit_time auditTime
|
from
|
blade_user bu
|
left join
|
blade_dept bd
|
on
|
bu.dept_id = bd.id
|
left join
|
blade_role br
|
on
|
br.id = bu.role_id
|
left join
|
sys_information si
|
on
|
si.departmentid = bd.id
|
left join
|
sys_jurisdiction sj
|
on
|
sj.id = si.jurisdiction
|
where
|
bu.is_deleted = 0
|
and
|
br.role_alias = "安保人员"
|
and
|
bu.status = 1
|
<if test="user.jurisdiction!=null and user.jurisdiction != '' and user.jurisdiction != '1372091709474910209'">
|
and (sj.id = #{user.jurisdiction} or sj.parent_id = #{user.jurisdiction})
|
</if>
|
<if test="user.cardid!=null and user.cardid != ''">
|
and bu.cardid like concat(concat('%', #{user.cardid}),'%')
|
</if>
|
<if test="user.realName!=null and user.realName != ''">
|
and bu.real_name like concat(concat('%', #{user.realName}),'%')
|
</if>
|
<if test="user.userType!=null and user.userType != ''">
|
and bu.user_type = #{user.userType}
|
</if>
|
<if test="user.nativeplace!=null and user.nativeplace != ''">
|
and bu.nativeplace = #{user.nativeplace}
|
</if>
|
<if test="user.sex!=null and user.sex != ''">
|
and bu.sex = #{user.sex}
|
</if>
|
<if test="user.status!=null and user.status != ''">
|
and bu.status = #{user.status}
|
</if>
|
<if test="user.hold!=null and user.hold != ''">
|
and bu.hold = #{user.hold}
|
</if>
|
<if test="user.securitynumber!=null and user.securitynumber != ''">
|
and bu.securitynumber like concat('%', #{user.securitynumber},'%')
|
</if>
|
<if test="user.deptName!=null and user.deptName != ''">
|
and bd.dept_name like concat('%', #{user.deptName},'%')
|
</if>
|
<if test="user.deptId!=null and user.deptId!=''">
|
and bd.id in
|
(
|
select id from blade_dept where id = #{user.deptId}
|
union
|
SELECT
|
id
|
FROM
|
(
|
SELECT
|
t1.id,t1.parent_id,t1.dept_name,
|
IF
|
( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
|
FROM
|
( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
|
( SELECT @pids := #{user.deptId} ) t2
|
) t3
|
WHERE
|
ischild != 0
|
)
|
</if>
|
<if test="user.startTime!=null and user.startTime!=''">
|
and bu.audit_time >= #{user.startTime}
|
</if>
|
<if test="user.endTime!=null and user.endTime!=''">
|
and bu.audit_time <= #{user.endTime}
|
</if>
|
<if test="user.examinationType==0">
|
and (bu.examination_type = #{user.examinationType} or bu.examination_type is null or bu.examination_type="")
|
</if>
|
<if test="user.examinationType==1">
|
and bu.examination_type = #{user.examinationType}
|
</if>
|
<if test="user.useName==null or user.useName==''">
|
order by bu.examination_type desc,bu.id
|
</if>
|
<if test="user.useName!=null and user.useName!='' and user.useName=='examinationType'">
|
order by bu.examination_type ${user.sort}
|
</if>
|
<if test="user.useName!=null and user.useName!='' and user.useName=='examinationMx'">
|
order by bu.examination_mx ${user.sort}
|
</if>
|
</select>
|
|
<select id="selectPeo" resultType="java.util.HashMap">
|
select
|
bu.*,
|
ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(bu.cardid, 7, 8), CURDATE()),0) AS age,
|
bd.dept_name as deptName
|
from
|
blade_user bu
|
left join
|
blade_dept bd
|
on
|
bu.dept_id = bd.id
|
left join
|
blade_role br
|
on
|
br.id = bu.role_id
|
left join
|
sys_information si
|
on
|
si.departmentid = bd.id
|
left join
|
sys_jurisdiction sj
|
on
|
sj.id = si.jurisdiction
|
where
|
bu.is_deleted = 0
|
and
|
br.role_alias = "安保人员"
|
and
|
bu.status = 1
|
and bd.parent_id!=1425365577303621633
|
and bd.id != 1425365577303621633
|
and bd.id != 1432625856013971457
|
<if test="user.deptId!=null and user.deptId!=''">
|
and bd.id in
|
(
|
select id from blade_dept where id = #{user.deptId}
|
union
|
SELECT
|
id
|
FROM
|
(
|
SELECT
|
t1.id,t1.parent_id,t1.dept_name,
|
IF
|
( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
|
FROM
|
( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
|
( SELECT @pids := #{user.deptId} ) t2
|
) t3
|
WHERE
|
ischild != 0
|
)
|
</if>
|
<if test="user.type!=null">
|
and bu.equipment_code is not null
|
</if>
|
</select>
|
|
<!--查询当前部门名称及父级部门名称-->
|
<select id="getDeptName" resultType="java.lang.String">
|
(select dept_name from blade_dept where id = #{deptId} and 1=1)
|
union
|
(
|
select dept_name from blade_dept where id = (select parent_id from blade_dept where id= #{deptId} and 1=1)
|
)
|
</select>
|
</mapper>
|