单体电池每日最新数据处理
This commit is contained in:
@ -0,0 +1,179 @@
|
||||
<?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.xzzn.ems.mapper.EmsBatteryDailyLatestMapper">
|
||||
|
||||
<resultMap type="EmsBatteryDataDailyLatest" id="EmsBatteryDataDailyLatestResult">
|
||||
<result property="batteryPack" column="battery_pack" />
|
||||
<result property="batteryCluster" column="battery_cluster" />
|
||||
<result property="batteryCellId" column="battery_cell_id" />
|
||||
<result property="voltage" column="voltage" />
|
||||
<result property="temperature" column="temperature" />
|
||||
<result property="soc" column="soc" />
|
||||
<result property="soh" column="soh" />
|
||||
<result property="dateDay" column="date_day" />
|
||||
<result property="dataTimestamp" column="data_timestamp" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="siteId" column="site_id" />
|
||||
<result property="deviceId" column="device_id" />
|
||||
<result property="clusterDeviceId" column="cluster_device_id" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectEmsBatteryDataDailyLatestVo">
|
||||
select battery_pack, battery_cluster, battery_cell_id, voltage, temperature, soc, soh, date_day, data_timestamp, create_by, create_time, update_by, update_time, remark, site_id, device_id, cluster_device_id from ems_battery_data_daily_latest
|
||||
</sql>
|
||||
|
||||
<select id="selectEmsBatteryDataDailyLatestList" parameterType="EmsBatteryDataDailyLatest" resultMap="EmsBatteryDataDailyLatestResult">
|
||||
<include refid="selectEmsBatteryDataDailyLatestVo"/>
|
||||
<where>
|
||||
<if test="batteryPack != null and batteryPack != ''"> and battery_pack = #{batteryPack}</if>
|
||||
<if test="batteryCluster != null and batteryCluster != ''"> and battery_cluster = #{batteryCluster}</if>
|
||||
<if test="batteryCellId != null and batteryCellId != ''"> and battery_cell_id = #{batteryCellId}</if>
|
||||
<if test="voltage != null "> and voltage = #{voltage}</if>
|
||||
<if test="temperature != null "> and temperature = #{temperature}</if>
|
||||
<if test="soc != null "> and soc = #{soc}</if>
|
||||
<if test="soh != null "> and soh = #{soh}</if>
|
||||
<if test="dateDay != null "> and date_day = #{dateDay}</if>
|
||||
<if test="dataTimestamp != null "> and data_timestamp = #{dataTimestamp}</if>
|
||||
<if test="siteId != null and siteId != ''"> and site_id = #{siteId}</if>
|
||||
<if test="deviceId != null and deviceId != ''"> and device_id = #{deviceId}</if>
|
||||
<if test="clusterDeviceId != null and clusterDeviceId != ''"> and cluster_device_id = #{clusterDeviceId}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectEmsBatteryDataDailyLatestByBatteryPack" parameterType="String" resultMap="EmsBatteryDataDailyLatestResult">
|
||||
<include refid="selectEmsBatteryDataDailyLatestVo"/>
|
||||
where battery_pack = #{batteryPack}
|
||||
</select>
|
||||
|
||||
<insert id="insertEmsBatteryDataDailyLatest" parameterType="EmsBatteryDataDailyLatest">
|
||||
insert into ems_battery_data_daily_latest
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="batteryPack != null">battery_pack,</if>
|
||||
<if test="batteryCluster != null">battery_cluster,</if>
|
||||
<if test="batteryCellId != null">battery_cell_id,</if>
|
||||
<if test="voltage != null">voltage,</if>
|
||||
<if test="temperature != null">temperature,</if>
|
||||
<if test="soc != null">soc,</if>
|
||||
<if test="soh != null">soh,</if>
|
||||
<if test="dateDay != null">date_day,</if>
|
||||
<if test="dataTimestamp != null">data_timestamp,</if>
|
||||
<if test="createBy != null">create_by,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="updateBy != null">update_by,</if>
|
||||
<if test="updateTime != null">update_time,</if>
|
||||
<if test="remark != null">remark,</if>
|
||||
<if test="siteId != null">site_id,</if>
|
||||
<if test="deviceId != null">device_id,</if>
|
||||
<if test="clusterDeviceId != null">cluster_device_id,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="batteryPack != null">#{batteryPack},</if>
|
||||
<if test="batteryCluster != null">#{batteryCluster},</if>
|
||||
<if test="batteryCellId != null">#{batteryCellId},</if>
|
||||
<if test="voltage != null">#{voltage},</if>
|
||||
<if test="temperature != null">#{temperature},</if>
|
||||
<if test="soc != null">#{soc},</if>
|
||||
<if test="soh != null">#{soh},</if>
|
||||
<if test="dateDay != null">#{dateDay},</if>
|
||||
<if test="dataTimestamp != null">#{dataTimestamp},</if>
|
||||
<if test="createBy != null">#{createBy},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="updateBy != null">#{updateBy},</if>
|
||||
<if test="updateTime != null">#{updateTime},</if>
|
||||
<if test="remark != null">#{remark},</if>
|
||||
<if test="siteId != null">#{siteId},</if>
|
||||
<if test="deviceId != null">#{deviceId},</if>
|
||||
<if test="clusterDeviceId != null">#{clusterDeviceId},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateEmsBatteryDataDailyLatest" parameterType="EmsBatteryDataDailyLatest">
|
||||
update ems_battery_data_daily_latest
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="batteryCluster != null">battery_cluster = #{batteryCluster},</if>
|
||||
<if test="batteryCellId != null">battery_cell_id = #{batteryCellId},</if>
|
||||
<if test="voltage != null">voltage = #{voltage},</if>
|
||||
<if test="temperature != null">temperature = #{temperature},</if>
|
||||
<if test="soc != null">soc = #{soc},</if>
|
||||
<if test="soh != null">soh = #{soh},</if>
|
||||
<if test="dateDay != null">date_day = #{dateDay},</if>
|
||||
<if test="dataTimestamp != null">data_timestamp = #{dataTimestamp},</if>
|
||||
<if test="createBy != null">create_by = #{createBy},</if>
|
||||
<if test="createTime != null">create_time = #{createTime},</if>
|
||||
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
<if test="siteId != null">site_id = #{siteId},</if>
|
||||
<if test="deviceId != null">device_id = #{deviceId},</if>
|
||||
<if test="clusterDeviceId != null">cluster_device_id = #{clusterDeviceId},</if>
|
||||
</trim>
|
||||
where battery_pack = #{batteryPack}
|
||||
</update>
|
||||
|
||||
<delete id="deleteEmsBatteryDataDailyLatestByBatteryPack" parameterType="String">
|
||||
delete from ems_battery_data_daily_latest where battery_pack = #{batteryPack}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteEmsBatteryDataDailyLatestByBatteryPacks" parameterType="String">
|
||||
delete from ems_battery_data_daily_latest where battery_pack in
|
||||
<foreach item="batteryPack" collection="array" open="(" separator="," close=")">
|
||||
#{batteryPack}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<insert id="batchUpsert">
|
||||
INSERT INTO ems_battery_data_daily_latest (
|
||||
battery_pack, battery_cluster, battery_cell_id, voltage, temperature, soc, soh, date_day,
|
||||
data_timestamp, create_by, create_time, update_by, update_time, remark, site_id, device_id, cluster_device_id
|
||||
) VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(
|
||||
#{item.batteryPack},
|
||||
#{item.batteryCluster},
|
||||
#{item.batteryCellId},
|
||||
#{item.voltage},
|
||||
#{item.temperature},
|
||||
#{item.soc},
|
||||
#{item.soh},
|
||||
#{item.dateDay},
|
||||
#{item.dataTimestamp},
|
||||
#{item.createBy},
|
||||
#{item.createTime},
|
||||
#{item.updateBy},
|
||||
#{item.updateTime},
|
||||
#{item.remark},
|
||||
#{item.siteId},
|
||||
#{item.deviceId},
|
||||
#{item.clusterDeviceId}
|
||||
)
|
||||
</foreach>
|
||||
ON DUPLICATE KEY UPDATE
|
||||
voltage = VALUES(voltage),
|
||||
temperature = VALUES(temperature),
|
||||
soc = VALUES(soc),
|
||||
soh = VALUES(soh),
|
||||
data_timestamp = VALUES(data_timestamp),
|
||||
update_time = NOW(),
|
||||
remark = VALUES(remark)
|
||||
</insert>
|
||||
|
||||
<select id="getBatteryDailyLatest" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="com.xzzn.ems.domain.vo.BatteryDataStatsListVo">
|
||||
SELECT date_day as dataTimestamp,
|
||||
voltage, temperature, soc, soh,
|
||||
device_id as deviceId,
|
||||
cluster_device_id as clusterDeviceId
|
||||
FROM ems_battery_data_daily_latest
|
||||
WHERE site_id = #{siteId}
|
||||
and cluster_device_id = #{clusterDeviceId}
|
||||
and device_id = #{deviceId}
|
||||
and date_day >= #{startDate}
|
||||
and date_day <= #{endDate}
|
||||
GROUP BY dataTimestamp
|
||||
</select>
|
||||
</mapper>
|
||||
@ -214,24 +214,4 @@
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<select id="getSingleBatteryData" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="com.xzzn.ems.domain.vo.BatteryDataStatsListVo">
|
||||
SELECT latest.dateDay as dataTimestamp,
|
||||
t.voltage,
|
||||
t.temperature,
|
||||
t.soc,
|
||||
t.soh,
|
||||
t.device_id as deviceId,
|
||||
t.cluster_device_id as clusterDeviceId
|
||||
FROM ems_battery_data t
|
||||
INNER JOIN ( SELECT site_id,cluster_device_id,device_id,DATE(data_timestamp) as dateDay,MAX(data_timestamp) AS max_update_time
|
||||
FROM ems_battery_data
|
||||
WHERE site_id = #{siteId}
|
||||
and cluster_device_id = #{clusterDeviceId}
|
||||
and device_id = #{deviceId}
|
||||
and data_timestamp >= #{startDate}
|
||||
and data_timestamp < #{endDate}
|
||||
GROUP BY site_id,cluster_device_id,device_id,dateDay
|
||||
) latest ON t.site_id = latest.site_id and t.cluster_device_id = latest.cluster_device_id
|
||||
and t.device_id = latest.device_id AND t.data_timestamp = latest.max_update_time
|
||||
</select>
|
||||
</mapper>
|
||||
@ -358,7 +358,7 @@
|
||||
AND t.date_day = max_dates.date_day
|
||||
AND t.data_update_time = max_dates.max_update_time
|
||||
GROUP BY dateMonth
|
||||
ORDER BY dateMonth;
|
||||
ORDER BY dateMonth
|
||||
</select>
|
||||
|
||||
<select id="getPcsDetailInfoBySiteId" parameterType="String" resultType="com.xzzn.ems.domain.vo.PcsDetailInfoVo">
|
||||
|
||||
Reference in New Issue
Block a user