2025-04-23 17:56:18 +08:00
|
|
|
<?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="com.yfd.platform.modules.auxcontrol.mapper.DeviceWorkDataMapper">
|
|
|
|
|
2025-04-27 18:15:00 +08:00
|
|
|
<select id="getDeviceWorkDataPage" resultType="com.yfd.platform.modules.auxcontrol.domain.DeviceWorkData">
|
|
|
|
SELECT
|
|
|
|
station_id,
|
|
|
|
device_id,
|
2025-05-12 14:35:37 +08:00
|
|
|
systemcode,
|
2025-04-27 18:15:00 +08:00
|
|
|
device_name,
|
|
|
|
signal_id,
|
|
|
|
signal_name,
|
|
|
|
`value`,
|
|
|
|
unit,
|
|
|
|
start_time
|
|
|
|
FROM
|
|
|
|
fk_device_work_data
|
|
|
|
WHERE 1=1
|
2025-05-12 14:35:37 +08:00
|
|
|
<if test="signalId != null and signalId != ''">
|
|
|
|
AND signal_id=#{signalId}
|
|
|
|
</if>
|
|
|
|
|
2025-04-27 18:15:00 +08:00
|
|
|
<if test="startDate != null and startDate != ''">
|
|
|
|
AND start_time >= #{startDate}
|
|
|
|
</if>
|
|
|
|
<if test="endDate != null and endDate != ''">
|
|
|
|
AND start_time <= #{endDate}
|
|
|
|
</if>
|
|
|
|
ORDER BY start_time DESC
|
|
|
|
|
|
|
|
</select>
|
2025-04-28 11:56:16 +08:00
|
|
|
<select id="getHistoricalCurve" resultType="com.yfd.platform.modules.auxcontrol.domain.DeviceWorkData">
|
|
|
|
SELECT
|
|
|
|
start_time,
|
|
|
|
`value`,
|
|
|
|
unit
|
|
|
|
FROM
|
|
|
|
fk_device_work_data
|
|
|
|
WHERE
|
2025-04-28 15:43:54 +08:00
|
|
|
signal_id=#{signalId}
|
2025-04-28 11:56:16 +08:00
|
|
|
AND start_time >= NOW() - INTERVAL 1 HOUR
|
|
|
|
ORDER BY
|
|
|
|
start_time DESC
|
|
|
|
</select>
|
2025-05-09 17:27:09 +08:00
|
|
|
<select id="getDeviceWorkData" resultType="java.util.Map">
|
|
|
|
SELECT
|
|
|
|
di.*,-- 保留第一个子查询的所有字段
|
|
|
|
COALESCE ( sub.yc_value, '无' ) AS value
|
|
|
|
,-- 将 NULL 转为 "无"
|
|
|
|
di.unit,
|
|
|
|
sub.signalId AS sub_signalId,-- 可选:重命名避免字段冲突
|
|
|
|
sub.ip AS sub_ip
|
|
|
|
FROM
|
|
|
|
(
|
|
|
|
SELECT
|
|
|
|
*,
|
|
|
|
JSON_UNQUOTE(
|
|
|
|
JSON_EXTRACT( custom1, '$.signalId' )) AS signalId,
|
|
|
|
JSON_UNQUOTE(
|
|
|
|
JSON_EXTRACT( custom1, '$.unit' )) AS unit,
|
|
|
|
JSON_UNQUOTE(
|
|
|
|
JSON_EXTRACT( custom1, '$.ip' )) AS ip -- 确保提取的是 ip 字段
|
|
|
|
|
|
|
|
FROM
|
|
|
|
sys_dictionary_items
|
|
|
|
WHERE
|
|
|
|
dictid = 'ca593d0a2a60f7ef37c89e615b97024b'
|
|
|
|
) di
|
|
|
|
LEFT JOIN (-- 使用 LEFT JOIN 保留 di 的所有记录
|
|
|
|
SELECT
|
|
|
|
b.yc_value,
|
|
|
|
b.signal_id AS signalId,
|
|
|
|
c.ip_addr AS ip
|
|
|
|
FROM
|
|
|
|
fk_meter_device a
|
|
|
|
INNER JOIN fk_device_signal b ON a.device_id = b.meter_device_id
|
|
|
|
INNER JOIN fk_gateway_device c ON a.netdevice_ip = c.ip_addr
|
|
|
|
) sub ON di.signalId = sub.signalId
|
|
|
|
AND di.ip = sub.ip ORDER BY orderno;
|
|
|
|
</select>
|
2025-04-23 17:56:18 +08:00
|
|
|
</mapper>
|