From cc057177b2fb17aee9a173a6adbabdc578fd74c7 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Mon, 06 Dec 2021 10:30:44 +0800
Subject: [PATCH] 1.许可

---
 src/main/java/org/springblade/modules/system/mapper/UserMapper.xml |  489 ++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 451 insertions(+), 38 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 dcfe229..8c7cf03 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -3,7 +3,7 @@
 <mapper namespace="org.springblade.modules.system.mapper.UserMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="userResultMap" type="org.springblade.modules.system.entity.User">
+    <resultMap id="userResultMap" type="org.springblade.modules.system.vo.UserVO">
         <result column="id" property="id"/>
         <result column="tenant_id" property="tenantId"/>
         <result column="create_user" property="createUser"/>
@@ -39,31 +39,238 @@
         <result column="hold" property="hold"/>
         <result column="jurisdiction" property="jurisdiction"/>
         <result column="securitynumber" property="securitynumber"/>
+        <result column="dispatch" property="dispatch"/>
+        <result column="my_picture" property="myPicture"/>
+        <result column="is_apply" property="isApply"/>
+        <result column="is_apply" property="isApply"/>
+        <result column="is_train" property="isTrain"/>
+        <result column="birthtime" property="birthtime"/>
+        <result column="healstats" property="healstats"/>
+        <result column="soil" property="soil"/>
+        <result column="reason_for_leav" property="reasonForLeav"/>
     </resultMap>
 
-    <select id="selectUserPage" resultMap="userResultMap">
-        select bu.* from
-            blade_user bu
+    <!--带坐标-->
+    <select id="selectUserPages" resultMap="userResultMap">
+        select
+        bu.*,
+        sll.longitude,sll.latitude,
+        bd.dept_name
+        from
+        blade_user bu
         left join
-            blade_dept bd
+        blade_dept bd
         on
-            bu.dept_id = bd.id
+        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
         where
-            bu.is_deleted = 0
-        <if test="tenantId!=null and tenantId != ''">
-            and bu.tenant_id = #{tenantId}
-        </if>
-        <if test="user.tenantId!=null and user.tenantId != ''">
-            and bu.tenant_id = #{user.tenantId}
-        </if>
+        bu.is_deleted = 0
         <if test="user.account!=null and user.account != ''">
