智慧保安后台管理-外网-验收版本
Administrator
2021-12-04 f7115db7eb622bcd2dd4ec62ce6f2b380a46bc08
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -45,6 +45,9 @@
        <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>
    <!--带坐标-->
@@ -60,6 +63,14 @@
        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
@@ -69,57 +80,47 @@
        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>
        <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 = '保安' or br.role_alias = '未持证保安')
            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!='1123598813738675201'">
            and bu.jurisdiction = #{user.jurisdiction}
        <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 = #{user.securitynumber}
            and bu.securitynumber like concat('%', #{user.securitynumber},'%')
        </if>
        <if test="user.examinationType!=null and user.examinationType != ''">
        <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>
        <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>
@@ -130,7 +131,7 @@
            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}),'%')
@@ -160,19 +161,6 @@
        </if>
        <if test="user.examinationType!=null and user.examinationType != ''">
            and examination_type = #{user.examinationType}
        </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>
        ORDER BY id
    </select>
@@ -207,6 +195,8 @@
        SELECT id, name, real_name RealName
        FROM blade_user
        where cardid = #{param1}
        and is_deleted = 0
        and status = 1
    </select>
@@ -220,10 +210,13 @@
        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
        bd.dept_category = 1
        and role_alias = '保安'
        <if test="user.realName!=null and user.realName != ''">
            and bu.real_name like concat(concat('%', #{user.realName}),'%')
        </if>
@@ -239,11 +232,16 @@
        <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.hold!=null and user.hold != ''">
            and bu.hold = #{user.hold}
        </if>
        <if test="user.jurisdiction!=null and user.jurisdiction != ''">
            and bu.jurisdiction = #{user.jurisdiction}
@@ -267,14 +265,12 @@
        where
        bu.is_deleted = 0
        and
        bd.dept_category = 1
        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 sa.is_apply = #{user.isApply}
            and bu.is_apply = #{user.isApply}
        </if>
        <if test="user.roleId!=null and user.roleId != ''">
            and bu.role_id = #{user.roleId}
@@ -296,46 +292,87 @@
    <!--保安员列表树 安员列表树,帅选无保安证,下拉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 #{user.deptId} as id,
            '全部' as name,
            0 as parentId
            from blade_user)
        union all
        (select
            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
        bd.dept_category = 1
        and
        (hold = 2 or hold = 3)
        and bd.id = #{user.deptId}
        )
            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="selectInr" resultType="java.util.HashMap">
        SELECT real_name as realName,id FROM  blade_user
        WHERE role_id='1412226235153731586'
        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 count(*) from blade_user
        select ifnull(max(0+RIGHT(securitynumber,5)),0) from blade_user
        where securitynumber like concat('%', #{pre},'%')
    </select>
@@ -360,4 +397,130 @@
    <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
        left join
        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>