智慧保安后台管理项目备份
zhongrj
2024-05-24 b5960d1968e007b91d4d33dd7cbb74f1b566f2c1
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -39,12 +39,12 @@
        <result column="hold" property="hold"/>
        <result column="jurisdiction" property="jurisdiction"/>
        <result column="securitynumber" property="securitynumber"/>
        <result column="examination_type" property="examinationType"/>
        <result column="examination_mx" property="examinationMx"/>
        <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"/>
    </resultMap>
@@ -97,10 +97,10 @@
            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}),'%')
@@ -111,6 +111,9 @@
        <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}
        </if>
@@ -119,7 +122,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 != ''">
@@ -127,40 +131,283 @@
        </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(TIMESTAMPDIFF(YEAR, SUBSTRING(bu.cardid, 7, 8), CURDATE()),0) AS age,
        p.score
        from
        blade_user bu
        left join
        sys_information si
        on
        si.departmentid = bu.dept_id
        LEFT JOIN blade_dept d ON bu.dept_id = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = si.jurisdiction
        LEFT JOIN sys_performance p ON p.cardid = bu.cardid
        where bu.is_deleted = 0
        and bu.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 != ''">
            and bu.examination_type = #{user.examinationType}
        </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.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>
        <if test="user.securitynumber!=null and user.securitynumber != ''">
            and bu.securitynumber = #{user.securitynumber}
        </if>
        <if test="user.score!=null and user.score != ''">
            and p.score = 3
        </if>
        ORDER BY bu.id desc
    </select>
    <!--保安员列表-->
    <select id="selectUserPageSecurity" resultMap="userResultMaps">
        select
            bu.*
        bu.*,
        ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(bu.cardid, 7, 8), CURDATE()),0) AS 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
        si.departmentid = bd.id
        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.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.account!=null and user.account != ''">
            and bu.account != #{user.account}
        <if test="user.cardid!=null and user.cardid != ''">
            and bu.cardid like concat(concat('%', #{user.cardid}),'%')
        </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}
        </if>
        <if test="user.nativeplace!=null and user.nativeplace != ''">
            and bu.nativeplace = #{user.nativeplace}
        </if>
        <if test="user.sex!=null and user.sex != ''">
            and bu.sex = #{user.sex}
        </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>
        <if test="user.status!=null and user.status != ''">
            and bu.status = #{user.status}
        </if>
        <if test="user.hold!=null and user.hold != ''">
            and bu.hold = #{user.hold}
        </if>
        <if test="user.type!=null">
            and bu.equipment_code is not null
        </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.securitynumber!=null and user.securitynumber != ''">
            and bu.securitynumber like concat('%', #{user.securitynumber},'%')
        </if>
        <if test="user.startTime!=null and user.startTime!=''">
            and bu.audit_time &gt;= #{user.startTime}
        </if>
        <if test="user.endTime!=null and user.endTime!=''">
            and bu.audit_time &lt;= #{user.endTime}
        </if>
        <if test="user.useName==null or user.useName==''">
            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},bu.id
        </if>
        <if test="user.useName!=null and user.useName!='' and  user.useName=='examinationMx'">
            order by bu.examination_mx ${user.sort},bu.id
        </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>
    <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>
    <update id="updateUser">
        update blade_user
        set hold=#{hold}
        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 1 = 1
          and (examination_type is null or examination_type = "" or examination_type = null)
    </select>
    <!--根据保安员编码查询保安信息-->
    <select id="getUserInfoBySecurityNumber" resultType="org.springblade.modules.system.vo.UserVO">
        select bu.*,
               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>
    <!--保安员列表-->
    <select id="exportSecurity" resultType="org.springblade.modules.system.excel.SecurityExcel">
        select
        bu.real_name realName,
        bd.dept_name as deptName,
        if(bu.sex=1,'男','女') sex,
        bu.cardid,
        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.audit_time auditTime
        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
        <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.cardid!=null and user.cardid != ''">
            and bu.cardid like concat(concat('%', #{user.cardid}),'%')
@@ -182,58 +429,121 @@
        </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.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
            (
            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.startTime!=null and user.startTime!=''">
            and bu.audit_time &gt;= #{user.startTime}
        </if>
        <if test="user.endTime!=null and 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="")
        </if>
        <if test="user.examinationType==1">
            and bu.examination_type = #{user.examinationType}
        </if>
        <if test="user.useName==null or user.useName==''">
            order by bu.id
            order by bu.examination_type desc,bu.id
        </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}
        </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}
        </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 id="selectPeo" resultType="java.util.HashMap">
        select
        bu.*,
        ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(bu.cardid, 7, 8), CURDATE()),0) AS 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 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>
    <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="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>
    <update id="updateUser">
        update blade_user set hold=#{hold} 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>
</mapper>