INSERT INTO status
device_no,
device_name,
device_status,
device_id,
time,
success_rate,
lost_rate,
device_ip,
#{status.deviceNo,jdbcType=VARCHAR},
#{status.deviceName,jdbcType=VARCHAR},
#{status.deviceStatus,jdbcType=INTEGER},
#{status.deviceId,jdbcType=BIGINT},
#{status.time,jdbcType=DATE},
#{status.successRate,jdbcType=VARCHAR},
#{status.lostRate,jdbcType=VARCHAR},
#{status.deviceIp,jdbcType=VARCHAR}
select id, device_no, device_name, device_status, time from status
select s.id, s.device_no, s.device_name,s.time,
d.device_ip,s.success_rate,s.lost_rate,e.manufacturer,e.model,d.facilities_type,d.remark,COALESCE(d.child_type,
d.device_type) AS type,
CASE
WHEN d.direction = 1 THEN '菏泽方向'
WHEN d.direction = 3 THEN '济南方向'
ELSE '双向'
END AS direction,
CASE
WHEN s.device_status = 1 THEN '在线'
WHEN s.device_status = 0 THEN '离线'
ELSE '设备未接入'
END AS device_status
from dc_device d
LEFT JOIN status s on (s.device_id = d.id)
LEFT JOIN dc_product e on e.id = d.product_id
AND s.time BETWEEN #{status.startTime,jdbcType=DATE} AND #{status.time,jdbcType=DATE}
AND s.device_no = #{status.deviceNo}
AND (d.device_type in
#{typeItem}
or d.child_type in
#{typeItem}
)
AND s.device_id = #{status.deviceId}
AND d.use_state = #{status.useState}
AND s.device_name like concat('%', #{status.deviceName}, '%')
AND d.direction = #{status.direction}
ORDER BY ${status.orderByField} ${status.orderDirection}
select s.id, s.device_no, s.device_name, s.device_status,s.time, d.device_ip,s.success_rate,s.lost_rate,d.direction,e.manufacturer,e.model,d.facilities_type,d.remark,COALESCE(d.child_type, d.device_type) AS type
from dc_device d
LEFT JOIN status s on (s.device_id=d.id)
LEFT JOIN dc_product e on e.id=d.product_id
AND s.time BETWEEN #{status.startTime,jdbcType=DATE} AND #{status.time,jdbcType=DATE}
AND s.device_no = #{status.deviceNo}
AND (d.device_type = #{status.type} or d.child_type=#{status.type})
AND s.device_id = #{status.deviceId}
AND d.use_state = #{status.useState}
AND s.device_name like concat('%', #{status.deviceName}, '%')
AND d.direction = #{status.direction}
ORDER BY ${status.orderByField} ${status.orderDirection}
select s.id, s.device_no, s.device_name, s.device_status,s.time,
d.device_ip,s.success_rate,s.lost_rate,d.direction,e.manufacturer,e.model,d.facilities_type,d.remark,COALESCE(d.child_type,
d.device_type) AS type
from dc_device d
LEFT JOIN status s on (s.device_id=d.id)
LEFT JOIN dc_product e on e.id=d.product_id
AND s.time BETWEEN #{status.startTime,jdbcType=DATE} AND #{status.time,jdbcType=DATE}
AND s.device_no = #{status.deviceNo}
AND (d.device_type in
#{typeItem}
or d.child_type in
#{typeItem}
)
AND s.device_id = #{status.deviceId}
AND d.use_state = #{status.useState}
AND s.device_name like concat('%', #{status.deviceName}, '%')
AND d.direction = #{status.direction}
ORDER BY ${status.orderByField} ${status.orderDirection}
SELECT COALESCE
(d.child_type,d.device_type ) AS type,
s.time,
ROUND( avg( s.success_rate ), 2 ) success_rate
FROM
status s
LEFT JOIN dc_device d ON s.device_id = d.id
AND s.time BETWEEN #{status.startTime,jdbcType=DATE} AND #{status.time,jdbcType=DATE}
AND (d.device_type in
#{typeItem}
or d.child_type in
#{typeItem}
)
AND s.device_id = #{status.deviceId}
AND d.use_state = #{status.useState}
AND s.device_name like concat('%', #{status.deviceName}, '%')
AND d.direction = #{status.direction}
GROUP BY
d.child_type,
d.device_type,
DAY (s.time)
ORDER BY ${status.orderByField} ${status.orderDirection}
select s.id, s.device_no, s.device_name, s.device_status,s.time,
d.device_ip,s.success_rate,s.lost_rate,d.direction,e.manufacturer,e.model,d.facilities_type,m.section_id,d.remark,COALESCE(d.child_type,
d.device_type) AS type
from dc_device d
LEFT JOIN dc_stake_mark m on m.stake_mark=d.stake_mark and m.direction = d.direction
LEFT JOIN dc_road_section r on r.id=m.section_id
LEFT JOIN status s on (s.device_id=d.id)
LEFT JOIN dc_product e on e.id=d.product_id
AND s.time BETWEEN #{status.startTime,jdbcType=DATE} AND #{status.time,jdbcType=DATE}
AND s.device_no = #{status.deviceNo}
AND (d.device_type = #{status.type} or d.child_type=#{status.type})
AND s.device_id = #{status.deviceId}
AND d.use_state = #{status.useState}
AND s.device_name like concat('%', #{status.deviceName}, '%')
AND d.direction = #{status.direction}
ORDER BY ${status.orderByField} ${status.orderDirection}
select s.id,s.time,s.success_rate,s.lost_rate
from status s
AND s.time BETWEEN #{status.startTime,jdbcType=DATE} AND #{status.time,jdbcType=DATE}
AND s.device_id = #{status.deviceId}
AND s.device_name like concat('%', #{status.deviceName}, '%')
AND d.direction = #{status.direction}
ORDER BY ${status.orderByField} ${status.orderDirection}
DELETE FROM status
AND status.time < #{startTime,jdbcType=DATE}