智慧保安后台管理-外网
Administrator
2022-06-16 8b375fe00a241b3a769b82fe3dac8d1c9dce8a02
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -53,7 +53,9 @@
    <!--带坐标-->
    <select id="selectUserPages" resultMap="userResultMap">
        select
        bu.*,
        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
@@ -78,11 +80,20 @@
        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
        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>
@@ -90,7 +101,25 @@
            and bu.hold = #{user.hold}
        </if>
        <if test="user.deptId!=null and user.deptId != ''">
            and bu.dept_id = #{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}
@@ -98,8 +127,17 @@
        <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.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})
@@ -108,7 +146,33 @@
            and bu.real_name like concat('%', #{user.realName},'%')
        </if>
        <if test="user.dispatch!=null and user.dispatch != ''">
            and bu.dispatch = #{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.ageType==1">
            and age >=18 and age &lt;=30
        </if>
        <if test="user.ageType==2">
            and age >30 and age &lt;=45
        </if>
        <if test="user.ageType==3">
            and age >45 and age &lt;=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}
@@ -119,10 +183,159 @@
        <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 test="user.sortName!=null and user.sortName!=''">
            ORDER BY bu.${user.sortName} ${user.sort},bu.id desc
        </if>
        ORDER BY bu.id
        <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 &lt;=30
        </if>
        <if test="user.ageType==2">
            and age >30 and age &lt;=45
        </if>
        <if test="user.ageType==3">
            and age >45 and age &lt;=60
        </if>
    </select>
    <select id="selectUserPage" resultMap="userResultMap">
@@ -132,13 +345,13 @@
        on
        bd.id = bu.dept_id
        left join
        sys_information si
        on
        si.departmentid = bd.id
        left join
        sys_jurisdiction sj
        on
        sj.id = si.jurisdiction
        sj.id = bu.jurisdiction
        left join
        blade_role br
        on
        br.id = bu.role_id
        where bu.is_deleted = 0
        <if test="user.tenantId!=null and user.tenantId != ''">
            and tenant_id = #{user.tenantId}
@@ -146,11 +359,32 @@
        <if test="user.account!=null and user.account != ''">
            and account like concat('%', #{user.account},'%')
        </if>
        <if test="user.roleId!=null and user.roleId != ''">
            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}),'%')
        </if>
        <if test="user.deptId!=null and user.deptId != ''">
            and (bd.id = #{user.deptId} or bd.parent_id = #{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.userType!=null and user.userType != ''">
            and user_type = #{user.userType}
@@ -176,7 +410,7 @@
        <if test="user.examinationType!=null and user.examinationType != ''">
            and examination_type = #{user.examinationType}
        </if>
        ORDER BY bu.id
        ORDER BY bu.id desc
    </select>
    <select id="getUser" resultMap="userResultMap">
@@ -207,16 +441,19 @@
    <!--通过 身份证号查询用户信息-->
    <select id="getUserInfoByIdCardNo" resultType="org.springblade.modules.system.entity.User">
        SELECT id, name, real_name RealName
        SELECT id, name, real_name RealName,securitynumber
        FROM blade_user
        where cardid = #{param1}
        where 1=1
        and is_deleted = 0
        and status = 1
        and cardid = #{param1}
    </select>
    <!--保安员列表-->
    <select id="selectUserPageSecurity" resultMap="userResultMap">
        select
        bu.*
        bu.*,IF(mod(SUBSTR(bu.cardid,17,1),2),1,2) sexs
        from
        blade_user bu
        left join
@@ -255,6 +492,9 @@
        </if>
        <if test="user.status!=null and user.status != ''">
            and bu.status = #{user.status}
        </if>
        <if test="user.equipmentCode!=null">
            and bu.equipment_code !="" and bu.equipment_code is not null and bu.equipment_code !=null
        </if>
        <if test="user.jurisdiction!=null and user.jurisdiction != ''">
            and bu.jurisdiction = #{user.jurisdiction}
@@ -315,42 +555,105 @@
            select #{user.deptId} as id,
                '全部' as name,
                0 as parentId
                from blade_user
                from blade_user limit 1
        )
        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
            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(TIMESTAMPDIFF(YEAR, SUBSTRING(bu.cardid, 7, 8), CURDATE()),0) AS age,
                    bu.is_apply isApply,
                    bu.is_train isTrain,
                    bu.account 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 bu.is_apply != 1
                and a.isApply != 1
            </if>
            <if test="user.examType==2">
                and bu.is_train != 1
                and a.isTrain != 1
            </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">
@@ -386,7 +689,11 @@
    <!--计算保安人员年龄-->
    <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 id,real_name realName,ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(cardid, 7, 8), CURDATE()),0) AS age,securitynumber,cardid
        from
        blade_user
        where
        id = #{userId}
    </select>
@@ -394,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
@@ -402,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>
@@ -516,7 +832,10 @@
    <!--查询账号相同的数量-->
    <select id="selectCountAccount" resultType="java.lang.Integer">
        select count(*) from blade_user where account = #{account}
        select count(*) from blade_user where 1=1
        and status = 1
        and is_deleted = 0
        and account = #{account}
    </select>
    <!--查询当前部门名称及父级部门名称-->
@@ -535,4 +854,368 @@
        and is_deleted = 0
        and status = 1
    </select>
    <!--现场检查获取保安员-->
    <select id="getSecurityInfo" 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
        left join
        sys_jurisdiction sj
        on
        sj.id = si.jurisdiction
        left join
        blade_role br
        on
        br.id = bu.role_id
        where
        1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})
        </if>
        and bu.status = 1
        and bu.is_deleted = 0
        and br.role_alias = "保安"
    </select>
    <!--保安员列表树 安员列表树,帅选无保安证,下拉tree-->
    <select id="getSecurityDispatcherTree" resultType="org.springblade.modules.system.node.TreeNode">
        (
        select #{user.deptId} as id,
        '全选' as name,
        0 as parentId
        from blade_user
        )
        union all
        (
        select
        distinct
        bu.id,
        bu.account 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 bd.is_deleted = 0
        and bd.id = #{user.deptId}
        and br.role_alias = '保安'
        and bu.dispatch = 1
        )
    </select>
    <!--导出保安员信息-->
    <select id="exportSecurityInfo" resultType="org.springblade.modules.system.excel.ExportSecurityExcel">
        select
        distinct bu.id,
        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.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},'%')
        </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.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.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>
    </select>
    <!--查询押运人员编码不为null的保安信息-->
    <select id="selectEquipent" resultType="java.util.HashMap">
        SELECT id,
               equipment_code as code
        FROM blade_user
        WHERE dept_id = '1460129345988239362'
          AND role_id = '1412226235153731586'
          AND is_deleted = 0
          AND `status` = 1
          AND equipment_code IS NOT NULL
          AND equipment_code!=""
    </select>
    <!--查詢用戶派遣記錄信息-->
    <select id="getUserDispatcherInfo" resultType="org.springblade.modules.dispatcher.vo.DispatcherVO">
        select
        sdu.name dispatcherCompany,
        dispatcherTime dispatchertime,
        sd.end_time endTime
        from blade_user bu
        left join
        sys_dispatcher sd
        on
        sd.user_ids = bu.id
        left join
        sys_dispatcher_unit sdu
        on
        sdu.id = sd.dispatcher_unit_id
        where 1=1
        and sd.status = 0
        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 &lt;=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 &lt;=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 &lt;=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>