From 2ebca060a47784db76369a4aa84f63293da9be33 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Thu, 16 Jun 2022 10:08:08 +0800
Subject: [PATCH] 保安员新增同步编号问题

---
 src/main/java/org/springblade/modules/system/mapper/UserMapper.xml |  104 +++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 83 insertions(+), 21 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 9690a67..95f54ff 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -148,7 +148,7 @@
     <select id="selectUserPages" resultMap="userResultMaps">
         select
         bu.*,
-        ifnull(DATE_FORMAT(NOW(), '%Y') - SUBSTRING( bu.cardid,7,4),0) age,
+        ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(bu.cardid, 7, 8), CURDATE()),0) AS age,
         p.score
         from
         blade_user bu
@@ -182,6 +182,12 @@
         <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>
@@ -191,7 +197,7 @@
         <if test="user.score!=null and user.score != ''">
             and p.score = 3
         </if>
-        ORDER BY bu.id
+        ORDER BY bu.id desc
     </select>
 
 
@@ -199,7 +205,7 @@
     <select id="selectUserPageSecurity" resultMap="userResultMaps">
         select
         bu.*,
-        ifnull(DATE_FORMAT(NOW(), '%Y') - SUBSTRING( bu.cardid,7,4),0) age,
+        ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(bu.cardid, 7, 8), CURDATE()),0) AS age,
         bd.dept_name as deptName
         from
         blade_user bu
@@ -225,9 +231,6 @@
         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
             (
@@ -254,6 +257,9 @@
         </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}
@@ -286,19 +292,19 @@
             and bu.securitynumber like concat('%', #{user.securitynumber},'%')
         </if>
         <if test="user.startTime!=null and user.startTime!=''">
-            and bu.paper_time &gt;= #{user.startTime}
+            and bu.audit_time &gt;= #{user.startTime}
         </if>
         <if test="user.endTime!=null and user.endTime!=''">
-            and bu.paper_time &lt;= #{user.endTime}
+            and bu.audit_time &lt;= #{user.endTime}
         </if>
         <if test="user.useName==null or user.useName==''">
-            order by bu.examination_type desc,bu.id
+            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}
+            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}
+            order by bu.examination_mx ${user.sort},bu.id
         </if>
     </select>
 
@@ -352,14 +358,16 @@
     <!--根据保安员编码查询保安信息-->
     <select id="getUserInfoBySecurityNumber" resultType="org.springblade.modules.system.vo.UserVO">
         select bu.*,
-               ifnull(DATE_FORMAT(NOW(), '%Y') - SUBSTRING(cardid, 7, 4), 0) age,
-               bd.dept_name                                                  deptName
+               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>
 
     <!--保安员列表-->
@@ -369,11 +377,11 @@
         bd.dept_name as deptName,
         if(bu.sex=1,'男','女') sex,
         bu.cardid,
-        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.phone,
         if(bu.examination_type=1,'异常','正常') examinationType,
         bu.examination_mx examinationMx,
-        bu.paper_time paperTime
+        bu.audit_time auditTime
         from
         blade_user bu
         left join
@@ -398,9 +406,6 @@
         br.role_alias = "安保人员"
         and
         bu.status = 1
-        and bd.parent_id!=1425365577303621633
-        and bd.id != 1425365577303621633
-        and bd.id != 1432625856013971457
         <if test="user.jurisdiction!=null and user.jurisdiction != '' and user.jurisdiction != '1372091709474910209'">
             and (sj.id = #{user.jurisdiction} or sj.parent_id = #{user.jurisdiction})
         </if>
@@ -428,6 +433,9 @@
         <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
             (
@@ -450,10 +458,10 @@
             )
         </if>
         <if test="user.startTime!=null and user.startTime!=''">
-            and bu.paper_time &gt;= #{user.startTime}
+            and bu.audit_time &gt;= #{user.startTime}
         </if>
         <if test="user.endTime!=null and user.endTime!=''">
-            and bu.paper_time &lt;= #{user.endTime}
+            and bu.audit_time &lt;= #{user.endTime}
         </if>
         <if test="user.examinationType==0">
             and (bu.examination_type = #{user.examinationType} or bu.examination_type is null or bu.examination_type="")
@@ -475,7 +483,7 @@
     <select id="selectPeo" resultType="java.util.HashMap">
         select
         bu.*,
-        ifnull(DATE_FORMAT(NOW(), '%Y') - SUBSTRING( bu.cardid,7,4),0) age,
+        ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(bu.cardid, 7, 8), CURDATE()),0) AS age,
         bd.dept_name as deptName
         from
         blade_user bu
@@ -528,6 +536,60 @@
         <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>
+
+    <!--查询用户年龄-->
+    <select id="getUserAge" resultType="java.lang.Integer">
+        select ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(cardid, 7, 8), CURDATE()),0) AS age from blade_user where id = #{id}
+    </select>
+    <!--查询保安员证编号前缀-->
+    <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="getSecurityInfoByIdCardNo" resultType="org.springblade.modules.system.vo.UserDTO">
+        select
+        bu.real_name realName,
+        bd.dept_name as deptName,
+        if(bu.sex=1,'男','女') sex,
+        bu.cardid
+        from
+        blade_user bu left join blade_dept bd on bu.dept_id = bd.id
+        where
+        bu.is_deleted = 0
+        and role_id = '1412226235153731586'
+        and bu.status = 1
+        and bu.cardid = #{user.cardid}
+    </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="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>
 </mapper>

--
Gitblit v1.9.3