From 30df94c05573a426d030510d4dd58ae1d93bfb7a Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Mon, 06 Dec 2021 14:03:37 +0800
Subject: [PATCH] 1.资格审查排序

---
 src/main/java/org/springblade/modules/system/mapper/UserMapper.xml |  356 +++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 307 insertions(+), 49 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 1bdcbf1..b4daf57 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -39,24 +39,82 @@
         <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"/>
+        <result column="holdv" property="holdv"/>
+    </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
+        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 != #{user.account}
+            and account like concat('%', #{user.account},'%')
         </if>
         <if test="user.realName!=null and user.realName != ''">
-            and real_name like concat(concat('%', #{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}
@@ -66,7 +124,8 @@
         </if>
         <if test="user.hold!=null and user.hold != ''">
             and hold = #{user.hold}
-        </if> <if test="user.jurisdiction!=null and user.jurisdiction != ''">
+        </if>
+        <if test="user.jurisdiction!=null and user.jurisdiction != ''">
             and jurisdiction = #{user.jurisdiction}
         </if>
         <if test="user.securitynumber!=null and user.securitynumber != ''">
@@ -74,43 +133,132 @@
         </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>
+            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(DATE_FORMAT(NOW(), '%Y') - SUBSTRING( cardid,7,4),0) age
+        from
+        blade_user bu
+        left join
+        sys_information si
+        on
+        si.departmentid = bu.dept_id
+        left join
+        sys_jurisdiction sj
+        on
+        sj.id =si.jurisdiction
+        where bu.is_deleted = 0
+        and 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 != ''">
+            <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.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.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.jurisdiction!=null and user.jurisdiction != '' and user.jurisdiction != '1372091709474910209'">
+            and sj.parent_id = #{user.jurisdiction}
+        </if>
+        <if test="user.securitynumber!=null and user.securitynumber != ''">
+            and bu.securitynumber = #{user.securitynumber}
+        </if>
+        ORDER BY bu.audit_time desc
+    </select>
+
 
     <!--保安员列表-->
-    <select id="selectUserPageSecurity" resultMap="userResultMap">
+    <select id="selectUserPageSecurity" resultMap="userResultMaps">
         select
-            bu.*
+        bu.*,
+        ifnull(DATE_FORMAT(NOW(), '%Y') - SUBSTRING( bu.cardid,7,4),0) age,
+        bd.dept_name as deptName
         from
-            blade_user bu
+        blade_user bu
         left join
-            blade_dept bd
+        blade_dept bd
         on
-            bu.dept_id = bd.id
+        bu.dept_id = bd.id
+        left join
+        blade_role br
+        on
+        br.id = bu.role_id
+        left join
+        sys_information si
+        on
+        bd.id = si.departmentid
+        left join
+        sys_jurisdiction sj
+        on
+        sj.id = si.jurisdiction
         where
-            bu.is_deleted = 0
+        bu.is_deleted = 0
         and
-            bd.dept_category = 1
-        <if test="user.tenantId!=null and user.tenantId != ''">
-            and bu.tenant_id = #{user.tenantId}
+        br.role_alias = '安保人员'
+        and
+        bu.status = 1
+        <if test="user.cardid!=null and user.cardid != ''">
+            and bu.cardid like concat(concat('%', #{user.cardid}),'%')
         </if>
-        <if test="user.account!=null and user.account != ''">
-            and bu.account != #{user.account}
+        <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.realName!=null and user.realName != ''">
             and bu.real_name like concat(concat('%', #{user.realName}),'%')
+        </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.dispatch!=null and user.dispatch != ''">
+            and bu.dispatch = #{user.dispatch}
+        </if>
+        <if test="user.soil!=null and user.soil != ''">
+            and bu.soil = #{user.soil}
+        </if>
+         <if test="user.insurance!=null and user.insurance != ''">
+            and bu.insurance = #{user.insurance}
         </if>
         <if test="user.userType!=null and user.userType != ''">
             and bu.user_type = #{user.userType}
@@ -126,45 +274,155 @@
         </if>
         <if test="user.hold!=null and user.hold != ''">
             and bu.hold = #{user.hold}
-        </if> <if test="user.jurisdiction!=null and user.jurisdiction != ''">
-            and bu.jurisdiction = #{user.jurisdiction}
         </if>
         <if test="user.securitynumber!=null and user.securitynumber != ''">
-            and bu.securitynumber = #{user.securitynumber}
+            and bu.securitynumber like concat('%', #{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 test="user.deptId!=null and user.deptId!='' and user.deptId!='1460129345988239362'">
+            and bu.dept_id =#{user.deptId}
         </if>
-        ORDER BY bu.id
+        <if test="user.type!=null">
+            and bu.equipment_code is not null
+        </if>
+        <if test="user.useName==null or user.useName==''">
+            order by 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="getUser" resultMap="userResultMap">
-        SELECT
-            *
-        FROM
-            blade_user
-        WHERE
-            tenant_id = #{param1} and account = #{param2} and password = #{param3} and is_deleted = 0
+        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 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 blade_user
+        set hold=#{hold},
+            holdv=#{holdv},
+            holdvtime=#{time}
+        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 examination_type is null
+    </select>
+
+    <!--根据保安员编码查询保安信息-->
+    <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
+        from blade_user bu
+                 left join
+             blade_dept bd
+             on
+                 bu.dept_id = bd.id
+        where securitynumber = #{securityNumber}
+    </select>
+
+    <!--通过 身份证号查询用户信息-->
+    <select id="getUserInfoByIdCardNo" resultType="org.springblade.modules.system.entity.User">
+        SELECT id, name, real_name RealName
+        FROM blade_user
+        where cardid = #{param1}
+          and is_deleted = 0
+          and status = 1
+    </select>
+
+
+    <select id="selectPeo" resultType="java.util.HashMap">
+        select
+        bu.*,
+        ifnull(DATE_FORMAT(NOW(), '%Y') - SUBSTRING( bu.cardid,7,4),0) 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 user.deptId!='1460129345988239362'">
+            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>
+
 </mapper>

--
Gitblit v1.9.3