|
@@ -23,7 +23,6 @@
|
|
|
<result property="ownerType" column="owner_type" />
|
|
|
<result property="lastStatus" column="status" />
|
|
|
<result property="deviceStatus" column="device_status" />
|
|
|
- <result property="locationTime" column="location_time" />
|
|
|
<result property="longitude" column="longitude" />
|
|
|
<result property="latitude" column="latitude" />
|
|
|
<result property="location" column="location" />
|
|
@@ -110,7 +109,7 @@
|
|
|
SELECT
|
|
|
archives.*,
|
|
|
( CASE sta.is_online WHEN 'ONLINE' THEN 1 WHEN 'OFFLINE' THEN 2 WHEN 'MARK' THEN 3 ELSE 1 END ) AS STATUS,
|
|
|
- ( CASE ISNULL(disp.dispose_type) WHEN 0 THEN disp.dispose_type WHEN 1 THEN 1 END) AS device_status,
|
|
|
+ ( CASE ISNULL(dispose_temp.dispose_type) WHEN 0 THEN dispose_temp.dispose_type WHEN 1 THEN 1 END) AS device_status,
|
|
|
dept.pscmc AS dept_name,
|
|
|
location.longitude,
|
|
|
location.latitude,
|
|
@@ -121,9 +120,8 @@
|
|
|
LEFT JOIN ax_beidou_ship_status sta ON archives.devide_no = sta.device_id
|
|
|
INNER JOIN ax_beidou_dept dept ON archives.police_station_id = dept.pscbh
|
|
|
LEFT JOIN ax_beidou_ship_location location ON archives.devide_no = location.device_id
|
|
|
- LEFT JOIN ax_beidou_ship_dispose disp ON archives.devide_no = disp.devide_no
|
|
|
-
|
|
|
- LEFT JOIN ax_beidou_ship_dispose dispose_temp on dispose.id = dispose_temp.id-->
|
|
|
+ LEFT JOIN (select devide_no,max(id) as id from ax_beidou_ship_dispose GROUP BY devide_no) as dispose on dispose.devide_no = archives.devide_no
|
|
|
+ LEFT JOIN ax_beidou_ship_dispose dispose_temp on dispose.id = dispose_temp.id
|
|
|
where
|
|
|
1=1
|
|
|
<if test="shipId != null and shipId != ''">and (archives.ship_id like concat('%', #{shipId},'%') or archives.devide_no like concat('%', #{devideNo},'%'))</if>
|
|
@@ -137,14 +135,15 @@
|
|
|
<select id="selectById" parameterType="string" resultMap="ShipResult">
|
|
|
select archives.*,
|
|
|
(CASE sta.is_online WHEN 'ONLINE' THEN 1 WHEN 'OFFLINE' THEN 2 WHEN 'MARK' THEN 3 END) as status,
|
|
|
- dispose_temp.dispose_type as device_status,location.kwh as kwh,
|
|
|
+ IFNULL(dispose.dispose_type,'0') as device_status,location.kwh as kwh,focus.focus_id as focusId,
|
|
|
dept.pscmc as dept_name
|
|
|
from ax_beidou_ship_archives archives
|
|
|
LEFT JOIN ax_beidou_ship_status sta ON archives.devide_no = sta.device_id
|
|
|
INNER JOIN ax_beidou_dept dept on archives.police_station_id = dept.pscbh
|
|
|
- LEFT JOIN (select devide_no,max(id) as id from ax_beidou_ship_dispose GROUP BY devide_no) as dispose on dispose.devide_no = archives.devide_no
|
|
|
- LEFT JOIN ax_beidou_ship_dispose dispose_temp on dispose.id = dispose_temp.id
|
|
|
+ LEFT JOIN (select id,devide_no,dispose_type from ax_beidou_ship_dispose
|
|
|
+ where devide_no=#{devideNo} ORDER BY id DESC limit 1) as dispose on dispose.devide_no = archives.devide_no
|
|
|
LEFT JOIN ax_beidou_ship_location location on archives.devide_no = location.device_id
|
|
|
+ LEFT JOIN ax_beidou_focus_ship focus on archives.devide_no = focus.devide_no and focus.user_id=#{userId}
|
|
|
where archives.devide_no=#{devideNo}
|
|
|
</select>
|
|
|
|
|
@@ -153,8 +152,8 @@
|
|
|
SUM(CASE sta.is_online WHEN 'MARK' THEN 1 ELSE 0 END ) as mark,
|
|
|
SUM(CASE sta.is_online WHEN 'ONLINE' THEN 1 ELSE 0 END ) as onlineTotal,
|
|
|
SUM(CASE sta.is_online WHEN 'OFFLINE' THEN 1 ELSE 0 END ) as offlineTotal,
|
|
|
- SUM(CASE sta.is_inport WHEN 1 THEN 1 ELSE 0 END) as inport,
|
|
|
- SUM(CASE sta.is_inport WHEN 0 THEN 1 ELSE 0 END) as offport
|
|
|
+ SUM(CASE sta.is_inport WHEN 'TRUE' THEN 1 ELSE 0 END) as inport,
|
|
|
+ SUM(CASE sta.is_inport WHEN 'FALSE' THEN 1 ELSE 0 END) as offport
|
|
|
from ax_beidou_ship_archives archives
|
|
|
LEFT JOIN ax_beidou_ship_status sta ON archives.devide_no = sta.device_id
|
|
|
where 1=1
|
|
@@ -166,7 +165,7 @@
|
|
|
select dis.id,dis.warning_id,dis.dispose_type,dis.dispose_suggestion,dis.dispose_picture,
|
|
|
dis.dispose_user_id,dis.dispose_time,record.warning_time from ax_beidou_ship_dispose dis
|
|
|
inner join ax_beidou_warning_record record on dis.warning_id = record.id
|
|
|
- where record.start = 'true'
|
|
|
+ where (record.`start` is null or record.`start` != 'false')
|
|
|
<if test="warningId != null and warningId != ''">and dis.warning_id = #{warningId}</if>
|
|
|
<if test="devideNo != null and devideNo != ''">and record.device_id = #{devideNo}</if>
|
|
|
ORDER BY dispose_time DESC
|