智慧保安后台管理项目备份
zhongrj
2024-05-24 b5960d1968e007b91d4d33dd7cbb74f1b566f2c1
src/main/java/org/springblade/modules/location/mapper/LiveLocationMapper.xml
@@ -34,6 +34,23 @@
        </if>
    </select>
    <!--获取实时位置信息-->
    <select id="getLiveLocationInfo" resultType="org.springblade.modules.location.entity.LiveLocation">
        SELECT
        *
        FROM
        sys_live_location
        WHERE
        1=1
        <if test="liveLocation.type!=null">
            and type = #{liveLocation.type}
        </if>
        <if test="liveLocation.workerId!=null and liveLocation.workerId!=''">
            and worker_id = #{liveLocation.workerId}
        </if>
    </select>
    <!--获取轨迹数据-->
    <select id="getLocusInfoList" resultType="org.springblade.modules.location.vo.LocusVo">
        select
@@ -58,6 +75,184 @@
        <if test="liveLocation.endTime!=null and liveLocation.endTime!=''">
            and sl.record_time &lt;= #{liveLocation.endTime}
        </if>
        order by sl.record_time desc
    </select>
    <!--保安人员的实时位置信息-->
    <select id="getSecurityLocusInfoList" resultType="org.springblade.modules.location.vo.LiveLocationVo">
        SELECT
            sll.*,
            bu.real_name name,bu.phone tel,
            bd.dept_name company
        FROM
            sys_live_location sll
        left join
            blade_user bu
        on
            sll.worker_id = bu.id
        left join
            blade_dept bd
        on
            bu.dept_id = bd.id
        where
            sll.type=1
    </select>
    <!--车辆的实时位置信息-->
    <select id="getCarLocusInfoList" resultType="org.springblade.modules.location.vo.LiveLocationVo">
        SELECT
            sll.*,
            sc.car_number carNum,sc.person_in_charge linkman,
            bd.dept_name company
        FROM
            sys_live_location sll
        left join
            sys_car sc
        on
            sll.worker_id = sc.id
        left join
            blade_dept bd
        on
            sc.dept_id = bd.id
        where
            sll.type=2
    </select>
    <!--枪支的实时位置信息-->
    <select id="getGunLocusInfoList" resultType="org.springblade.modules.location.vo.LiveLocationVo">
        SELECT
            sll.*,
            sg.gun_card_number number,sg.person_in_charge linkman,
            bd.dept_name company
        FROM
            sys_live_location sll
        left join
            sys_gun sg
        on
            sll.worker_id = sg.id
        left join
            blade_dept bd
        on
            sg.dept_id = bd.id
        where
            sll.type=3
    </select>
    <!--枪支的实时位置信息-->
    <select id="selectSecurityAndCarAndGunLiveLocationPage" resultType="org.springblade.modules.location.vo.LiveLocationVo">
        (SELECT
            sll.*,
            bu.real_name name,
            null as number,
            null as linkman,
            null as carNum,
            bu.phone tel,
            bd.dept_name company
        FROM
            sys_live_location sll
        left join
            blade_user bu
        on
            sll.worker_id = bu.id
        left join
            blade_dept bd
        on
            bu.dept_id = bd.id
        where
            sll.type=1)
        union all
        (SELECT
            sll.*,
            null as name,
            null as number,
            sc.person_in_charge linkman,
            sc.car_number carNum,
            null as tel,
            bd.dept_name company
        FROM
            sys_live_location sll
        left join
            sys_car sc
        on
            sll.worker_id = sc.id
        left join
            blade_dept bd
        on
            sc.dept_id = bd.id
        where
            sll.type=2)
        union all
       (SELECT
            sll.*,
         null as name,
            sg.gun_card_number number,
            sg.person_in_charge linkman,
            null as carNum,
            null as tel,
            bd.dept_name company
        FROM
            sys_live_location sll
        left join
            sys_gun sg
        on
            sll.worker_id = sg.id
        left join
            blade_dept bd
        on
            sg.dept_id = bd.id
        where
            sll.type=3)
    </select>
    <!--查询指令接收人的定位信息-->
    <select id="getDirectiveLiveLocationVo" resultType="org.springblade.modules.location.vo.LiveLocationVo">
        select
        *
        from
        sys_live_location
        where
        1=1
        <if test="liveLocation.type!=null and liveLocation.type!=''">
            and type = #{liveLocation.type}
        </if>
        <if test="liveLocation.workerId!=null and liveLocation.workerId!=''">
            and worker_id = #{liveLocation.workerId}
        </if>
    </select>
    <!--查询指令接收人的定位信息-->
    <select id="getDirectiveLocusInfoList" resultType="org.springblade.modules.location.vo.LocusVo">
        select
        sl.*
        from
        sys_locus sl
        left join
        sys_live_location sll
        on
        sll.id = sl.live_location_id
        where
        1=1
        <if test="liveLocation.type!=null and liveLocation.type!=''">
            and sll.type = #{liveLocation.type}
        </if>
        <if test="liveLocation.workerId!=null and liveLocation.workerId!=''">
            and sll.worker_id = #{liveLocation.workerId}
        </if>
    </select>
</mapper>