From 7a4954210f92a011a10bb98e416cff5d531d348a Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Mon, 22 Nov 2021 20:29:22 +0800
Subject: [PATCH] 新增修改保安员信息接口,保安员导入修改,保安员新增修改,当机度身份证时,可以先将其他单位人员离职,然后再新增

---
 src/main/java/org/springblade/modules/system/mapper/UserMapper.xml |  166 +++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 136 insertions(+), 30 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 227c70f..fce225c 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -85,9 +85,14 @@
         bu.id = str.user_id
         where
         bu.is_deleted = 0
-        and bd.parent_id!=1425365577303621633
-        and bd.id != 1425365577303621633
-        and bd.id != 1432625856013971457
+        <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>
@@ -103,7 +108,7 @@
         <if test="user.roleAlias!=null and user.roleAlias != ''">
             and br.role_alias = '保安'
         </if>
-        <if test="user.status!=null and user.status != ''">
+        <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 != ''">
@@ -129,9 +134,6 @@
         </if>
         <if test="user.cardid!=null and user.cardid != ''">
             and bu.cardid like concat('%', #{user.cardid},'%')
-        </if>
-        <if test="user.examinationType!=null and user.examinationType != ''">
-            and bu.examination_type = #{user.examinationType}
         </if>
         ORDER BY bu.id desc
     </select>
@@ -339,32 +341,46 @@
 
         (
             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 (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.id,
+            a.name,
+            a.parentId
+            from (
+                select
+                    distinct
+                    bu.id,
+                    ifnull(DATE_FORMAT(NOW(), '%Y') - SUBSTRING(bu.cardid,7,4),0) 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 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 bu.is_apply != 1
+                and a.isApply != 1
+                and a.age&gt;=18
+                and a.age&lt;=60
             </if>
             <if test="user.examType==2">
-                and bu.is_train != 1
+                and a.isTrain != 1
+                and a.age&gt;=18
+                and a.age&lt;=60
             </if>
         )
     </select>
@@ -628,5 +644,95 @@
     </select>
 
 
+    <!--导出保安员信息-->
+    <select id="exportSecurityInfo" resultType="org.springblade.modules.system.excel.SecurityExcel">
+        select
+        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,
+        if(bu.hold=1,"是","否") hold,
+        bu.securitynumber
+        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.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 = #{user.deptId} or bd.parent_id = #{user.deptId})
+        </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 != ''">
+            and bu.dispatch = #{user.dispatch}
+        </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>
+        ORDER BY bu.id desc
+    </select>
+
+
 
 </mapper>

--
Gitblit v1.9.3