<?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.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="dispatch" property="dispatch"/>
|
<result column="my_picture" property="myPicture"/>
|
<result column="is_apply" property="isApply"/>
|
<result column="is_apply" property="isApply"/>
|
<result column="is_train" property="isTrain"/>
|
<result column="birthtime" property="birthtime"/>
|
<result column="healstats" property="healstats"/>
|
<result column="soil" property="soil"/>
|
<result column="reason_for_leav" property="reasonForLeav"/>
|
</resultMap>
|
|
<!--带坐标-->
|
<select id="selectUserPages" resultMap="userResultMap">
|
select
|
distinct
|
bu.*,IF(mod(SUBSTR(bu.cardid,17,1),2),1,2) sexs,
|
ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(bu.cardid, 7, 8), CURDATE()),0) AS age,
|
sll.longitude,sll.latitude,
|
bd.dept_name
|
from
|
blade_user bu
|
left join
|
blade_dept bd
|
on
|
bu.dept_id = bd.id
|
left join
|
sys_information si
|
on
|
si.departmentid = bd.id
|
left join
|
sys_jurisdiction sj
|
on
|
sj.id = si.jurisdiction
|
left join
|
sys_live_location sll
|
on
|
sll.worker_id = bu.id
|
left join
|
blade_role br
|
on
|
br.id = bu.role_id
|
left join
|
sys_training_registration str
|
on
|
bu.id = str.user_id
|
where
|
bu.is_deleted = 0
|
<if test="user.examinationType!=null and user.examinationType != ''">
|
<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>
|
<if test="user.account!=null and user.account != ''">
|
and bu.account like concat('%', #{user.account},'%')
|
</if>
|
<if test="user.hold!=null and user.hold != ''">
|
and bu.hold = #{user.hold}
|
</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.roleId!=null and user.roleId != ''">
|
and bu.role_id = #{user.roleId}
|
</if>
|
<if test="user.roleAlias!=null and user.roleAlias != ''">
|
and br.role_alias = '保安'
|
</if>
|
<if test="user.status!=null and user.status != 6">
|
and bu.status = #{user.status}
|
</if>
|
<if test="user.isFreeze!=null">
|
and bu.is_freeze = #{user.isFreeze}
|
</if>
|
<if test="user.education!=null and user.education != ''">
|
and bu.education = #{user.education}
|
</if>
|
<if test="user.trainingUnitId!=null and user.trainingUnitId != ''">
|
and str.training_unit_id = #{user.trainingUnitId}
|
</if>
|
<if test="user.deptName!=null and user.deptName != ''">
|
and bd.dept_name like concat('%', #{user.deptName},'%')
|
</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.realName!=null and user.realName != ''">
|
and bu.real_name like concat('%', #{user.realName},'%')
|
</if>
|
<if test="user.dispatch!=null and user.dispatch != ''">
|
<if test="user.dispatch == 0">
|
and bu.dispatch = #{user.dispatch}
|
</if>
|
<if test="user.dispatch == 1">
|
and bu.dispatch = #{user.dispatch}
|
</if>
|
</if>
|
<if test="user.isAvatar==1">
|
and bu.avatar is not null and bu.avatar!=""
|
</if>
|
<if test="user.isAvatar==2">
|
and (bu.avatar is null or bu.avatar="")
|
</if>
|
<if test="user.ageType==1">
|
and age >=18 and age <=30
|
</if>
|
<if test="user.ageType==2">
|
and age >30 and age <=45
|
</if>
|
<if test="user.ageType==3">
|
and age >45 and age <=60
|
</if>
|
<if test="user.isFingerprint==1">
|
and bu.fingerprint is not null and bu.fingerprint!=""
|
</if>
|
<if test="user.isFingerprint==2">
|
and (bu.fingerprint is null or bu.fingerprint="")
|
</if>
|
<if test="user.userType!=null and user.userType != ''">
|
and bu.user_type = #{user.userType}
|
</if>
|
<if test="user.securitynumber!=null and user.securitynumber != ''">
|
and bu.securitynumber like concat('%', #{user.securitynumber},'%')
|
</if>
|
<if test="user.cardid!=null and user.cardid != ''">
|
and bu.cardid like concat('%', #{user.cardid},'%')
|
</if>
|
<if test="user.unitName!=null and user.unitName != ''">
|
and bu.unit_name like concat('%', #{user.unitName},'%')
|
</if>
|
<if test="user.sortName!=null and user.sortName!=''">
|
ORDER BY bu.${user.sortName} ${user.sort},bu.id desc
|
</if>
|
<if test="user.sortName==null or user.sortName==''">
|
ORDER BY bu.id desc
|
</if>
|
</select>
|
|
|
<!--带坐标,按年龄分布查询-->
|
<select id="selectUserPagesByAge" resultMap="userResultMap">
|
select * from
|
(
|
select
|
distinct
|
bu.*,IF(mod(SUBSTR(bu.cardid,17,1),2),1,2) sexs,
|
ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(bu.cardid, 7, 8), CURDATE()),0) AS age,
|
sll.longitude,sll.latitude,
|
bd.dept_name
|
from
|
blade_user bu
|
left join
|
blade_dept bd
|
on
|
bu.dept_id = bd.id
|
left join
|
sys_information si
|
on
|
si.departmentid = bd.id
|
left join
|
sys_jurisdiction sj
|
on
|
sj.id = si.jurisdiction
|
left join
|
sys_live_location sll
|
on
|
sll.worker_id = bu.id
|
left join
|
blade_role br
|
on
|
br.id = bu.role_id
|
left join
|
sys_training_registration str
|
on
|
bu.id = str.user_id
|
where
|
bu.is_deleted = 0
|
<if test="user.examinationType!=null and user.examinationType != ''">
|
<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>
|
<if test="user.account!=null and user.account != ''">
|
and bu.account like concat('%', #{user.account},'%')
|
</if>
|
<if test="user.isFreeze!=null">
|
and bu.is_freeze = #{user.isFreeze}
|
</if>
|
<if test="user.hold!=null and user.hold != ''">
|
and bu.hold = #{user.hold}
|
</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.roleId!=null and user.roleId != ''">
|
and bu.role_id = #{user.roleId}
|
</if>
|
<if test="user.roleAlias!=null and user.roleAlias != ''">
|
and br.role_alias = '保安'
|
</if>
|
<if test="user.status!=null and user.status != '' and user.status != 6">
|
and bu.status = #{user.status}
|
</if>
|
<if test="user.education!=null and user.education != ''">
|
and bu.education = #{user.education}
|
</if>
|
<if test="user.trainingUnitId!=null and user.trainingUnitId != ''">
|
and str.training_unit_id = #{user.trainingUnitId}
|
</if>
|
<if test="user.deptName!=null and user.deptName != ''">
|
and bd.dept_name like concat('%', #{user.deptName},'%')
|
</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.realName!=null and user.realName != ''">
|
and bu.real_name like concat('%', #{user.realName},'%')
|
</if>
|
<if test="user.unitName!=null and user.unitName != ''">
|
and bu.unit_name like concat('%', #{user.unitName},'%')
|
</if>
|
<if test="user.dispatch!=null and user.dispatch != ''">
|
<if test="user.dispatch == 0">
|
and bu.dispatch = #{user.dispatch}
|
</if>
|
<if test="user.dispatch == 1">
|
and bu.dispatch = #{user.dispatch}
|
</if>
|
</if>
|
<if test="user.isAvatar==1">
|
and bu.avatar is not null and bu.avatar!=""
|
</if>
|
<if test="user.isAvatar==2">
|
and (bu.avatar is null or bu.avatar="")
|
</if>
|
|
<if test="user.isFingerprint==1">
|
and bu.fingerprint is not null and bu.fingerprint!=""
|
</if>
|
<if test="user.isFingerprint==2">
|
and (bu.fingerprint is null or bu.fingerprint="")
|
</if>
|
<if test="user.userType!=null and user.userType != ''">
|
and bu.user_type = #{user.userType}
|
</if>
|
<if test="user.securitynumber!=null and user.securitynumber != ''">
|
and bu.securitynumber like concat('%', #{user.securitynumber},'%')
|
</if>
|
<if test="user.cardid!=null and user.cardid != ''">
|
and bu.cardid like concat('%', #{user.cardid},'%')
|
</if>
|
<if test="user.sortName!=null and user.sortName!=''">
|
ORDER BY bu.${user.sortName} ${user.sort},bu.id desc
|
</if>
|
<if test="user.sortName==null or user.sortName==''">
|
ORDER BY bu.id desc
|
</if>
|
) user
|
where 1=1
|
<if test="user.ageType==1">
|
and age >=18 and age <=30
|
</if>
|
<if test="user.ageType==2">
|
and age >30 and age <=45
|
</if>
|
<if test="user.ageType==3">
|
and age >45 and age <=60
|
</if>
|
</select>
|
|
<!--用户列表信息-->
|
<select id="selectUserPage" resultMap="userResultMap">
|
select bu.* from blade_user bu
|
left join blade_dept bd on bd.id = bu.dept_id
|
left join sys_jurisdiction sj on sj.id = bu.jurisdiction
|
left join blade_role br on br.id = bu.role_id
|
where bu.is_deleted = 0 and bu.id != 1123598821738675201
|
<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.isFreeze!=null">
|
and bu.is_freeze = #{user.isFreeze}
|
</if>
|
<if test="user.roleId!=null and user.roleId != ''">
|
and (br.role_alias = '公安管理员' or br.role_alias = '民警')
|
</if>
|
<if test="user.realName!=null and user.realName != ''">
|
and real_name like concat(concat('%', #{user.realName}),'%')
|
</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.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.unitName!=null and user.unitName != ''">
|
and bu.unit_name like concat('%', #{user.unitName},'%')
|
</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 user.jurisdiction!='1372091709474910209'">
|
and (sj.id = #{user.jurisdiction} or sj.parent_id = #{user.jurisdiction})
|
</if>
|
<if test="user.securitynumber!=null and user.securitynumber != ''">
|
and securitynumber = #{user.securitynumber}
|
</if>
|
<if test="user.examinationType!=null and user.examinationType != ''">
|
and examination_type = #{user.examinationType}
|
</if>
|
ORDER BY bu.id desc
|
</select>
|
|
<select id="getUser" resultMap="userResultMap">
|
SELECT *
|
FROM blade_user
|
WHERE tenant_id = #{param1}
|
and account = #{param2}
|
and password = #{param3}
|
and is_deleted = 0
|
and status = 1
|
</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>
|
|
<!--通过 身份证号查询用户信息-->
|
<select id="getUserInfoByIdCardNo" resultType="org.springblade.modules.system.entity.User">
|
SELECT id, name, real_name RealName,securitynumber
|
FROM blade_user
|
where 1=1
|
and is_deleted = 0
|
and status = 1
|
and cardid = #{param1}
|
</select>
|
|
|
<!--保安员列表-->
|
<select id="selectUserPageSecurity" resultMap="userResultMap">
|
select
|
bu.*,IF(mod(SUBSTR(bu.cardid,17,1),2),1,2) sexs
|
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
|
where
|
bu.is_deleted = 0
|
and role_alias = '保安'
|
<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.deptId!=null and user.deptId != ''">
|
and bu.dept_id = #{user.deptId}
|
</if>
|
<if test="user.sex!=null and user.sex != ''">
|
and bu.sex = #{user.sex}
|
</if>
|
<if test="user.isFreeze!=null">
|
and bu.is_freeze = #{user.isFreeze}
|
</if>
|
<if test="user.dispatch!=null and user.dispatch != ''">
|
<if test="user.dispatch==1">
|
and (bu.dispatch = #{user.dispatch} or bu.dispatch is null)
|
</if>
|
<if test="user.dispatch==0">
|
and bu.dispatch = #{user.dispatch}
|
</if>
|
</if>
|
<if test="user.status!=null and user.status != ''">
|
and bu.status = #{user.status}
|
</if>
|
<if test="user.equipmentCode!=null">
|
and bu.equipment_code !="" and bu.equipment_code is not null and bu.equipment_code !=null
|
</if>
|
<if test="user.jurisdiction!=null and user.jurisdiction != ''">
|
and bu.jurisdiction = #{user.jurisdiction}
|
</if>
|
<if test="user.unitName!=null and user.unitName != ''">
|
and bu.unit_name like concat('%', #{user.unitName},'%')
|
</if>
|
<if test="user.securitynumber!=null and user.securitynumber != ''">
|
and bu.securitynumber = #{user.securitynumber}
|
</if>
|
ORDER BY bu.id
|
</select>
|
|
<select id="selectUserPageSecurityApply" resultMap="userResultMap">
|
select
|
bu.*,
|
bd.dept_name
|
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
|
where
|
bu.is_deleted = 0
|
and
|
(hold = 2 or hold = 3)
|
and br.role_alias = "保安"
|
<if test="user.deptId!=null and user.deptId != ''">
|
and bu.dept_id = #{user.deptId}
|
</if>
|
<if test="user.isApply!=null">
|
and bu.is_apply = #{user.isApply}
|
</if>
|
<if test="user.roleId!=null and user.roleId != ''">
|
and bu.role_id = #{user.roleId}
|
</if>
|
<if test="user.isFreeze!=null">
|
and bu.is_freeze = #{user.isFreeze}
|
</if>
|
<if test="user.status!=null and user.status != ''">
|
and bu.status = #{user.status}
|
</if>
|
<if test="user.realName!=null and user.realName != ''">
|
and bu.real_name like concat('%', #{user.realName},'%')
|
</if>
|
<if test="user.unitName!=null and user.unitName != ''">
|
and bu.unit_name like concat('%', #{user.unitName},'%')
|
</if>
|
<if test="user.userType!=null and user.userType != ''">
|
and bu.user_type = #{user.userType}
|
</if>
|
<if test="user.securitynumber!=null and user.securitynumber != ''">
|
and bu.securitynumber = #{user.securitynumber}
|
</if>
|
ORDER BY bu.id
|
</select>
|
|
|
<!--保安员列表树 安员列表树,帅选无保安证,下拉tree-->
|
<select id="getSecurityApplyTree" resultType="org.springblade.modules.system.node.TreeNode">
|
select
|
a.id,
|
a.name,
|
a.type,
|
a.parentId
|
from (
|
select
|
distinct
|
bu.id,
|
ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(bu.cardid, 7, 8), CURDATE()),0) AS age,
|
bu.is_apply isApply,
|
bu.is_train isTrain,
|
bu.real_name as name,
|
if(es.user_id is not null,1,2) as type,
|
#{user.deptId} parentId
|
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 (select user_id,max(id) from exam_score where (qualified =1 or qualified =3) GROUP BY user_id) es
|
on es.user_id = bu.id
|
where
|
bu.is_deleted = 0 and bu.status = 1 and bu.is_freeze = 0
|
and (bu.examination_type != 1 or bu.examination_type is null)
|
and (hold = 2 or hold = 3)
|
and bd.id = #{user.deptId}
|
and br.role_alias = '保安'
|
) a
|
where 1 = 1
|
<if test="user.examType==1">
|
and a.isApply != 1
|
</if>
|
<if test="user.examType==2">
|
and a.isTrain != 1
|
</if>
|
</select>
|
|
|
<select id="selectInr" resultType="java.util.HashMap">
|
SELECT real_name as realName,id FROM blade_user
|
WHERE role_id='1412226235153731586' and status=1
|
<if test="deptid!=null and deptid!='' and dept!='1123598813738675201'">
|
and dept_id=#{deptid}
|
</if>
|
</select>
|
|
<!--查询当前年份已有的保安证编号,取倒数5位的最大值-->
|
<select id="getSecurityPaperCount" resultType="java.lang.Integer">
|
select ifnull(max(0+RIGHT(securitynumber,5)),0) from blade_user
|
where securitynumber like concat('%', #{pre},'%')
|
</select>
|
|
<!--查询当前公司未持证保安没有报名的人员-->
|
<select id="getNotApplyIdList" resultType="org.springblade.modules.system.entity.User">
|
select DISTINCT
|
bu.id,is_apply isApply
|
from
|
blade_user bu
|
left join
|
sys_apply sa
|
on
|
sa.user_id = bu.id
|
where 1=1
|
and (hold=2 or hold = 3)
|
and (bu.is_apply != 1 or bu.is_apply is null)
|
and (sa.apply_status !=2 or sa.apply_status is null)
|
and bu.dept_id = #{deptId}
|
</select>
|
|
<!--计算保安人员年龄-->
|
<select id="getUserAgeById" resultType="org.springblade.modules.system.vo.UserVO">
|
select id,real_name realName,ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(cardid, 7, 8), CURDATE()),0) AS age,securitynumber,cardid
|
from
|
blade_user
|
where
|
id = #{userId}
|
</select>
|
|
|
<!--根据保安员编码查询保安信息-->
|
<select id="getUserInfoBySecurityNumber" resultType="org.springblade.modules.system.vo.UserVO">
|
select
|
bu.*,
|
ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(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
|
1=1
|
<if test="securityNumber!=null and securityNumber!=''">
|
and securitynumber = #{securityNumber}
|
</if>
|
<if test="cardid!=null and cardid!=''">
|
and cardid = #{cardid}
|
</if>
|
and bu.status = 1
|
and bu.is_deleted = 0
|
and bu.is_freeze = 0
|
</select>
|
|
|
<select id="selectUser" resultType="java.util.HashMap">
|
select CAST(id AS CHAR) as groupmember,real_name as rname from blade_user
|
</select>
|
|
<!--查询保安员信息-->
|
<select id="getUserDetails" resultType="org.springblade.modules.system.vo.UserVO">
|
select
|
bu.*,
|
bd.dept_name deptName
|
from
|
blade_user bu
|
left join
|
blade_dept bd
|
on
|
bu.dept_id = bd.id
|
where bu.id = #{user.id}
|
</select>
|
|
<!--获取派遣信息-->
|
<select id="getDispaterInfo" resultType="java.util.HashMap">
|
select bu.*,sdu.jurisdiction from blade_user bu
|
left join
|
sys_dispatcher sd
|
on
|
bu.id = sd.user_ids
|
left join
|
sys_dispatcher_unit sdu
|
on
|
sdu.id = sd.dispatcher_unit_id
|
where
|
bu.dispatch =0
|
and bu.status = 1
|
and bu.is_deleted = 0
|
<if test="deptid!=null and deptid!=''">
|
and bu.dept_id = #{deptid}
|
</if>
|
<if test="jurisdiction!=null and jurisdiction!=''">
|
and sdu.jurisdiction = #{jurisdiction}
|
</if>
|
</select>
|
|
<!--获取工作汇报-->
|
<select id="getWorkReportInfo" resultType="java.util.HashMap">
|
select bu.*,si.jurisdiction from blade_user bu
|
left join
|
blade_dept bd
|
on
|
bd.id = bu.dept_id
|
left join
|
sys_information si
|
on
|
bd.id = si.departmentid
|
left join
|
blade_role br
|
on
|
br.id = bu.role_id
|
where
|
1=1
|
and bu.status = 1
|
and bu.is_deleted = 0
|
<if test="deptid!=null and deptid!=''">
|
and bu.dept_id = #{deptid}
|
</if>
|
<if test="jurisdiction!=null and jurisdiction!=''">
|
and si.jurisdiction = #{jurisdiction}
|
and br.role_alias = "公安管理员"
|
</if>
|
</select>
|
|
|
<!--获取工作汇报 向民警-->
|
<select id="getWorkReportInfos" resultType="java.util.HashMap">
|
select bu.* from blade_user bu
|
left join
|
blade_dept bd
|
on
|
bd.id = bu.dept_id
|
left join
|
blade_role br
|
on
|
br.id = bu.role_id
|
where
|
1=1
|
and bu.status = 1
|
and bu.is_deleted = 0
|
<if test="deptid!=null and deptid!=''">
|
and bu.dept_id = #{deptid}
|
</if>
|
<if test="jurisdiction!=null and jurisdiction!=''">
|
and bu.jurisdiction = #{jurisdiction}
|
and br.role_alias = "公安管理员"
|
</if>
|
</select>
|
|
<!--查询用的派遣信息-->
|
<select id="getDispatcherInfoByUserId" resultType="org.springblade.modules.dispatcher.vo.DispatcherVO">
|
select
|
sd.id,sdu.jurisdiction
|
from
|
sys_dispatcher sd
|
left join
|
sys_dispatcher_unit sdu
|
on
|
sdu.id = sd.dispatcher_unit_id
|
where sd.user_ids = #{userId}
|
and sd.status = 0
|
</select>
|
|
<!--查询账号相同的数量-->
|
<select id="selectCountAccount" resultType="java.lang.Integer">
|
select count(*) from blade_user where 1=1
|
and status = 1
|
and is_deleted = 0
|
and account = #{account}
|
</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>
|
|
<!--查询用户表中未删除,未离职的用户信息-->
|
<select id="getUserInfo" resultType="org.springblade.modules.system.entity.User">
|
select id,account from blade_user
|
where account = #{account}
|
and is_deleted = 0
|
and status = 1
|
</select>
|
|
|
<!--现场检查获取保安员-->
|
<select id="getSecurityInfo" resultType="java.util.HashMap">
|
select bu.*,si.jurisdiction from blade_user bu
|
left join
|
blade_dept bd
|
on
|
bd.id = bu.dept_id
|
left join
|
sys_information si
|
on
|
bd.id = si.departmentid
|
left join
|
sys_jurisdiction sj
|
on
|
sj.id = si.jurisdiction
|
left join
|
blade_role br
|
on
|
br.id = bu.role_id
|
where
|
1=1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
|
and (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})
|
</if>
|
and bu.status = 1
|
and bu.is_deleted = 0
|
and br.role_alias = "保安"
|
</select>
|
|
<!--保安员列表树 安员列表树,帅选无保安证,下拉tree-->
|
<select id="getSecurityDispatcherTree" resultType="org.springblade.modules.system.node.TreeNode">
|
(
|
select #{user.deptId} as id,
|
'全选' as name,
|
0 as parentId
|
from blade_user
|
)
|
|
union all
|
|
(
|
select
|
distinct
|
bu.id,
|
bu.real_name as name,
|
#{user.deptId} parentId
|
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
|
where
|
bu.is_deleted = 0
|
and bu.status = 1
|
and bd.is_deleted = 0
|
and bd.id = #{user.deptId}
|
and br.role_alias = '保安'
|
and bu.dispatch = 1
|
)
|
</select>
|
|
|
<!--导出保安员信息-->
|
<select id="exportSecurityInfo" resultType="org.springblade.modules.system.excel.SecurityExcel">
|
select
|
distinct bu.id,
|
bd.dept_name deptId,
|
bu.real_name realName,
|
bu.phone,
|
if(IF(mod(SUBSTR(bu.cardid,17,1),2),1,2)=1,"男","女") sex,
|
bu.cardid,
|
bu.nation,
|
bu.registered,
|
bu.unit_name unitName,
|
case when bu.education=1 then '初中及以下'
|
when bu.education=2 then '高中/中技/中专'
|
when bu.education=3 then '大专'
|
when bu.education=4 then '本科'
|
when bu.education=5 then '博士'
|
when bu.education=6 then '硕士'
|
else '' end as education,
|
bu.politicaloutlook,
|
bu.address
|
from blade_user bu left join blade_dept bd on bu.dept_id = bd.id
|
left join sys_information si on si.departmentid = bd.id
|
left join sys_jurisdiction sj on sj.id = si.jurisdiction
|
left join blade_role br on br.id = bu.role_id
|
left join sys_training_registration str on bu.id = str.user_id
|
where bu.is_deleted = 0
|
<if test="user.examinationType!=null and user.examinationType != ''">
|
<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>
|
<if test="user.isAvatar==1">
|
and bu.avatar is not null and bu.avatar!=""
|
</if>
|
<if test="user.isAvatar==2">
|
and (bu.avatar is null or bu.avatar="")
|
</if>
|
<if test="user.isFreeze!=null">
|
and bu.is_freeze = #{user.isFreeze}
|
</if>
|
<if test="user.unitName!=null and user.unitName != ''">
|
and bu.unit_name like concat('%', #{user.unitName},'%')
|
</if>
|
<if test="user.isFingerprint==1">
|
and bu.fingerprint is not null and bu.fingerprint!=""
|
</if>
|
<if test="user.isFingerprint==2">
|
and (bu.fingerprint is null or bu.fingerprint="")
|
</if>
|
<if test="user.account!=null and user.account != ''">
|
and bu.account like concat('%', #{user.account},'%')
|
</if>
|
<if test="user.hold!=null and user.hold != ''">
|
and bu.hold = #{user.hold}
|
</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.roleId!=null and user.roleId != ''">
|
and bu.role_id = #{user.roleId}
|
</if>
|
<if test="user.roleAlias!=null and user.roleAlias != ''">
|
and br.role_alias = '保安'
|
</if>
|
<if test="user.status!=null and user.status != '' and user.status != 6">
|
and bu.status = #{user.status}
|
</if>
|
<if test="user.trainingUnitId!=null and user.trainingUnitId != ''">
|
and str.training_unit_id = #{user.trainingUnitId}
|
</if>
|
<if test="user.deptName!=null and user.deptName != ''">
|
and bd.dept_name like concat('%', #{user.deptName},'%')
|
</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.realName!=null and user.realName != ''">
|
and bu.real_name like concat('%', #{user.realName},'%')
|
</if>
|
<if test="user.dispatch!=null and user.dispatch != ''">
|
<if test="user.dispatch == 0">
|
and bu.dispatch = #{user.dispatch}
|
</if>
|
<if test="user.dispatch == 1">
|
and bu.dispatch = #{user.dispatch}
|
</if>
|
</if>
|
<if test="user.userType!=null and user.userType != ''">
|
and bu.user_type = #{user.userType}
|
</if>
|
<if test="user.securitynumber!=null and user.securitynumber != ''">
|
and bu.securitynumber like concat('%', #{user.securitynumber},'%')
|
</if>
|
<if test="user.cardid!=null and user.cardid != ''">
|
and bu.cardid like concat('%', #{user.cardid},'%')
|
</if>
|
<if test="user.sortName!=null and user.sortName!=''">
|
ORDER BY bu.${user.sortName} ${user.sort},bu.id desc
|
</if>
|
<if test="user.sortName==null or user.sortName==''">
|
ORDER BY bu.id desc
|
</if>
|
</select>
|
|
<!--查询押运人员编码不为null的保安信息-->
|
<select id="selectEquipent" resultType="java.util.HashMap">
|
SELECT id,
|
equipment_code as code
|
FROM blade_user
|
WHERE dept_id = '1460129345988239362'
|
AND role_id = '1412226235153731586'
|
AND is_deleted = 0
|
AND `status` = 1
|
AND equipment_code IS NOT NULL
|
AND equipment_code!=""
|
</select>
|
|
<!--查詢用戶派遣記錄信息-->
|
<select id="getUserDispatcherInfo" resultType="org.springblade.modules.dispatcher.vo.DispatcherVO">
|
select
|
sdu.name dispatcherCompany,
|
dispatcherTime dispatchertime,
|
sd.end_time endTime
|
from blade_user bu
|
left join
|
sys_dispatcher sd
|
on
|
sd.user_ids = bu.id
|
left join
|
sys_dispatcher_unit sdu
|
on
|
sdu.id = sd.dispatcher_unit_id
|
where 1=1
|
and sd.status = 0
|
and bu.dispatch = 0
|
and bu.id = #{id}
|
</select>
|
|
<!-- 批量插入时将主键值设置到参数user的userId字段上 -->
|
<insert id="batchUserList" useGeneratedKeys="true" keyProperty="id">
|
insert into blade_user
|
(id,
|
tenant_id,account,password,name,real_name,avatar,email,phone,sex,
|
role_id,dept_id,cardid,nativePlace,nation,fingerprint,education,
|
politicaloutlook,healstats,height,address,registered,securitynumber,
|
hold,jurisdiction,examination_type,status,is_deleted,dispatch,create_time,unit_name
|
)
|
values
|
<foreach collection="list" item="user" separator=",">
|
(#{user.id},
|
#{user.tenantId},#{user.account},#{user.password},#{user.name},#{user.realName},#{user.avatar},#{user.email},#{user.phone},#{user.sex},
|
#{user.roleId},#{user.deptId},#{user.cardid},#{user.nativeplace},#{user.nation},#{user.fingerprint},#{user.education},
|
#{user.politicaloutlook},#{user.healstats},#{user.height},#{user.address},#{user.registered},#{user.securitynumber},
|
#{user.hold},#{user.jurisdiction},#{user.examinationType},#{user.status},#{user.isDeleted},#{user.dispatch},#{user.createTime},#{user.unitName}
|
)
|
</foreach>
|
</insert>
|
|
<!-- 批量插入时将主键值设置到参数user的userId字段上 -->
|
<insert id="batchExperienceList" useGeneratedKeys="true" keyProperty="id">
|
insert into sys_experience
|
(
|
name,post,entryTime,cardId,companyname,securityId
|
)
|
values
|
<foreach collection="list" item="item" separator=",">
|
(
|
#{item.name},#{item.post},#{item.entrytime},#{item.cardid},#{item.companyname},#{item.securityid}
|
)
|
</foreach>
|
</insert>
|
|
<!--查询学历统计信息-->
|
<select id="getAgeStatistics" resultType="java.lang.Integer">
|
select count(*) c from (
|
select ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(bu.cardid, 7, 8), CURDATE()),0) AS age from blade_user bu
|
left join blade_dept bd on bu.dept_id = bd.id
|
left join sys_information si on si.departmentid = bd.id
|
left join sys_jurisdiction sj on sj.id = si.jurisdiction
|
where bu.status = 1
|
and bu.is_deleted = 0
|
and bu.role_id = 1412226235153731586
|
<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.deptId!=null and user.deptId != ''">
|
and bu.dept_id = #{user.deptId}
|
</if>
|
)a where age>=18 and age <=30
|
|
union
|
(
|
select count(*) c from
|
(
|
select ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(bu.cardid, 7, 8), CURDATE()),0) AS age from blade_user bu
|
left join blade_dept bd on bu.dept_id = bd.id
|
left join sys_information si on si.departmentid = bd.id
|
left join sys_jurisdiction sj on sj.id = si.jurisdiction
|
where bu.status = 1
|
and bu.is_deleted = 0
|
and bu.role_id = 1412226235153731586
|
<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.deptId!=null and user.deptId != ''">
|
and bu.dept_id = #{user.deptId}
|
</if>
|
)a where age>30 and age <=45
|
)
|
union
|
(
|
select count(*) c from
|
(
|
select ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(bu.cardid, 7, 8), CURDATE()),0) AS age from blade_user bu
|
left join blade_dept bd on bu.dept_id = bd.id
|
left join sys_information si on si.departmentid = bd.id
|
left join sys_jurisdiction sj on sj.id = si.jurisdiction
|
where bu.status = 1
|
and bu.is_deleted = 0
|
and bu.role_id = 1412226235153731586
|
<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.deptId!=null and user.deptId != ''">
|
and bu.dept_id = #{user.deptId}
|
</if>
|
)a where age>45 and age <=60
|
)
|
</select>
|
|
<select id="getUserById" resultType="org.springblade.modules.system.entity.User">
|
select * from blade_user where id = #{id}
|
</select>
|
|
<!--根据手机号获取用户信息-->
|
<select id="getUserByPhone" resultType="org.springblade.modules.system.entity.User">
|
select * from blade_user where is_deleted = 0 and status = 1
|
and tenant_id = #{tenantId} and phone = #{phone} limit 1
|
</select>
|
|
<!--按天查询 day 天未登录的人员ids集合信息-->
|
<select id="getMoreDayNotLoginUser" resultType="java.lang.String">
|
select bu.id from blade_user bu
|
left join (
|
select user_id,max(create_time) as create_time from sys_login_record GROUP BY user_id
|
)slr on bu.id = slr.user_id
|
where bu.status = 1 and bu.is_deleted = 0 and bu.role_id = 1412226235153731586
|
and DATE_SUB(CURDATE(), INTERVAL #{day} DAY) > date(bu.create_time)
|
and DATE_SUB(CURDATE(), INTERVAL #{day} DAY) > date(slr.create_time)
|
</select>
|
|
<!--用户冻结操作-->
|
<update id="updateFreeze">
|
update blade_user set is_freeze = 1
|
<choose>
|
<when test="list!=null and list.size()>0">
|
where id in
|
<foreach collection="list" item="id" open="(" close=")" separator=",">
|
#{id}
|
</foreach>
|
</when>
|
<otherwise>
|
where id in ('')
|
</otherwise>
|
</choose>
|
</update>
|
|
<!--用户注销操作-->
|
<update id="updateLogout">
|
update blade_user set is_deleted = 1
|
<choose>
|
<when test="list!=null and list.size()>0">
|
where id in
|
<foreach collection="list" item="id" open="(" close=")" separator=",">
|
#{id}
|
</foreach>
|
</when>
|
<otherwise>
|
where id in ('')
|
</otherwise>
|
</choose>
|
</update>
|
|
<!--判断是否报名-->
|
<select id="getUserIsApply" resultType="org.springblade.modules.system.entity.User">
|
select bu.* from blade_user bu
|
left join blade_role br on br.id = bu.role_id
|
where bu.is_deleted = 0 and bu.status = 1 and bu.id = #{id}
|
and br.role_alias = '保安'
|
</select>
|
|
<!--自定义查询详情信息-->
|
<select id="getUserDetailById" resultType="org.springblade.modules.system.vo.UserVO">
|
select bu.* from blade_user bu
|
where bu.is_deleted = 0
|
and bu.id = #{id}
|
</select>
|
|
|
</mapper>
|