|
|
|
@ -121,82 +121,16 @@ |
|
|
|
<select id="getPresentReadingPage" |
|
|
|
parameterType="com.xr.device_display.modules.analysis.vo.MeterReadingRecordQueryVo" |
|
|
|
resultType="com.xr.device_display.modules.analysis.dto.PresentReadingQueryDto"> |
|
|
|
SELECT |
|
|
|
* |
|
|
|
FROM |
|
|
|
( |
|
|
|
SELECT |
|
|
|
mc.id, |
|
|
|
mrr.meter_code, |
|
|
|
mrr.meter_type_name, |
|
|
|
mrr.reading_value, |
|
|
|
mrr.meter_type_id, |
|
|
|
t1.reading_time, |
|
|
|
'1' AS "queryType", |
|
|
|
mc.voltage_class, |
|
|
|
mc.owning_interval, |
|
|
|
mc.device_name |
|
|
|
FROM |
|
|
|
( SELECT meter_id, MAX( reading_time ) AS reading_time FROM meter_reading_record WHERE reading_type = 1 GROUP BY |
|
|
|
meter_id ) AS t1 |
|
|
|
LEFT JOIN meter_reading_record AS mrr ON t1.meter_id = mrr.meter_id |
|
|
|
AND t1.reading_time = mrr.reading_time |
|
|
|
LEFT JOIN meter_config AS mc ON t1.meter_id = mc.id UNION ALL |
|
|
|
SELECT |
|
|
|
mc.id, |
|
|
|
mc.meter_code, |
|
|
|
lds5000.lds_desc AS meter_type_name, |
|
|
|
lds5000.f AS reading_value, |
|
|
|
mc.type_id AS meter_type_id, |
|
|
|
lds5000.t AS reading_time, |
|
|
|
'2' AS "queryType", |
|
|
|
mc.voltage_class, |
|
|
|
mc.owning_interval, |
|
|
|
SELECT mrr.*, |
|
|
|
mc.device_name |
|
|
|
FROM |
|
|
|
meter_config AS mc |
|
|
|
LEFT JOIN lds5000 ON mc.ids5000_id = lds5000.id |
|
|
|
WHERE |
|
|
|
lds5000.f IS NOT NULL UNION ALL |
|
|
|
SELECT |
|
|
|
"12" AS "id", |
|
|
|
"meter010" AS "meter_code", |
|
|
|
lds5000.lds_desc AS meter_type_name, |
|
|
|
lds5000.f AS reading_value, |
|
|
|
mc.type_id AS "meter_type_id", |
|
|
|
lds5000.t AS reading_time, |
|
|
|
'3' AS "queryType", |
|
|
|
mc.voltage_class, |
|
|
|
mc.owning_interval, |
|
|
|
mc.device_name |
|
|
|
FROM |
|
|
|
lds5000 |
|
|
|
LEFT JOIN meter_config AS mc ON mc.meter_code = "meter010" |
|
|
|
WHERE |
|
|
|
type = '1' |
|
|
|
AND fc = "MX" UNION ALL |
|
|
|
SELECT |
|
|
|
"12" AS "id", |
|
|
|
"meter010" AS "meter_code", |
|
|
|
lds5000.lds_desc AS meter_type_name, |
|
|
|
lds5000.st_val AS reading_value, |
|
|
|
mc.type_id AS "meter_type_id", |
|
|
|
lds5000.t AS reading_time, |
|
|
|
'4' AS "queryType", |
|
|
|
mc.voltage_class, |
|
|
|
mc.owning_interval, |
|
|
|
mc.device_name |
|
|
|
FROM |
|
|
|
lds5000 |
|
|
|
LEFT JOIN meter_config AS mc ON mc.meter_code = "meter010" |
|
|
|
WHERE |
|
|
|
type = '1' |
|
|
|
AND fc = "ST" |
|
|
|
) AS C1 |
|
|
|
FROM meter_reading_record AS mrr |
|
|
|
JOIN ( |
|
|
|
SELECT meter_id, MAX(create_time) AS max_create_time |
|
|
|
FROM meter_reading_record |
|
|
|
GROUP BY meter_id |
|
|
|
) AS max_times ON mrr.meter_id = max_times.meter_id AND mrr.create_time = max_times.max_create_time |
|
|
|
LEFT JOIN meter_config AS mc ON mrr.meter_id = mc.id |
|
|
|
<where> |
|
|
|
<if test="vo.queryType != null and vo.queryType != ''"> |
|
|
|
AND C1.queryType = #{vo.queryType} |
|
|
|
</if> |
|
|
|
<if test="vo.meterCode != null and vo.meterCode != ''"> |
|
|
|
AND meter_code LIKE CONCAT('%',#{vo.meterCode},'%') |
|
|
|
</if> |
|
|
|
@ -213,8 +147,108 @@ |
|
|
|
AND device_name LIKE CONCAT('%',#{vo.deviceName},'%') |
|
|
|
</if> |
|
|
|
</where> |
|
|
|
ORDER BY meter_code |
|
|
|
ORDER BY mrr.owning_interval DESC |
|
|
|
|
|
|
|
|
|
|
|
</select> |
|
|
|
|
|
|
|
<!-- <select id="getPresentReadingPage"--> |
|
|
|
<!-- parameterType="com.xr.device_display.modules.analysis.vo.MeterReadingRecordQueryVo"--> |
|
|
|
<!-- resultType="com.xr.device_display.modules.analysis.dto.PresentReadingQueryDto">--> |
|
|
|
<!-- SELECT--> |
|
|
|
<!-- *--> |
|
|
|
<!-- FROM--> |
|
|
|
<!-- (--> |
|
|
|
<!-- SELECT--> |
|
|
|
<!-- mc.id,--> |
|
|
|
<!-- mrr.meter_code,--> |
|
|
|
<!-- mrr.meter_type_name,--> |
|
|
|
<!-- mrr.reading_value,--> |
|
|
|
<!-- mrr.meter_type_id,--> |
|
|
|
<!-- t1.reading_time,--> |
|
|
|
<!-- '1' AS "queryType",--> |
|
|
|
<!-- mc.voltage_class,--> |
|
|
|
<!-- mc.owning_interval,--> |
|
|
|
<!-- mc.device_name--> |
|
|
|
<!-- FROM--> |
|
|
|
<!-- ( SELECT meter_id, MAX( reading_time ) AS reading_time FROM meter_reading_record WHERE reading_type = 1 GROUP BY--> |
|
|
|
<!-- meter_id ) AS t1--> |
|
|
|
<!-- LEFT JOIN meter_reading_record AS mrr ON t1.meter_id = mrr.meter_id--> |
|
|
|
<!-- AND t1.reading_time = mrr.reading_time--> |
|
|
|
<!-- LEFT JOIN meter_config AS mc ON t1.meter_id = mc.id UNION ALL--> |
|
|
|
<!-- SELECT--> |
|
|
|
<!-- mc.id,--> |
|
|
|
<!-- mc.meter_code,--> |
|
|
|
<!-- lds5000.lds_desc AS meter_type_name,--> |
|
|
|
<!-- lds5000.f AS reading_value,--> |
|
|
|
<!-- mc.type_id AS meter_type_id,--> |
|
|
|
<!-- lds5000.t AS reading_time,--> |
|
|
|
<!-- '2' AS "queryType",--> |
|
|
|
<!-- mc.voltage_class,--> |
|
|
|
<!-- mc.owning_interval,--> |
|
|
|
<!-- mc.device_name--> |
|
|
|
<!-- FROM--> |
|
|
|
<!-- meter_config AS mc--> |
|
|
|
<!-- LEFT JOIN lds5000 ON mc.ids5000_id = lds5000.id--> |
|
|
|
<!-- WHERE--> |
|
|
|
<!-- lds5000.f IS NOT NULL UNION ALL--> |
|
|
|
<!-- SELECT--> |
|
|
|
<!-- "12" AS "id",--> |
|
|
|
<!-- "meter010" AS "meter_code",--> |
|
|
|
<!-- lds5000.lds_desc AS meter_type_name,--> |
|
|
|
<!-- lds5000.f AS reading_value,--> |
|
|
|
<!-- mc.type_id AS "meter_type_id",--> |
|
|
|
<!-- lds5000.t AS reading_time,--> |
|
|
|
<!-- '3' AS "queryType",--> |
|
|
|
<!-- mc.voltage_class,--> |
|
|
|
<!-- mc.owning_interval,--> |
|
|
|
<!-- mc.device_name--> |
|
|
|
<!-- FROM--> |
|
|
|
<!-- lds5000--> |
|
|
|
<!-- LEFT JOIN meter_config AS mc ON mc.meter_code = "meter010"--> |
|
|
|
<!-- WHERE--> |
|
|
|
<!-- type = '1'--> |
|
|
|
<!-- AND fc = "MX" UNION ALL--> |
|
|
|
<!-- SELECT--> |
|
|
|
<!-- "12" AS "id",--> |
|
|
|
<!-- "meter010" AS "meter_code",--> |
|
|
|
<!-- lds5000.lds_desc AS meter_type_name,--> |
|
|
|
<!-- lds5000.st_val AS reading_value,--> |
|
|
|
<!-- mc.type_id AS "meter_type_id",--> |
|
|
|
<!-- lds5000.t AS reading_time,--> |
|
|
|
<!-- '4' AS "queryType",--> |
|
|
|
<!-- mc.voltage_class,--> |
|
|
|
<!-- mc.owning_interval,--> |
|
|
|
<!-- mc.device_name--> |
|
|
|
<!-- FROM--> |
|
|
|
<!-- lds5000--> |
|
|
|
<!-- LEFT JOIN meter_config AS mc ON mc.meter_code = "meter010"--> |
|
|
|
<!-- WHERE--> |
|
|
|
<!-- type = '1'--> |
|
|
|
<!-- AND fc = "ST"--> |
|
|
|
<!-- ) AS C1--> |
|
|
|
<!-- <where>--> |
|
|
|
<!-- <if test="vo.queryType != null and vo.queryType != ''">--> |
|
|
|
<!-- AND C1.queryType = #{vo.queryType}--> |
|
|
|
<!-- </if>--> |
|
|
|
<!-- <if test="vo.meterCode != null and vo.meterCode != ''">--> |
|
|
|
<!-- AND meter_code LIKE CONCAT('%',#{vo.meterCode},'%')--> |
|
|
|
<!-- </if>--> |
|
|
|
<!-- <if test="vo.meterTypeId != null and vo.meterTypeId != ''">--> |
|
|
|
<!-- AND meter_type_id = #{vo.meterTypeId}--> |
|
|
|
<!-- </if>--> |
|
|
|
<!-- <if test="vo.voltageClass != null and vo.voltageClass != ''">--> |
|
|
|
<!-- AND voltage_class = #{vo.voltageClass}--> |
|
|
|
<!-- </if>--> |
|
|
|
<!-- <if test="vo.owningInterval != null and vo.owningInterval !=''">--> |
|
|
|
<!-- AND owning_interval LIKE CONCAT('%',#{vo.owningInterval},'%')--> |
|
|
|
<!-- </if>--> |
|
|
|
<!-- <if test="vo.deviceName != null and vo.deviceName !=''">--> |
|
|
|
<!-- AND device_name LIKE CONCAT('%',#{vo.deviceName},'%')--> |
|
|
|
<!-- </if>--> |
|
|
|
<!-- </where>--> |
|
|
|
<!-- ORDER BY meter_code--> |
|
|
|
<!-- </select>--> |
|
|
|
|
|
|
|
</mapper> |
|
|
|
|
|
|
|
|