diff --git a/op-modules/op-energy/src/main/resources/mapper/report/ReportPointDnbMapper.xml b/op-modules/op-energy/src/main/resources/mapper/report/ReportPointDnbMapper.xml
index 712aa7eee..70334cc77 100644
--- a/op-modules/op-energy/src/main/resources/mapper/report/ReportPointDnbMapper.xml
+++ b/op-modules/op-energy/src/main/resources/mapper/report/ReportPointDnbMapper.xml
@@ -514,20 +514,21 @@
SELECT objId, expend
FROM (
SELECT
- objId,
- meter_value - ISNULL( LAG ( meter_value, 1 ) OVER ( PARTITION BY monitor_id ORDER BY record_time ), 0 ) AS expend,
- ROW_NUMBER ( ) OVER ( ORDER BY record_time ) AS row_num
- FROM report_point_dnb
- WHERE DATEPART( MINUTE, record_time ) = 0
- AND DATEPART( SECOND, record_time ) = 0
+ a.objId,
+ (a.meter_value - ISNULL( LAG ( a.meter_value, 1 ) OVER ( PARTITION BY a.monitor_id ORDER BY a.record_time ), 0 )) * ISNULL(b.ct, 1) AS expend,
+ ROW_NUMBER ( ) OVER ( ORDER BY a.record_time ) AS row_num
+ FROM report_point_dnb a
+ LEFT JOIN base_monitor_info b ON a.monitor_id = b.monitor_id
+ WHERE DATEPART( MINUTE, a.record_time ) = 0
+ AND DATEPART( SECOND, a.record_time ) = 0
- AND CONVERT ( VARCHAR, record_time, 23 ) >= #{params.beginDate}
- AND CONVERT ( VARCHAR, record_time, 23 ) #{params.endDate}
+ AND CONVERT ( VARCHAR, a.record_time, 23 ) >= #{params.beginDate}
+ AND CONVERT ( VARCHAR, a.record_time, 23 ) #{params.endDate}
- AND CONVERT ( VARCHAR, record_time, 23 ) >= CONVERT(varchar, DATEADD(day, -2, GETDATE()), 23)
+ AND CONVERT ( VARCHAR, a.record_time, 23 ) >= CONVERT(varchar, DATEADD(day, -2, GETDATE()), 23)
- AND monitor_id = #{params.monitorId}
+ AND a.monitor_id = #{params.monitorId}
) n
WHERE row_num != 1
) b ON a.objid = b.objId