From 34c2647495f82de09b34dce303851bdbddeaa655 Mon Sep 17 00:00:00 2001 From: mashili Date: Fri, 18 Jul 2025 01:38:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E4=BD=93=E7=94=B5=E6=B1=A0=E6=AF=8F?= =?UTF-8?q?=E6=97=A5=E6=9C=80=E6=96=B0=E6=95=B0=E6=8D=AE=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ems/domain/EmsBatteryDataDailyLatest.java | 213 ++++++++++++++++++ .../mapper/EmsBatteryDailyLatestMapper.java | 68 ++++++ .../xzzn/ems/mapper/EmsBatteryDataMapper.java | 6 - .../IEmsBatteryDailyLatestService.java | 67 ++++++ .../EmsBatteryDailyLatestServiceImpl.java | 105 +++++++++ .../impl/EmsStatsReportServiceImpl.java | 16 +- .../impl/FXXDataProcessServiceImpl.java | 19 ++ .../ems/EmsBatteryDataDailyLatestMapper.xml | 179 +++++++++++++++ .../mapper/ems/EmsBatteryDataMapper.xml | 20 -- .../resources/mapper/ems/EmsPcsDataMapper.xml | 2 +- 10 files changed, 658 insertions(+), 37 deletions(-) create mode 100644 ems-system/src/main/java/com/xzzn/ems/domain/EmsBatteryDataDailyLatest.java create mode 100644 ems-system/src/main/java/com/xzzn/ems/mapper/EmsBatteryDailyLatestMapper.java create mode 100644 ems-system/src/main/java/com/xzzn/ems/service/IEmsBatteryDailyLatestService.java create mode 100644 ems-system/src/main/java/com/xzzn/ems/service/impl/EmsBatteryDailyLatestServiceImpl.java create mode 100644 ems-system/src/main/resources/mapper/ems/EmsBatteryDataDailyLatestMapper.xml diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/EmsBatteryDataDailyLatest.java b/ems-system/src/main/java/com/xzzn/ems/domain/EmsBatteryDataDailyLatest.java new file mode 100644 index 0000000..fad9485 --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/domain/EmsBatteryDataDailyLatest.java @@ -0,0 +1,213 @@ +package com.xzzn.ems.domain; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.xzzn.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.xzzn.common.annotation.Excel; + +/** + * 单体电池每日最新数据对象 ems_battery_data_daily_latest + * + * @author xzzn + * @date 2025-07-17 + */ +public class EmsBatteryDataDailyLatest extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 电池堆 */ + @Excel(name = "电池堆") + private String batteryPack; + + /** 电池簇 */ + @Excel(name = "电池簇") + private String batteryCluster; + + /** 单体编号 */ + @Excel(name = "单体编号") + private String batteryCellId; + + /** 电压 (V) */ + @Excel(name = "电压 (V)") + private BigDecimal voltage; + + /** 温度 (℃) */ + @Excel(name = "温度 (℃)") + private BigDecimal temperature; + + /** SOC (%) */ + @Excel(name = "SOC (%)") + private BigDecimal soc; + + /** SOH (%) */ + @Excel(name = "SOH (%)") + private BigDecimal soh; + + /** 日期:yyyy-MM-dd */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "日期:yyyy-MM-dd", width = 30, dateFormat = "yyyy-MM-dd") + private Date dateDay; + + /** 数据采集时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "数据采集时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date dataTimestamp; + + /** 站点id */ + @Excel(name = "站点id") + private String siteId; + + /** 设备唯一标识符 */ + @Excel(name = "设备唯一标识符") + private String deviceId; + + /** 簇设备id */ + @Excel(name = "簇设备id") + private String clusterDeviceId; + + public void setBatteryPack(String batteryPack) + { + this.batteryPack = batteryPack; + } + + public String getBatteryPack() + { + return batteryPack; + } + + public void setBatteryCluster(String batteryCluster) + { + this.batteryCluster = batteryCluster; + } + + public String getBatteryCluster() + { + return batteryCluster; + } + + public void setBatteryCellId(String batteryCellId) + { + this.batteryCellId = batteryCellId; + } + + public String getBatteryCellId() + { + return batteryCellId; + } + + public void setVoltage(BigDecimal voltage) + { + this.voltage = voltage; + } + + public BigDecimal getVoltage() + { + return voltage; + } + + public void setTemperature(BigDecimal temperature) + { + this.temperature = temperature; + } + + public BigDecimal getTemperature() + { + return temperature; + } + + public void setSoc(BigDecimal soc) + { + this.soc = soc; + } + + public BigDecimal getSoc() + { + return soc; + } + + public void setSoh(BigDecimal soh) + { + this.soh = soh; + } + + public BigDecimal getSoh() + { + return soh; + } + + public void setDateDay(Date dateDay) + { + this.dateDay = dateDay; + } + + public Date getDateDay() + { + return dateDay; + } + + public void setDataTimestamp(Date dataTimestamp) + { + this.dataTimestamp = dataTimestamp; + } + + public Date getDataTimestamp() + { + return dataTimestamp; + } + + public void setSiteId(String siteId) + { + this.siteId = siteId; + } + + public String getSiteId() + { + return siteId; + } + + public void setDeviceId(String deviceId) + { + this.deviceId = deviceId; + } + + public String getDeviceId() + { + return deviceId; + } + + public void setClusterDeviceId(String clusterDeviceId) + { + this.clusterDeviceId = clusterDeviceId; + } + + public String getClusterDeviceId() + { + return clusterDeviceId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("batteryPack", getBatteryPack()) + .append("batteryCluster", getBatteryCluster()) + .append("batteryCellId", getBatteryCellId()) + .append("voltage", getVoltage()) + .append("temperature", getTemperature()) + .append("soc", getSoc()) + .append("soh", getSoh()) + .append("dateDay", getDateDay()) + .append("dataTimestamp", getDataTimestamp()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .append("siteId", getSiteId()) + .append("deviceId", getDeviceId()) + .append("clusterDeviceId", getClusterDeviceId()) + .toString(); + } +} diff --git a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsBatteryDailyLatestMapper.java b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsBatteryDailyLatestMapper.java new file mode 100644 index 0000000..b21d49e --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsBatteryDailyLatestMapper.java @@ -0,0 +1,68 @@ +package com.xzzn.ems.mapper; + +import java.util.List; +import com.xzzn.ems.domain.EmsBatteryDataDailyLatest; +import com.xzzn.ems.domain.vo.BatteryDataStatsListVo; +import com.xzzn.ems.domain.vo.DateSearchRequest; +import org.apache.ibatis.annotations.Param; + +/** + * 单体电池每日最新数据Mapper接口 + * + * @author xzzn + * @date 2025-07-18 + */ +public interface EmsBatteryDailyLatestMapper +{ + /** + * 查询单体电池每日最新数据 + * + * @param batteryPack 单体电池每日最新数据主键 + * @return 单体电池每日最新数据 + */ + public EmsBatteryDataDailyLatest selectEmsBatteryDataDailyLatestByBatteryPack(String batteryPack); + + /** + * 查询单体电池每日最新数据列表 + * + * @param emsBatteryDataDailyLatest 单体电池每日最新数据 + * @return 单体电池每日最新数据集合 + */ + public List selectEmsBatteryDataDailyLatestList(EmsBatteryDataDailyLatest emsBatteryDataDailyLatest); + + /** + * 新增单体电池每日最新数据 + * + * @param emsBatteryDataDailyLatest 单体电池每日最新数据 + * @return 结果 + */ + public int insertEmsBatteryDataDailyLatest(EmsBatteryDataDailyLatest emsBatteryDataDailyLatest); + + /** + * 修改单体电池每日最新数据 + * + * @param emsBatteryDataDailyLatest 单体电池每日最新数据 + * @return 结果 + */ + public int updateEmsBatteryDataDailyLatest(EmsBatteryDataDailyLatest emsBatteryDataDailyLatest); + + /** + * 删除单体电池每日最新数据 + * + * @param batteryPack 单体电池每日最新数据主键 + * @return 结果 + */ + public int deleteEmsBatteryDataDailyLatestByBatteryPack(String batteryPack); + + /** + * 批量删除单体电池每日最新数据 + * + * @param batteryPacks 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteEmsBatteryDataDailyLatestByBatteryPacks(String[] batteryPacks); + + public void batchUpsert(@Param("list") List dataList); + + public List getBatteryDailyLatest(DateSearchRequest requestVo); +} diff --git a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsBatteryDataMapper.java b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsBatteryDataMapper.java index 60fb85e..1bd9546 100644 --- a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsBatteryDataMapper.java +++ b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsBatteryDataMapper.java @@ -97,10 +97,4 @@ public interface EmsBatteryDataMapper int insertEmsBatteryDataList(List emsBatteryDataList); - /** - * 获取单个单体电池数据 - * @param requestVo - * @return - */ - public List getSingleBatteryData(DateSearchRequest requestVo); } diff --git a/ems-system/src/main/java/com/xzzn/ems/service/IEmsBatteryDailyLatestService.java b/ems-system/src/main/java/com/xzzn/ems/service/IEmsBatteryDailyLatestService.java new file mode 100644 index 0000000..43df589 --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/service/IEmsBatteryDailyLatestService.java @@ -0,0 +1,67 @@ +package com.xzzn.ems.service; + +import java.util.List; +import com.xzzn.ems.domain.EmsBatteryDataDailyLatest; + +/** + * 单体电池每日最新数据Service接口 + * + * @author xzzn + * @date 2025-07-18 + */ +public interface IEmsBatteryDailyLatestService +{ + /** + * 查询单体电池每日最新数据 + * + * @param batteryPack 单体电池每日最新数据主键 + * @return 单体电池每日最新数据 + */ + public EmsBatteryDataDailyLatest selectEmsBatteryDataDailyLatestByBatteryPack(String batteryPack); + + /** + * 查询单体电池每日最新数据列表 + * + * @param emsBatteryDataDailyLatest 单体电池每日最新数据 + * @return 单体电池每日最新数据集合 + */ + public List selectEmsBatteryDataDailyLatestList(EmsBatteryDataDailyLatest emsBatteryDataDailyLatest); + + /** + * 新增单体电池每日最新数据 + * + * @param emsBatteryDataDailyLatest 单体电池每日最新数据 + * @return 结果 + */ + public int insertEmsBatteryDataDailyLatest(EmsBatteryDataDailyLatest emsBatteryDataDailyLatest); + + /** + * 修改单体电池每日最新数据 + * + * @param emsBatteryDataDailyLatest 单体电池每日最新数据 + * @return 结果 + */ + public int updateEmsBatteryDataDailyLatest(EmsBatteryDataDailyLatest emsBatteryDataDailyLatest); + + /** + * 批量删除单体电池每日最新数据 + * + * @param batteryPacks 需要删除的单体电池每日最新数据主键集合 + * @return 结果 + */ + public int deleteEmsBatteryDataDailyLatestByBatteryPacks(String[] batteryPacks); + + /** + * 删除单体电池每日最新数据信息 + * + * @param batteryPack 单体电池每日最新数据主键 + * @return 结果 + */ + public int deleteEmsBatteryDataDailyLatestByBatteryPack(String batteryPack); + + /** + * 批量处理每日数据 + * @param dailyList + */ + public void batchProcessBatteryData(List dailyList); +} diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsBatteryDailyLatestServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsBatteryDailyLatestServiceImpl.java new file mode 100644 index 0000000..fed6827 --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsBatteryDailyLatestServiceImpl.java @@ -0,0 +1,105 @@ +package com.xzzn.ems.service.impl; + +import java.util.List; + +import com.xzzn.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.xzzn.ems.mapper.EmsBatteryDailyLatestMapper; +import com.xzzn.ems.domain.EmsBatteryDataDailyLatest; +import com.xzzn.ems.service.IEmsBatteryDailyLatestService; +import org.springframework.transaction.annotation.Transactional; + +/** + * 单体电池每日最新数据Service业务层处理 + * + * @author xzzn + * @date 2025-07-18 + */ +@Service +public class EmsBatteryDailyLatestServiceImpl implements IEmsBatteryDailyLatestService +{ + @Autowired + private EmsBatteryDailyLatestMapper emsBatteryDataDailyLatestMapper; + + /** + * 查询单体电池每日最新数据 + * + * @param batteryPack 单体电池每日最新数据主键 + * @return 单体电池每日最新数据 + */ + @Override + public EmsBatteryDataDailyLatest selectEmsBatteryDataDailyLatestByBatteryPack(String batteryPack) + { + return emsBatteryDataDailyLatestMapper.selectEmsBatteryDataDailyLatestByBatteryPack(batteryPack); + } + + /** + * 查询单体电池每日最新数据列表 + * + * @param emsBatteryDataDailyLatest 单体电池每日最新数据 + * @return 单体电池每日最新数据 + */ + @Override + public List selectEmsBatteryDataDailyLatestList(EmsBatteryDataDailyLatest emsBatteryDataDailyLatest) + { + return emsBatteryDataDailyLatestMapper.selectEmsBatteryDataDailyLatestList(emsBatteryDataDailyLatest); + } + + /** + * 新增单体电池每日最新数据 + * + * @param emsBatteryDataDailyLatest 单体电池每日最新数据 + * @return 结果 + */ + @Override + public int insertEmsBatteryDataDailyLatest(EmsBatteryDataDailyLatest emsBatteryDataDailyLatest) + { + emsBatteryDataDailyLatest.setCreateTime(DateUtils.getNowDate()); + return emsBatteryDataDailyLatestMapper.insertEmsBatteryDataDailyLatest(emsBatteryDataDailyLatest); + } + + /** + * 修改单体电池每日最新数据 + * + * @param emsBatteryDataDailyLatest 单体电池每日最新数据 + * @return 结果 + */ + @Override + public int updateEmsBatteryDataDailyLatest(EmsBatteryDataDailyLatest emsBatteryDataDailyLatest) + { + emsBatteryDataDailyLatest.setUpdateTime(DateUtils.getNowDate()); + return emsBatteryDataDailyLatestMapper.updateEmsBatteryDataDailyLatest(emsBatteryDataDailyLatest); + } + + /** + * 批量删除单体电池每日最新数据 + * + * @param batteryPacks 需要删除的单体电池每日最新数据主键 + * @return 结果 + */ + @Override + public int deleteEmsBatteryDataDailyLatestByBatteryPacks(String[] batteryPacks) + { + return emsBatteryDataDailyLatestMapper.deleteEmsBatteryDataDailyLatestByBatteryPacks(batteryPacks); + } + + /** + * 删除单体电池每日最新数据信息 + * + * @param batteryPack 单体电池每日最新数据主键 + * @return 结果 + */ + @Override + public int deleteEmsBatteryDataDailyLatestByBatteryPack(String batteryPack) + { + return emsBatteryDataDailyLatestMapper.deleteEmsBatteryDataDailyLatestByBatteryPack(batteryPack); + } + + @Override + @Transactional + public void batchProcessBatteryData(List dailyList) { + // 批量更新每日最新数据表(使用 ON DUPLICATE KEY UPDATE) + emsBatteryDataDailyLatestMapper.batchUpsert(dailyList); + } +} diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStatsReportServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStatsReportServiceImpl.java index 32f2ac4..78aa227 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStatsReportServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStatsReportServiceImpl.java @@ -37,6 +37,8 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService private EmsDevicesSettingMapper emsDevicesSettingMapper; @Autowired private EmsBatteryDataMapper emsBatteryDataMapper; + @Autowired + private EmsBatteryDailyLatestMapper emsBatteryDailyLatestMapper; // 电量指标 @Override @@ -194,8 +196,8 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService BigDecimal activePower = ammeterStatisListVo.getActiveTotalKwh(); BigDecimal reactivePower = ammeterStatisListVo.getReActiveTotalKwh(); if ( activePower != null && reactivePower !=null - && activePower.compareTo(BigDecimal.ZERO) >= 0 - && reactivePower.compareTo(BigDecimal.ZERO) >= 0){ + && activePower.compareTo(BigDecimal.ZERO) > 0 + && reactivePower.compareTo(BigDecimal.ZERO) > 0){ effect = reactivePower.divide(activePower, 2, RoundingMode.HALF_UP) .multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP); } @@ -210,7 +212,7 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService BigDecimal totalActive = totalVo.getActiveTotalKwh(); BigDecimal totalReactive = totalVo.getReActiveTotalKwh(); if ( totalActive != null && totalReactive !=null - && totalActive.compareTo(BigDecimal.ZERO) >= 0 + && totalActive.compareTo(BigDecimal.ZERO) > 0 && totalReactive.compareTo(BigDecimal.ZERO) >= 0){ BigDecimal totalEffect = new BigDecimal(0); totalEffect = totalReactive.divide(totalActive, 2, RoundingMode.HALF_UP) @@ -290,14 +292,8 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService */ @Override public List getSingleBatteryData(DateSearchRequest requestVo) { - List dataList = new ArrayList<>(); // 默认时间-7天 dealRequestTime(requestVo); - - // 按天比较endDate+1 - Date endDate = requestVo.getEndDate(); - requestVo.setEndDate(DateUtils.addDays(endDate, 1)); - dataList = emsBatteryDataMapper.getSingleBatteryData(requestVo); - return dataList; + return emsBatteryDailyLatestMapper.getBatteryDailyLatest(requestVo); } } diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java index 61b32e9..ac782da 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java @@ -14,6 +14,7 @@ import com.xzzn.ems.mapper.*; import com.xzzn.ems.service.IFXXDataProcessService; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -46,6 +47,8 @@ public class FXXDataProcessServiceImpl implements IFXXDataProcessService { @Autowired private EmsAmmeterDataMapper emsAmmeterDataMapper;; + @Autowired + private EmsBatteryDailyLatestServiceImpl emsBatteryDailyLatestServiceImpl; @Override public void handleFxData(String message) { @@ -253,6 +256,7 @@ public class FXXDataProcessServiceImpl implements IFXXDataProcessService { //单体电池 Map> records = processData(JSON.parseObject(dataJson, new TypeReference>() {})); List list = new ArrayList<>(); + List dailyList = new ArrayList<>(); //单体电池 for (Map.Entry> record : records.entrySet()) { String recordId = record.getKey(); @@ -277,6 +281,12 @@ public class FXXDataProcessServiceImpl implements IFXXDataProcessService { batteryData.setClusterDeviceId(deviceId); list.add(batteryData); + + // 每日最新数据 + EmsBatteryDataDailyLatest daily = new EmsBatteryDataDailyLatest(); + BeanUtils.copyProperties(batteryData, daily); + daily.setDateDay(DateUtils.getNowDate()); + dailyList.add(daily); } if (list.size() > 0 ) { emsBatteryDataMapper.insertEmsBatteryDataList(list); @@ -284,6 +294,15 @@ public class FXXDataProcessServiceImpl implements IFXXDataProcessService { redisCache.deleteList(RedisKeyConstants.BATTERY + SITE_ID + "_" +deviceId); redisCache.setCacheList(RedisKeyConstants.BATTERY + SITE_ID + "_" +deviceId, list); } + + // 批量处理每日最新数据 + batchProcessDailyData(dailyList); + } + + private void batchProcessDailyData(List dailyList) { + if (dailyList != null && dailyList.size() > 0) { + emsBatteryDailyLatestServiceImpl.batchProcessBatteryData(dailyList); + } } diff --git a/ems-system/src/main/resources/mapper/ems/EmsBatteryDataDailyLatestMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsBatteryDataDailyLatestMapper.xml new file mode 100644 index 0000000..e9da985 --- /dev/null +++ b/ems-system/src/main/resources/mapper/ems/EmsBatteryDataDailyLatestMapper.xml @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + 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, + + + #{batteryPack}, + #{batteryCluster}, + #{batteryCellId}, + #{voltage}, + #{temperature}, + #{soc}, + #{soh}, + #{dateDay}, + #{dataTimestamp}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{remark}, + #{siteId}, + #{deviceId}, + #{clusterDeviceId}, + + + + + update ems_battery_data_daily_latest + + battery_cluster = #{batteryCluster}, + battery_cell_id = #{batteryCellId}, + voltage = #{voltage}, + temperature = #{temperature}, + soc = #{soc}, + soh = #{soh}, + date_day = #{dateDay}, + data_timestamp = #{dataTimestamp}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + remark = #{remark}, + site_id = #{siteId}, + device_id = #{deviceId}, + cluster_device_id = #{clusterDeviceId}, + + where battery_pack = #{batteryPack} + + + + delete from ems_battery_data_daily_latest where battery_pack = #{batteryPack} + + + + delete from ems_battery_data_daily_latest where battery_pack in + + #{batteryPack} + + + + + 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 + + ( + #{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} + ) + + 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) + + + + \ No newline at end of file diff --git a/ems-system/src/main/resources/mapper/ems/EmsBatteryDataMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsBatteryDataMapper.xml index 5eacc1a..3760a95 100644 --- a/ems-system/src/main/resources/mapper/ems/EmsBatteryDataMapper.xml +++ b/ems-system/src/main/resources/mapper/ems/EmsBatteryDataMapper.xml @@ -214,24 +214,4 @@ - \ No newline at end of file diff --git a/ems-system/src/main/resources/mapper/ems/EmsPcsDataMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsPcsDataMapper.xml index 18bad13..4f6e3d6 100644 --- a/ems-system/src/main/resources/mapper/ems/EmsPcsDataMapper.xml +++ b/ems-system/src/main/resources/mapper/ems/EmsPcsDataMapper.xml @@ -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