From 8b375fe00a241b3a769b82fe3dac8d1c9dce8a02 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Thu, 16 Jun 2022 14:36:07 +0800
Subject: [PATCH] 模拟考试修改
---
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml | 413 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 401 insertions(+), 12 deletions(-)
diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
index 9b39a2b..e9d1b2f 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -55,6 +55,7 @@
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
@@ -129,6 +130,9 @@
<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>
@@ -149,6 +153,27 @@
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>
@@ -158,7 +183,159 @@
<if test="user.cardid!=null and user.cardid != ''">
and bu.cardid like concat('%', #{user.cardid},'%')
</if>
- ORDER BY bu.id desc
+ <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.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.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">
@@ -183,7 +360,7 @@
and account like concat('%', #{user.account},'%')
</if>
<if test="user.roleId!=null and user.roleId != ''">
- and br.role_alias = '公安管理员'
+ 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}),'%')
@@ -378,7 +555,7 @@
select #{user.deptId} as id,
'全部' as name,
0 as parentId
- from blade_user
+ from blade_user limit 1
)
union all
@@ -392,10 +569,10 @@
select
distinct
bu.id,
- ifnull(DATE_FORMAT(NOW(), '%Y') - SUBSTRING(bu.cardid,7,4),0) age,
+ 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,
+ bu.account as name,
#{user.deptId} parentId
from
blade_user bu
@@ -410,7 +587,7 @@
where
bu.is_deleted = 0
and bu.status = 1
- and (bu.examination_type != 1 or bu.examination_type is null)
+ and ((bu.examination_type != 1 and bu.examination_type != 2) or bu.examination_type is null)
and (hold = 2 or hold = 3)
and bd.id = #{user.deptId}
and br.role_alias = '保安'
@@ -424,6 +601,59 @@
</if>
)
</select>
+
+ <!--保安员列表树 安员列表树,帅选无保安证,下拉tree-->
+<!-- <select id="getSecurityApplyTree" resultType="org.springblade.modules.system.node.TreeNode">-->
+<!-- (-->
+<!-- select #{user.deptId} as id,-->
+<!-- '全部' as name,-->
+<!-- 0 as parentId-->
+<!-- from blade_user limit 1-->
+<!-- )-->
+
+<!-- union all-->
+
+<!-- (-->
+<!-- select-->
+<!-- a.id,-->
+<!-- a.name,-->
+<!-- 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,-->
+<!-- #{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 ((bu.examination_type != 1 and bu.examination_type != 2) 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">
@@ -459,7 +689,7 @@
<!--计算保安人员年龄-->
<select id="getUserAgeById" resultType="org.springblade.modules.system.vo.UserVO">
- select id,ifnull(DATE_FORMAT(NOW(), '%Y') - SUBSTRING(cardid,7,4),0) age,securitynumber,cardid
+ select id,real_name realName,ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(cardid, 7, 8), CURDATE()),0) AS age,securitynumber,cardid
from
blade_user
where
@@ -471,7 +701,7 @@
<select id="getUserInfoBySecurityNumber" resultType="org.springblade.modules.system.vo.UserVO">
select
bu.*,
- ifnull(DATE_FORMAT(NOW(), '%Y') - SUBSTRING( cardid,7,4),0) age,
+ ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(cardid, 7, 8), CURDATE()),0) AS age,
bd.dept_name deptName
from
blade_user bu
@@ -479,7 +709,16 @@
blade_dept bd
on
bu.dept_id = bd.id
- where securitynumber = #{securityNumber}
+ 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
</select>
@@ -661,7 +900,7 @@
select
distinct
bu.id,
- bu.real_name as name,
+ bu.account as name,
#{user.deptId} parentId
from
blade_user bu
@@ -685,7 +924,7 @@
<!--导出保安员信息-->
- <select id="exportSecurityInfo" resultType="org.springblade.modules.system.excel.SecurityExcel">
+ <select id="exportSecurityInfo" resultType="org.springblade.modules.system.excel.ExportSecurityExcel">
select
distinct bu.id,
bd.dept_name deptId,
@@ -728,6 +967,18 @@
<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.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},'%')
@@ -794,7 +1045,12 @@
<if test="user.cardid!=null and user.cardid != ''">
and bu.cardid like concat('%', #{user.cardid},'%')
</if>
- ORDER BY bu.id desc
+ <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的保安信息-->
@@ -807,6 +1063,7 @@
AND is_deleted = 0
AND `status` = 1
AND equipment_code IS NOT NULL
+ AND equipment_code!=""
</select>
<!--查詢用戶派遣記錄信息-->
@@ -829,4 +1086,136 @@
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
+ )
+ 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}
+ )
+ </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>
+
+ <!-- 批量更新用户数据 -->
+ <update id="batchUpdateUserList" parameterType="java.util.List">
+ <foreach collection="list" item="user" index="index" separator=";">
+ update blade_user
+ set account = #{user.account},
+ PASSWORD = #{user.password},
+ real_name = #{user.realName},
+ phone = #{user.registered},
+ registered = #{user.registered},
+ securitynumber = #{user.securitynumber},
+ hold = #{user.hold} where id = #{user.id}
+ </foreach>
+ </update>
+
+
+ <!--查询学历统计信息-->
+ <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>
+
+ <insert id="insertUser">
+ 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,rtime,
+ securitynumber,hold,jurisdiction,examination_type,status,is_deleted,dispatch,guncode,create_time,cell
+ )
+ values
+ (
+ #{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.rtime},
+ #{user.securitynumber},#{user.hold},#{user.jurisdiction},#{user.examinationType},#{user.status},#{user.isDeleted},
+ #{user.dispatch},#{user.guncode},#{user.createTime},#{user.cell}
+ )
+ </insert>
+
+
</mapper>
--
Gitblit v1.9.3