<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="org.springblade.modules.location.mapper.LiveLocationMapper">
|
|
<!--实时位置分页信息-->
|
<select id="selectLiveLocationPage" resultType="org.springblade.modules.location.vo.LiveLocationVo">
|
SELECT
|
*
|
FROM
|
sys_live_location
|
WHERE
|
1=1
|
<if test="liveLocation.startTime!=null and liveLocation.startTime!=''">
|
and record_time >= #{liveLocation.startTime}
|
</if>
|
<if test="liveLocation.endTime!=null and liveLocation.endTime!=''">
|
and record_time <= #{liveLocation.endTime}
|
</if>
|
</select>
|
|
<!--实时位置详情信息-->
|
<select id="selectLiveLocationInfo" resultType="org.springblade.modules.location.vo.LiveLocationVo">
|
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="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
|
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>
|
<if test="liveLocation.startTime!=null and liveLocation.startTime!=''">
|
and sl.record_time >= #{liveLocation.startTime}
|
</if>
|
<if test="liveLocation.endTime!=null and liveLocation.endTime!=''">
|
and sl.record_time <= #{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>
|
|
|
|
|
|
|
|
|
|
|
|
</mapper>
|