-            and bu.account = #{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.parent_id = #{user.deptId} or bd.id = #{user.deptId})
+            and bu.dept_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 bu.status = #{user.status}
+        </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>
+        <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>
+        ORDER BY bu.id
+    </select>
+
+    <select id="selectUserPage" resultMap="userResultMap">
+        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 like concat('%', #{user.account},'%')
+        </if>
+        <if test="user.realName!=null and user.realName != ''">
+            and real_name like concat(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.sex!=null and user.sex != ''">
+            and sex = #{user.sex}
+        </if>
+        <if test="user.status!=null and user.status != ''">
+            and status = #{user.status}
+        </if>
+        <if test="user.hold!=null and user.hold != ''">
+            and hold = #{user.hold}
+        </if> <if test="user.jurisdiction!=null and user.jurisdiction != ''">
+        and jurisdiction = #{user.jurisdiction}
+    </if>
+        <if test="user.securitynumber!=null and user.securitynumber != ''">
+            and securitynumber = #{user.securitynumber}
+        </if>
+        <if test="user.examinationType!=null and user.examinationType != ''">
+            and examination_type = #{user.examinationType}
+        </if>
+        ORDER BY id
+    </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>
+
+    <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="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="selectUserPageSecurity" resultMap="userResultMap">
+        select
+        bu.*
+        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 role_alias = '保安'
+        <if test="user.realName!=null and user.realName != ''">
+            and bu.real_name like concat(concat('%', #{user.realName}),'%')
+        </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.deptId!=null and user.deptId != ''">
+            and bu.dept_id = #{user.deptId}
+        </if>
+        <if test="user.sex!=null and user.sex != ''">
+            and bu.sex = #{user.sex}
+        </if>
+        <if test="user.dispatch!=null and user.dispatch != ''">
+            <if test="user.dispatch==1">
+                and (bu.dispatch = #{user.dispatch} or bu.dispatch is null)
+            </if>
+            <if test="user.dispatch==0">
+                and bu.dispatch = #{user.dispatch}
+            </if>
+        </if>
+        <if test="user.status!=null and user.status != ''">
+            and bu.status = #{user.status}
+        </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}
+        </if>
+        ORDER BY bu.id
+    </select>
+
+    <select id="selectUserPageSecurityApply" resultMap="userResultMap">
+        select
+        bu.*,
+        bd.dept_name
+        from
+        blade_user bu
+        left join
+        blade_dept bd
+        on
+        bu.dept_id = bd.id
+        where
+        bu.is_deleted = 0
+        and
+        (hold = 2 or hold = 3)
+        <if test="user.deptId!=null and user.deptId != ''">
+            and bu.dept_id = #{user.deptId}
+        </if>
+        <if test="user.isApply!=null">
+            and bu.is_apply = #{user.isApply}
         </if>
         <if test="user.roleId!=null and user.roleId != ''">
             and bu.role_id = #{user.roleId}
@@ -77,36 +284,242 @@
         <if test="user.userType!=null and user.userType != ''">
             and bu.user_type = #{user.userType}
         </if>
-          <if test="user.securitynumber!=null and user.securitynumber != ''">
+        <if test="user.securitynumber!=null and user.securitynumber != ''">
             and bu.securitynumber = #{user.securitynumber}
-        </if>
-        <if test="deptIdList!=null and deptIdList.size>0">
-            and bu.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 bu.id
     </select>
 
-    <select id="getUser" resultMap="userResultMap">
-        SELECT
-            *
-        FROM
-            blade_user
-        WHERE
-            tenant_id = #{param1} and account = #{param2} and password = #{param3} and is_deleted = 0
+
+    <!--保安员列表树 安员列表树,帅选无保安证,下拉tree-->
+<!--    <select id="getSecurityApplyTree" resultType="org.springblade.modules.system.node.TreeNode">-->
+<!--        (-->
+<!--            select #{user.deptId} as id,-->
+<!--                bd2.dept_name as name,-->
+<!--                0 as parentId-->
+<!--                from blade_user bu2-->
+<!--                left join-->
+<!--                blade_dept bd2-->
+<!--                on -->
+<!--                bu2.dept_id = bd2.id-->
+<!--        )-->
+
+<!--        union all-->
+
+<!--        (-->
+<!--            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-->
+<!--            where-->
+<!--            bu.is_deleted = 0-->
+<!--            and bu.status = 1-->
+<!--            and bu.examination_type != 1-->
+<!--            and (hold = 2 or hold = 3)-->
+<!--            and bd.id = #{user.deptId}-->
+<!--            <if test="user.examType==1">-->
+<!--                and bu.is_apply != 1-->
+<!--            </if>-->
+<!--            <if test="user.examType==2">-->
+<!--                and bu.is_train != 1-->
+<!--            </if>-->
+<!--        )-->
+<!--    </select>    -->
+
+
+    <!--保安员列表树 安员列表树,帅选无保安证,下拉tree-->
+    <select id="getSecurityApplyTree" resultType="org.springblade.modules.system.node.TreeNode">
+            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
+            where
+            bu.is_deleted = 0
+            and bu.status = 1
+            and bu.examination_type != 1
+            and (hold = 2 or hold = 3)
+            and bd.id = #{user.deptId}
+            <if test="user.examType==1">
+                and bu.is_apply != 1
+            </if>
+            <if test="user.examType==2">
+                and bu.is_train != 1
+            </if>
     </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="selectInr" resultType="java.util.HashMap">
+        SELECT real_name as realName,id FROM  blade_user
+        WHERE role_id='1412226235153731586' and status=1
+          <if test="deptid!=null and deptid!='' and dept!='1123598813738675201'">
+              and dept_id=#{deptid}
+          </if>
     </select>
 
+    <!--查询当前年份已有的保安证编号,取倒数5位的最大值-->
+    <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="getNotApplyIdList" resultType="org.springblade.modules.system.entity.User">
+        select DISTINCT
+        bu.id,is_apply isApply
+        from
+        blade_user bu
+        left join
+        sys_apply sa
+        on
+        sa.user_id = bu.id
+        where 1=1
+		and (hold=2 or hold = 3)
+        and (bu.is_apply != 1 or bu.is_apply is null)
+        and (sa.apply_status !=2 or sa.apply_status is null)
+        and bu.dept_id = #{deptId}
+    </select>
+
+    <!--计算保安人员年龄-->
+    <select id="getUserAgeById" resultType="org.springblade.modules.system.vo.UserVO">
+        select id,ifnull(TIMESTAMPDIFF(YEAR, birthday, CURDATE()),0) age from blade_user where id = #{userId}
+    </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="selectUser" resultType="java.util.HashMap">
+        select CAST(id AS CHAR) as groupmember,real_name as rname from blade_user
+    </select>
+
+    <!--查询保安员信息-->
+    <select id="getUserDetails" 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
+        1=1
+        and bu.id = #{user.id}
+    </select>
+
+    <!--获取派遣信息-->
+    <select id="getDispaterInfo" resultType="java.util.HashMap">
+        select bu.*,sdu.jurisdiction from blade_user bu
+        left join
+        sys_dispatcher sd
+        on
+        bu.id = sd.user_ids
+        left join
+        sys_dispatcher_unit sdu
+        on
+        sdu.id = sd.dispatcher_unit_id
+        where
+        bu.dispatch =0
+        and bu.status = 1
+        and bu.is_deleted = 0
+        <if test="deptid!=null and deptid!=''">
+            and bu.dept_id = #{deptid}
+        </if>
+        <if test="jurisdiction!=null and jurisdiction!=''">
+            and sdu.jurisdiction = #{jurisdiction}
+        </if>
+    </select>
+
+    <!--获取工作汇报-->
+    <select id="getWorkReportInfo" resultType="java.util.HashMap">
+        select bu.*,si.jurisdiction from blade_user bu
+        left join
+        blade_dept bd
+        on
+        bd.id = bu.dept_id
+        left join
+        sys_information si
+        on
+        bd.id = si.departmentid
+        where
+        1=1
+        and bu.status = 1
+        and bu.is_deleted = 0
+        <if test="deptid!=null and deptid!=''">
+            and bu.dept_id = #{deptid}
+        </if>
+        <if test="jurisdiction!=null and jurisdiction!=''">
+            and si.jurisdiction = #{jurisdiction}
+            and dept_category=2
+        </if>
+    </select>
+
+
+    <!--获取工作汇报 向民警-->
+    <select id="getWorkReportInfos" resultType="java.util.HashMap">
+        select bu.* from blade_user bu
+        left join
+        blade_dept bd
+        on
+        bd.id = bu.dept_id
+        where
+        1=1
+        and bu.status = 1
+        and bu.is_deleted = 0
+        <if test="deptid!=null and deptid!=''">
+            and bu.dept_id = #{deptid}
+        </if>
+        <if test="jurisdiction!=null and jurisdiction!=''">
+            and bu.jurisdiction = #{jurisdiction}
+            and dept_category=2
+        </if>
+    </select>
+
+    <!--查询用的派遣信息-->
+    <select id="getDispatcherInfoByUserId" resultType="org.springblade.modules.dispatcher.vo.DispatcherVO">
+        select
+            sd.id,sdu.jurisdiction
+        from
+            sys_dispatcher sd
+        left join
+            sys_dispatcher_unit sdu
+        on
+            sdu.id = sd.dispatcher_unit_id
+        where sd.user_ids = #{userId}
+        and sd.status = 0
+    </select>
+
+    <!--查询账号相同的数量-->
+    <select id="selectCountAccount" resultType="java.lang.Integer">
+        select count(*) from blade_user where account = #{account}
+    </select>
 </mapper>

--
Gitblit v1.9.3