统计报表-sql优化
This commit is contained in:
@ -322,7 +322,6 @@
|
|||||||
GROUP BY p.site_id,p.device_id
|
GROUP BY p.site_id,p.device_id
|
||||||
) latest on t.device_id = latest.device_id and t.update_time = latest.max_update_time
|
) latest on t.device_id = latest.device_id and t.update_time = latest.max_update_time
|
||||||
where t.site_id = #{siteId} and t.stack_device_id = #{stackDeviceId}
|
where t.site_id = #{siteId} and t.stack_device_id = #{stackDeviceId}
|
||||||
group by t.cluster_voltage,t.cluster_current,t.current_soc,t.site_id,t.device_id,t.max_cell_voltage,t.min_cell_voltage,
|
|
||||||
t.max_cell_temp,t.min_cell_temp
|
t.max_cell_temp,t.min_cell_temp
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
@ -335,7 +334,7 @@
|
|||||||
inner join (select site_id,create_time,MIN(device_id) as device_id
|
inner join (select site_id,create_time,MIN(device_id) as device_id
|
||||||
from ems_battery_cluster
|
from ems_battery_cluster
|
||||||
where site_id = #{siteId}
|
where site_id = #{siteId}
|
||||||
AND create_time >= Date(#{startDate})
|
AND create_time >= #{startDate}
|
||||||
AND create_time <= #{endDate}
|
AND create_time <= #{endDate}
|
||||||
GROUP BY site_id,create_time
|
GROUP BY site_id,create_time
|
||||||
) temp on t.site_id = temp.site_id and t.create_time = temp.create_time and t.device_id = temp.device_id
|
) temp on t.site_id = temp.site_id and t.create_time = temp.create_time and t.device_id = temp.device_id
|
||||||
@ -349,7 +348,7 @@
|
|||||||
inner join (select site_id,create_time,MIN(device_id) as device_id
|
inner join (select site_id,create_time,MIN(device_id) as device_id
|
||||||
from ems_battery_cluster
|
from ems_battery_cluster
|
||||||
where site_id = #{siteId}
|
where site_id = #{siteId}
|
||||||
AND create_time >= Date(#{startDate})
|
AND create_time >= #{startDate}
|
||||||
AND create_time <= #{endDate}
|
AND create_time <= #{endDate}
|
||||||
GROUP BY site_id,create_time
|
GROUP BY site_id,create_time
|
||||||
) temp on t.site_id = temp.site_id and t.create_time = temp.create_time and t.device_id = temp.device_id
|
) temp on t.site_id = temp.site_id and t.create_time = temp.create_time and t.device_id = temp.device_id
|
||||||
@ -369,13 +368,12 @@
|
|||||||
FROM ems_battery_cluster p
|
FROM ems_battery_cluster p
|
||||||
WHERE p.stack_device_id = #{stackId}
|
WHERE p.stack_device_id = #{stackId}
|
||||||
AND p.device_id = #{clusterId}
|
AND p.device_id = #{clusterId}
|
||||||
AND DATE( p.update_time) = DATE(#{dateTime})
|
AND DATE(p.update_time) = #{dateTime}
|
||||||
GROUP BY p.site_id, p.device_id, statisDate
|
GROUP BY p.site_id, p.device_id, statisDate
|
||||||
) latest
|
) latest
|
||||||
INNER JOIN ems_battery_cluster t ON latest.site_id = t.site_id
|
INNER JOIN ems_battery_cluster t ON latest.site_id = t.site_id
|
||||||
AND latest.device_id = t.device_id
|
AND latest.device_id = t.device_id
|
||||||
AND latest.max_update_time = t.update_time
|
AND latest.max_update_time = t.update_time
|
||||||
GROUP BY statisDate, maxTemp, maxTempId, minTemp, minTempId, maxVoltage, maxVoltageId, minVoltage, minVoltageId
|
|
||||||
ORDER BY statisDate
|
ORDER BY statisDate
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@ -293,10 +293,10 @@
|
|||||||
WHERE p.site_id = #{siteId}
|
WHERE p.site_id = #{siteId}
|
||||||
and p.device_id = #{deviceId}
|
and p.device_id = #{deviceId}
|
||||||
<if test="startDate != null">
|
<if test="startDate != null">
|
||||||
AND p.update_time >= DATE(#{startDate})
|
AND p.update_time >= #{startDate}
|
||||||
</if>
|
</if>
|
||||||
<if test="endDate != null">
|
<if test="endDate != null">
|
||||||
AND p.update_time < DATE(#{endDate})
|
AND p.update_time < #{endDate}
|
||||||
</if>
|
</if>
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
@ -317,22 +317,6 @@
|
|||||||
</choose>
|
</choose>
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<sql id="groupChooseFilter">
|
|
||||||
<choose>
|
|
||||||
<when test="dataType == 1">
|
|
||||||
,temp
|
|
||||||
</when>
|
|
||||||
<when test="dataType == 2">
|
|
||||||
,voltage
|
|
||||||
</when>
|
|
||||||
<when test="dataType == 3">
|
|
||||||
,current
|
|
||||||
</when>
|
|
||||||
<when test="dataType == 4">
|
|
||||||
,soc
|
|
||||||
</when>
|
|
||||||
</choose>
|
|
||||||
</sql>
|
|
||||||
<select id="getStackDataByHour" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="com.xzzn.ems.domain.vo.StackStatisListVo">
|
<select id="getStackDataByHour" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="com.xzzn.ems.domain.vo.StackStatisListVo">
|
||||||
select latest.dateHour as statisDate,
|
select latest.dateHour as statisDate,
|
||||||
<include refid="dataTypeChooseFilter"/>
|
<include refid="dataTypeChooseFilter"/>
|
||||||
@ -343,8 +327,6 @@
|
|||||||
) latest inner join ems_battery_stack t ON latest.site_id = t.site_id
|
) latest inner join ems_battery_stack t ON latest.site_id = t.site_id
|
||||||
AND latest.device_id = t.device_id
|
AND latest.device_id = t.device_id
|
||||||
AND latest.max_update_time = t.update_time
|
AND latest.max_update_time = t.update_time
|
||||||
group by statisDate
|
|
||||||
<include refid="groupChooseFilter"/>
|
|
||||||
order by statisDate desc
|
order by statisDate desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
@ -358,8 +340,6 @@
|
|||||||
) latest inner join ems_battery_stack t ON latest.site_id = t.site_id
|
) latest inner join ems_battery_stack t ON latest.site_id = t.site_id
|
||||||
AND latest.device_id = t.device_id
|
AND latest.device_id = t.device_id
|
||||||
AND latest.max_update_time = t.update_time
|
AND latest.max_update_time = t.update_time
|
||||||
group by statisDate
|
|
||||||
<include refid="groupChooseFilter"/>
|
|
||||||
order by statisDate desc
|
order by statisDate desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
@ -373,8 +353,6 @@
|
|||||||
) latest inner join ems_battery_stack t ON latest.site_id = t.site_id
|
) latest inner join ems_battery_stack t ON latest.site_id = t.site_id
|
||||||
AND latest.device_id = t.device_id
|
AND latest.device_id = t.device_id
|
||||||
AND latest.max_update_time = t.update_time
|
AND latest.max_update_time = t.update_time
|
||||||
group by statisDate
|
|
||||||
<include refid="groupChooseFilter"/>
|
|
||||||
order by statisDate desc
|
order by statisDate desc
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@ -464,10 +464,10 @@
|
|||||||
WHERE p.site_id = #{siteId}
|
WHERE p.site_id = #{siteId}
|
||||||
and p.device_id = #{deviceId}
|
and p.device_id = #{deviceId}
|
||||||
<if test="startDate != null">
|
<if test="startDate != null">
|
||||||
AND p.data_update_time >= DATE(#{startDate})
|
AND p.data_update_time >= #{startDate}
|
||||||
</if>
|
</if>
|
||||||
<if test="endDate != null">
|
<if test="endDate != null">
|
||||||
AND p.data_update_time < DATE(#{endDate})
|
AND p.data_update_time < #{endDate}
|
||||||
</if>
|
</if>
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
@ -487,19 +487,6 @@
|
|||||||
</choose>
|
</choose>
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<sql id="groupChooseFilter">
|
|
||||||
<choose>
|
|
||||||
<when test="dataType == 1">
|
|
||||||
,activePower
|
|
||||||
</when>
|
|
||||||
<when test="dataType == 2">
|
|
||||||
,reactivePower
|
|
||||||
</when>
|
|
||||||
<when test="dataType == 3">
|
|
||||||
,uCurrent,vCurrent,wCurrent
|
|
||||||
</when>
|
|
||||||
</choose>
|
|
||||||
</sql>
|
|
||||||
<select id="getPcsActivePowerByDay" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="com.xzzn.ems.domain.vo.PcsStatisListVo">
|
<select id="getPcsActivePowerByDay" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="com.xzzn.ems.domain.vo.PcsStatisListVo">
|
||||||
select CONCAT(t.date_month,'/',t.date_day) as statisDate,
|
select CONCAT(t.date_month,'/',t.date_day) as statisDate,
|
||||||
<include refid="dataTypeChooseFilter"/>
|
<include refid="dataTypeChooseFilter"/>
|
||||||
@ -512,8 +499,6 @@
|
|||||||
AND latest.max_update_time = t.data_update_time
|
AND latest.max_update_time = t.data_update_time
|
||||||
and latest.date_month = t.date_month
|
and latest.date_month = t.date_month
|
||||||
and latest.date_day = t.date_day
|
and latest.date_day = t.date_day
|
||||||
group by statisDate
|
|
||||||
<include refid="groupChooseFilter"/>
|
|
||||||
order by statisDate desc
|
order by statisDate desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
@ -528,8 +513,6 @@
|
|||||||
AND latest.device_id = t.device_id
|
AND latest.device_id = t.device_id
|
||||||
AND latest.max_update_time = t.data_update_time
|
AND latest.max_update_time = t.data_update_time
|
||||||
and latest.date_month = t.date_month
|
and latest.date_month = t.date_month
|
||||||
group by statisDate
|
|
||||||
<include refid="groupChooseFilter"/>
|
|
||||||
order by statisDate desc
|
order by statisDate desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
@ -543,8 +526,6 @@
|
|||||||
) latest inner join ems_pcs_data t ON latest.site_id = t.site_id
|
) latest inner join ems_pcs_data t ON latest.site_id = t.site_id
|
||||||
AND latest.device_id = t.device_id
|
AND latest.device_id = t.device_id
|
||||||
AND latest.max_update_time = t.data_update_time
|
AND latest.max_update_time = t.data_update_time
|
||||||
group by statisDate
|
|
||||||
<include refid="groupChooseFilter"/>
|
|
||||||
order by statisDate desc
|
order by statisDate desc
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
Reference in New Issue
Block a user