<?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="online_status" property="online_status"/>
|
<result column="work_status" property="work_status"/>
|
<result column="examination_type" property="examination_type"/>
|
<result column="examination_mx" property="examination_mx"/>
|
<result column="audit_time" property="auditTime"/>
|
<result column="cardid" property="cardid"/>
|
<result column="district" property="district"/>
|
<result column="jurisdiction" property="jurisdiction"/>
|
</resultMap>
|
<resultMap id="userResultMaps" type="org.springblade.modules.system.vo.UsersVo">
|
<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="online_status" property="online_status"/>
|
<result column="work_status" property="work_status"/>
|
<result column="jd" property="jd"/>
|
<result column="wd" property="wd"/>
|
<result column="examination_type" property="examination_type"/>
|
<result column="examination_mx" property="examination_mx"/>
|
<result column="dept_name" property="deptName"/>
|
<result column="audit_time" property="auditTime"/>
|
<result column="cardid" property="cardid"/>
|
<result column="jurisdiction" property="jurisdiction"/>
|
</resultMap>
|
|
<select id="selectUserPage" resultMap="userResultMap">
|
select * from blade_user
|
where is_deleted = 0
|
<if test="tenantId!=null and tenantId != ''">
|
and tenant_id = #{tenantId}
|
</if>
|
<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.jurisdiction!=null and user.jurisdiction != ''">
|
and (jurisdiction = #{user.jurisdiction} or workjurisdiction = #{user.jurisdiction})
|
</if>
|
<if test="user.workjurisdiction!=null and user.workjurisdiction != ''">
|
and workjurisdiction = #{user.workjurisdiction}
|
</if>
|
<if test="user.realName!=null and user.realName != ''">
|
and real_name like concat('%',#{user.realName},'%')
|
</if>
|
<if test="user.userType!=null and user.userType != ''">
|
and user_type = #{user.userType}
|
</if>
|
<if test="user.deptId!=null and user.deptId != ''">
|
and (jurisdiction = #{user.deptId} or workjurisdiction = #{user.deptId})
|
</if>
|
<if test="user.roleId!=null and user.roleId != ''">
|
and (role_id = #{user.roleId} )
|
</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 s.*,p.jd,p.wd,ST_ASTEXT ( e.coordinate ) from blade_user s
|
LEFT JOIN sys_position p ON p.snumber = s.CODE
|
LEFT JOIN sys_enclosure e ON e.anumber = s.CODE
|
left join
|
blade_role br
|
on
|
s.role_id=br.id
|
where s.is_deleted = 0
|
<if test="user.account!=null and user.account != ''">
|
and s.account like concat('%',#{user.account},'%')
|
</if>
|
<if test="user.cardid!=null and user.cardid != ''">
|
and s.cardid like concat('%',#{user.cardid},'%')
|
</if>
|
<if test="user.id!=null and user.id != ''">
|
and s.id = #{user.id}
|
</if>
|
<if test="user.realName!=null and user.realName != ''">
|
and s.real_name like concat('%',#{user.real_name},'%')
|
</if>
|
<if test="user.userType!=null and user.userType != ''">
|
and s.user_type = #{user.userType}
|
</if>
|
<if test="user.examination_type!=null and user.examination_type != ''">
|
and s.examination_type = #{user.examination_type}
|
</if>
|
<if test="deptIdList!=null and deptIdList.size>0">
|
and s.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 desc
|
</select>
|
|
<select id="selectUserPagetxl" resultMap="userResultMaps">
|
select s.*,p.jd,p.wd,ST_ASTEXT ( e.coordinate ) from blade_user s
|
LEFT JOIN sys_position p ON p.snumber = s.CODE
|
LEFT JOIN sys_enclosure e ON e.anumber = s.CODE
|
left join
|
blade_role br
|
on
|
s.role_id=br.id
|
where s.is_deleted = 0 AND br.role_name NOT LIKE '%管理员%'
|
<if test="user.account!=null and user.account != ''">
|
and s.account = #{user.account}
|
</if>
|
<if test="user.id!=null and user.id != ''">
|
and s.id = #{user.id}
|
</if>
|
<if test="user.realName!=null and user.realName != ''">
|
and s.real_name = #{user.realName}
|
</if>
|
<if test="user.userType!=null and user.userType != ''">
|
and s.user_type = #{user.userType}
|
</if>
|
<if test="user.examination_type!=null and user.examination_type != ''">
|
and s.examination_type = #{user.examination_type}
|
</if>
|
<if test="deptIdList!=null and deptIdList.size>0">
|
and s.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="getUser" resultMap="userResultMap">
|
SELECT
|
r.role_name as rolename,
|
u.*
|
FROM
|
blade_user u
|
LEFT JOIN blade_role r ON u.role_id = r.id
|
WHERE
|
u.tenant_id = #{param1} and u.account = #{param2} and u.password = #{param3} and u.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>
|
|
<!--根据用户编号查询用户信息-->
|
<select id="selUserByCode" resultType="org.springblade.modules.system.entity.User">
|
select code,dept_id deptId from blade_user where is_deleted = 0 and code=#{code}
|
</select>
|
<!--查询处警人员列表-->
|
<select id="selectSecurityUserPageList" resultMap="userResultMaps">
|
SELECT bu.id,bu.name,bu.code,bu.real_name,bu.account,
|
bu.email,bu.phone,bu.birthday,bu.create_time,
|
bu.sex,ifnull(bu.online_status,0) online_status,
|
bd.dept_name,p.jd,p.wd FROM blade_user bu
|
LEFT JOIN
|
sys_position p
|
on
|
p.snumber=bu.code
|
left join
|
blade_dept bd
|
on
|
bd.id=bu.dept_id
|
left join
|
blade_role br
|
on
|
bu.role_id=br.id
|
where
|
bu.is_deleted=0
|
<if test="user.realName!=null and user.realName !=''">
|
<bind name="realName" value="'%'+user.realName+'%'"/>
|
and bu.real_name like #{realName}
|
</if>
|
<if test="user.account!=null and user.account !=''">
|
<bind name="account" value="'%'+user.account+'%'"/>
|
and bu.account like #{account}
|
</if>
|
<if test="user.code!=null">
|
<bind name="code" value="'%'+user.code+'%'"/>
|
and bu.code like #{code}
|
</if>
|
order by bu.code asc
|
</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="getUserRegisterStatisticsData" resultType="org.springblade.modules.system.vo.UserRegisterStatisVO">
|
SELECT
|
br.name as region,
|
count(*) num
|
FROM blade_user bu
|
left join
|
blade_region br
|
on
|
bu.district = br.code
|
where bu.district is not null
|
group by bu.district
|
</select>
|
|
<!-- 统计六大队伍数量 -->
|
<select id="getUserTypeCount" resultType="org.springblade.modules.system.vo.UserRegisterStatisVO">
|
SELECT
|
tj.`角色` as region,
|
COUNT(*) as num
|
FROM
|
(SELECT
|
blade_user.real_name AS "姓名",
|
blade_user.phone AS "电话",
|
blade_user.cardid AS "身份证",
|
blade_user.address AS "所属社区或单位",
|
blade_role.role_name AS "角色",
|
sys_jurisdiction.dept_name AS "服务范围",
|
s.dept_name AS "工作单位"
|
FROM
|
(
|
blade_user
|
LEFT JOIN blade_role ON ( blade_user.role_id = blade_role.id )
|
LEFT JOIN sys_jurisdiction ON ( blade_user.jurisdiction = sys_jurisdiction.id )
|
LEFT JOIN sys_jurisdiction s ON ( blade_user.workjurisdiction = s.id )
|
)
|
WHERE
|
blade_user.is_deleted != 1) as tj
|
GROUP BY tj.`角色`
|
</select>
|
<!-- <select id="getUserTypeCount" resultType="org.springblade.modules.system.vo.UserRegisterStatisVO">-->
|
<!-- SELECT-->
|
<!-- '治保会队伍' AS region,-->
|
<!-- count( * ) num-->
|
<!-- FROM-->
|
<!-- blade_user bu-->
|
<!-- LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id-->
|
<!-- WHERE-->
|
<!-- dept.id = '1424615693403414529'-->
|
<!-- UNION ALL-->
|
<!-- SELECT-->
|
<!-- '内保干部队伍' AS region,-->
|
<!-- count( * ) num-->
|
<!-- FROM-->
|
<!-- blade_user bu-->
|
<!-- LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id-->
|
<!-- WHERE-->
|
<!-- dept.id = '1424615773594312705'-->
|
<!-- UNION ALL-->
|
<!-- SELECT-->
|
<!-- '治安巡防队伍' AS region,-->
|
<!-- count( * ) num-->
|
<!-- FROM-->
|
<!-- blade_user bu-->
|
<!-- LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id-->
|
<!-- WHERE-->
|
<!-- dept.id = '1424615835435130881'-->
|
<!-- UNION ALL-->
|
<!-- SELECT-->
|
<!-- '信息员队伍' AS region,-->
|
<!-- count( * ) num-->
|
<!-- FROM-->
|
<!-- blade_user bu-->
|
<!-- LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id-->
|
<!-- WHERE-->
|
<!-- dept.id = '1424615909959524354'-->
|
<!-- UNION ALL-->
|
<!-- SELECT-->
|
<!-- '保安员队伍' AS region,-->
|
<!-- count( * ) num-->
|
<!-- FROM-->
|
<!-- blade_user bu-->
|
<!-- LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id-->
|
<!-- WHERE-->
|
<!-- dept.id = '1424615972718895106'-->
|
<!-- UNION ALL-->
|
<!-- SELECT-->
|
<!-- '警务辅助队伍' AS region,-->
|
<!-- count( * ) num-->
|
<!-- FROM-->
|
<!-- blade_user bu-->
|
<!-- LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id-->
|
<!-- WHERE-->
|
<!-- dept.id = '1424616047083905026'-->
|
<!-- </select>-->
|
|
<!-- 按辖区统计六大队伍数量 -->
|
<select id="getUserTypeCountXq" resultType="org.springblade.modules.system.vo.UserRegisterStatisVO">
|
SELECT
|
'治保会队伍' AS region,
|
count( * ) num
|
FROM
|
blade_user bu
|
LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
|
WHERE
|
dept.id = '1424615693403414529' and bu.jurisdiction = #{xid}
|
UNION ALL
|
SELECT
|
'内保干部队伍' AS region,
|
count( * ) num
|
FROM
|
blade_user bu
|
LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
|
WHERE
|
dept.id = '1424615773594312705' and bu.jurisdiction = #{xid}
|
UNION ALL
|
SELECT
|
'治安巡防队伍' AS region,
|
count( * ) num
|
FROM
|
blade_user bu
|
LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
|
WHERE
|
dept.id = '1424615835435130881' and bu.jurisdiction = #{xid}
|
UNION ALL
|
SELECT
|
'信息员队伍' AS region,
|
count( * ) num
|
FROM
|
blade_user bu
|
LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
|
WHERE
|
dept.id = '1424615909959524354' and bu.jurisdiction = #{xid}
|
UNION ALL
|
SELECT
|
'保安员队伍' AS region,
|
count( * ) num
|
FROM
|
blade_user bu
|
LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
|
WHERE
|
dept.id = '1424615972718895106' and bu.jurisdiction = #{xid}
|
UNION ALL
|
SELECT
|
'警务辅助队伍' AS region,
|
count( * ) num
|
FROM
|
blade_user bu
|
LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
|
WHERE
|
dept.id = '1424616047083905026' and bu.jurisdiction = #{xid}
|
UNION ALL
|
SELECT
|
'平安志愿者' AS region,
|
count( * ) num
|
FROM
|
blade_user bu
|
LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
|
WHERE
|
dept.id = '1416225906918195201' and bu.jurisdiction = #{xid}
|
</select>
|
|
<!-- 按辖区统计六大队伍数量 -->
|
<select id="getUserTypeList" resultType="org.springblade.modules.system.vo.UserVO">
|
SELECT
|
bu.*
|
FROM
|
blade_user bu
|
LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
|
WHERE
|
bu.jurisdiction = #{xid}
|
<if test="index == 1">
|
AND dept.id = '1424615693403414529'
|
</if>
|
<if test="index == 2">
|
AND dept.id = '1424615773594312705'
|
</if>
|
<if test="index == 3">
|
AND dept.id = '1424615835435130881'
|
</if>
|
<if test="index == 4">
|
AND dept.id = '1424615909959524354'
|
</if>
|
<if test="index == 5">
|
AND dept.id = '1424615972718895106'
|
</if>
|
<if test="index == 6">
|
AND dept.id = '1424616047083905026'
|
</if>
|
<if test="index == 7">
|
AND dept.id ='1416225906918195201'
|
</if>
|
</select>
|
|
<select id="getUserDistrictTypeCount" resultType="org.springblade.modules.system.vo.UserDistrictStatisVO">
|
SELECT
|
br.NAME AS region,
|
count( * ) num ,
|
count( CASE WHEN dept.dept_name = '治保会队伍' THEN 1 END) as zbh,
|
count( CASE WHEN dept.dept_name = '内保干部队伍' THEN 1 END) as nbgb,
|
count( CASE WHEN dept.dept_name = '治安巡防队伍' THEN 1 END) as zaxf,
|
count( CASE WHEN dept.dept_name = '信息员队伍' THEN 1 END) as xxy,
|
count( CASE WHEN dept.dept_name = '保安员队伍' THEN 1 END) as bay,
|
count( CASE WHEN dept.dept_name = '警务辅助队伍' THEN 1 END) as jwfz
|
FROM
|
blade_user bu
|
LEFT JOIN blade_region br ON bu.district = br.CODE
|
LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
|
WHERE
|
bu.district IS NOT NULL
|
GROUP BY
|
bu.district
|
</select>
|
|
|
<!--查询用户数据,未审核的-->
|
<select id="getNotAuditAllUserList" resultType="org.springblade.modules.system.entity.User">
|
select id, cardid
|
from blade_user
|
where examination_type is null
|
</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>
|
|
<update id="updateAcc">
|
update blade_user set stype=#{stype},firstlogin = "1" where account=#{account}
|
</update>
|
<update id="firstLogin">
|
update blade_user set firstlogin = "0" where id=#{id}
|
</update>
|
|
<delete id="delete">
|
delete from blade_user where account=#{account}
|
</delete>
|
|
</mapper>
|