|
|
|
@@ -99,32 +99,45 @@ |
|
|
|
|
|
|
|
<select id="findVoList" parameterType="com.iformall.domain.dto.KwMeterDataDto" resultMap="VoResultMap"> |
|
|
|
select |
|
|
|
temp.tenant_id, |
|
|
|
<if test=" null == reportType"> |
|
|
|
temp.create_time as reportTime, |
|
|
|
</if> |
|
|
|
<if test=" null != reportType and 1 != reportType "> |
|
|
|
date_format(temp.create_time, '%Y-%m-%d %H:00') as reportTime, |
|
|
|
</if> |
|
|
|
<if test=" null != reportType and 2 != reportType "> |
|
|
|
date_format(temp.create_time, '%Y-%m-%d') as reportTime, |
|
|
|
</if> |
|
|
|
<if test=" null != reportType and 3 != reportType "> |
|
|
|
date_format(temp.create_time, '%Y-%m') as reportTime, |
|
|
|
</if> |
|
|
|
|
|
|
|
min(temp.last_device_time) as recordStartTime, |
|
|
|
max(temp.device_time) as recordEndTime, |
|
|
|
max(temp.total_power) as totalPower, |
|
|
|
sum(temp.used_power) as usedPower |
|
|
|
tenant_id, |
|
|
|
temp.reportTime as reportTime, |
|
|
|
min(temp.recordStartTime) as recordStartTime, |
|
|
|
max(temp.recordEndTime) as recordEndTime, |
|
|
|
sum(temp.totalPower) as totalPower, |
|
|
|
sum(temp.usedPower) as usedPower |
|
|
|
from |
|
|
|
(SELECT |
|
|
|
<include refid="allColumns"/> |
|
|
|
tenant_id,box_id,meter_id, |
|
|
|
<if test=" null == reportType"> |
|
|
|
temp.create_time as reportTime, |
|
|
|
</if> |
|
|
|
<if test=" null != reportType and 1 != reportType "> |
|
|
|
date_format(temp.create_time, '%Y-%m-%d %H:00') as reportTime, |
|
|
|
</if> |
|
|
|
<if test=" null != reportType and 2 != reportType "> |
|
|
|
date_format(temp.create_time, '%Y-%m-%d') as reportTime, |
|
|
|
</if> |
|
|
|
<if test=" null != reportType and 3 != reportType "> |
|
|
|
date_format(temp.create_time, '%Y-%m') as reportTime, |
|
|
|
</if> |
|
|
|
min(last_device_time) as recordStartTime, |
|
|
|
max(device_time) as recordEndTime, |
|
|
|
max(total_power) as totalPower, |
|
|
|
sum(used_power) as usedPower |
|
|
|
FROM kw_meter_data |
|
|
|
where |
|
|
|
<include refid="dynamicWhereConditions"/> |
|
|
|
group by reportTime,meter_id |
|
|
|
) as temp |
|
|
|
group by reportTime |
|
|
|
group by |
|
|
|
reportTime, |
|
|
|
tenant_id |
|
|
|
<if test=" null != boxId "> |
|
|
|
,box_id |
|
|
|
</if> |
|
|
|
<if test=" null != meterId "> |
|
|
|
,meter_id |
|
|
|
</if> |
|
|
|
order by reportTime desc |
|
|
|
</select> |
|
|
|
|
|
|
|
|