sql优化
This commit is contained in:
@ -57,6 +57,51 @@ public class BMSBatteryClusterVo {
|
||||
/** 设备唯一标识符 */
|
||||
private String deviceId;
|
||||
|
||||
/** 单体温度平均值 */
|
||||
private BigDecimal avgTemp;
|
||||
|
||||
/** 单体温度最小值 */
|
||||
private BigDecimal minTemp;
|
||||
|
||||
/** 单体温度最小值ID */
|
||||
private String minTempID;
|
||||
|
||||
/** 单体温度最大值 */
|
||||
private BigDecimal maxTemp;
|
||||
|
||||
/** 单体温度最大值ID */
|
||||
private String maxTempID;
|
||||
|
||||
/** 单体电压平均值 */
|
||||
private BigDecimal avgVoltage;
|
||||
|
||||
/** 单体电压最小值 */
|
||||
private BigDecimal minVoltage;
|
||||
|
||||
/** 单体电压最小值ID */
|
||||
private String minVoltageID;
|
||||
|
||||
/** 单体电压最大值 */
|
||||
private BigDecimal maxVoltage;
|
||||
|
||||
/** 单体电压最大值ID */
|
||||
private String maxVoltageID;
|
||||
|
||||
/** 单体Soc平均值 */
|
||||
private BigDecimal avgSoc;
|
||||
|
||||
/** 单体Soc最小值 */
|
||||
private BigDecimal minSoc;
|
||||
|
||||
/** 单体Soc最小值ID */
|
||||
private String minSocID;
|
||||
|
||||
/** 单体Soc最大值 */
|
||||
private BigDecimal maxSoc;
|
||||
|
||||
/** 单体Soc最大值ID */
|
||||
private String maxSocID;
|
||||
|
||||
private List<BMSBatteryClusterDataList> batteryDataList;
|
||||
|
||||
public String getDeviceName() {
|
||||
@ -194,4 +239,124 @@ public class BMSBatteryClusterVo {
|
||||
public void setBatteryDataList(List<BMSBatteryClusterDataList> batteryDataList) {
|
||||
this.batteryDataList = batteryDataList;
|
||||
}
|
||||
|
||||
public String getMaxSocID() {
|
||||
return maxSocID;
|
||||
}
|
||||
|
||||
public void setMaxSocID(String maxSocID) {
|
||||
this.maxSocID = maxSocID;
|
||||
}
|
||||
|
||||
public BigDecimal getMaxSoc() {
|
||||
return maxSoc;
|
||||
}
|
||||
|
||||
public void setMaxSoc(BigDecimal maxSoc) {
|
||||
this.maxSoc = maxSoc;
|
||||
}
|
||||
|
||||
public String getMinSocID() {
|
||||
return minSocID;
|
||||
}
|
||||
|
||||
public void setMinSocID(String minSocID) {
|
||||
this.minSocID = minSocID;
|
||||
}
|
||||
|
||||
public BigDecimal getMinSoc() {
|
||||
return minSoc;
|
||||
}
|
||||
|
||||
public void setMinSoc(BigDecimal minSoc) {
|
||||
this.minSoc = minSoc;
|
||||
}
|
||||
|
||||
public BigDecimal getAvgSoc() {
|
||||
return avgSoc;
|
||||
}
|
||||
|
||||
public void setAvgSoc(BigDecimal avgSoc) {
|
||||
this.avgSoc = avgSoc;
|
||||
}
|
||||
|
||||
public String getMaxVoltageID() {
|
||||
return maxVoltageID;
|
||||
}
|
||||
|
||||
public void setMaxVoltageID(String maxVoltageID) {
|
||||
this.maxVoltageID = maxVoltageID;
|
||||
}
|
||||
|
||||
public BigDecimal getMaxVoltage() {
|
||||
return maxVoltage;
|
||||
}
|
||||
|
||||
public void setMaxVoltage(BigDecimal maxVoltage) {
|
||||
this.maxVoltage = maxVoltage;
|
||||
}
|
||||
|
||||
public String getMinVoltageID() {
|
||||
return minVoltageID;
|
||||
}
|
||||
|
||||
public void setMinVoltageID(String minVoltageID) {
|
||||
this.minVoltageID = minVoltageID;
|
||||
}
|
||||
|
||||
public BigDecimal getMinVoltage() {
|
||||
return minVoltage;
|
||||
}
|
||||
|
||||
public void setMinVoltage(BigDecimal minVoltage) {
|
||||
this.minVoltage = minVoltage;
|
||||
}
|
||||
|
||||
public BigDecimal getAvgVoltage() {
|
||||
return avgVoltage;
|
||||
}
|
||||
|
||||
public void setAvgVoltage(BigDecimal avgVoltage) {
|
||||
this.avgVoltage = avgVoltage;
|
||||
}
|
||||
|
||||
public String getMaxTempID() {
|
||||
return maxTempID;
|
||||
}
|
||||
|
||||
public void setMaxTempID(String maxTempID) {
|
||||
this.maxTempID = maxTempID;
|
||||
}
|
||||
|
||||
public BigDecimal getMaxTemp() {
|
||||
return maxTemp;
|
||||
}
|
||||
|
||||
public void setMaxTemp(BigDecimal maxTemp) {
|
||||
this.maxTemp = maxTemp;
|
||||
}
|
||||
|
||||
public String getMinTempID() {
|
||||
return minTempID;
|
||||
}
|
||||
|
||||
public void setMinTempID(String minTempID) {
|
||||
this.minTempID = minTempID;
|
||||
}
|
||||
|
||||
public BigDecimal getMinTemp() {
|
||||
return minTemp;
|
||||
}
|
||||
|
||||
public void setMinTemp(BigDecimal minTemp) {
|
||||
this.minTemp = minTemp;
|
||||
}
|
||||
|
||||
public BigDecimal getAvgTemp() {
|
||||
return avgTemp;
|
||||
}
|
||||
|
||||
public void setAvgTemp(BigDecimal avgTemp) {
|
||||
this.avgTemp = avgTemp;
|
||||
}
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ public class BMSBatteryDataList {
|
||||
/**
|
||||
* 簇号
|
||||
*/
|
||||
private Long clusterId;
|
||||
private String clusterId;
|
||||
|
||||
/** 簇电压 (V) */
|
||||
private BigDecimal clusterVoltage;
|
||||
@ -38,11 +38,11 @@ public class BMSBatteryDataList {
|
||||
/** 堆id */
|
||||
private String stackDeviceId;
|
||||
|
||||
public Long getClusterId() {
|
||||
public String getClusterId() {
|
||||
return clusterId;
|
||||
}
|
||||
|
||||
public void setClusterId(Long clusterId) {
|
||||
public void setClusterId(String clusterId) {
|
||||
this.clusterId = clusterId;
|
||||
}
|
||||
|
||||
|
@ -37,6 +37,11 @@ public class SiteMonitorRunningHeadInfoVo {
|
||||
*/
|
||||
private BigDecimal dayDisChargedCap;
|
||||
|
||||
/**
|
||||
* 站点id
|
||||
*/
|
||||
private String siteId;
|
||||
|
||||
public BigDecimal getTotalActivePower() {
|
||||
return totalActivePower;
|
||||
}
|
||||
@ -84,4 +89,12 @@ public class SiteMonitorRunningHeadInfoVo {
|
||||
public void setDayDisChargedCap(BigDecimal dayDisChargedCap) {
|
||||
this.dayDisChargedCap = dayDisChargedCap;
|
||||
}
|
||||
|
||||
public String getSiteId() {
|
||||
return siteId;
|
||||
}
|
||||
|
||||
public void setSiteId(String siteId) {
|
||||
this.siteId = siteId;
|
||||
}
|
||||
}
|
||||
|
@ -3,7 +3,7 @@ package com.xzzn.ems.mapper;
|
||||
import java.util.List;
|
||||
import com.xzzn.ems.domain.EmsPcsBranchData;
|
||||
import com.xzzn.ems.domain.vo.PcsBranchInfo;
|
||||
import io.lettuce.core.dynamic.annotation.Param;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* pcs支路数据Mapper接口
|
||||
|
@ -9,6 +9,7 @@ import com.xzzn.ems.domain.vo.ElectricIndexList;
|
||||
import com.xzzn.ems.domain.vo.PcsDetailInfoVo;
|
||||
import com.xzzn.ems.domain.vo.SiteMonitorDataVo;
|
||||
import com.xzzn.ems.domain.vo.SiteMonitorRunningHeadInfoVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* PCS数据Mapper接口
|
||||
@ -71,14 +72,7 @@ public interface EmsPcsDataMapper
|
||||
* @param siteId
|
||||
* @return
|
||||
*/
|
||||
public List<SiteMonitorDataVo> getPcsDataBySiteId(String siteId);
|
||||
|
||||
/**
|
||||
* 根据站点获取电网实时功率=sum(总交流有功电率)
|
||||
* @param siteId
|
||||
* @return
|
||||
*/
|
||||
public BigDecimal getGridNrtPower(String siteId);
|
||||
public List<SiteMonitorDataVo> getPcsDataBySiteId(@Param("siteId")String siteId, @Param("limitTime")int limitTime);
|
||||
|
||||
/**
|
||||
* 根据站点获取设备监控的实时运行头信息
|
||||
@ -104,5 +98,5 @@ public interface EmsPcsDataMapper
|
||||
* 获取总充+总放
|
||||
* @return
|
||||
*/
|
||||
public Map<String, BigDecimal> getPcsTotalChargeData();
|
||||
public Map<String, BigDecimal> getPcsTotalChargeData(String siteId);
|
||||
}
|
||||
|
@ -22,6 +22,7 @@ import java.util.*;
|
||||
@Service
|
||||
public class HomePageServiceImpl implements IHomePageService
|
||||
{
|
||||
private static final int LIMIT_TIME = 6;
|
||||
|
||||
@Autowired
|
||||
private IEmsSiteService emsSiteService;
|
||||
@ -37,10 +38,11 @@ public class HomePageServiceImpl implements IHomePageService
|
||||
SiteTotalInfoVo siteTotalInfoVo = new SiteTotalInfoVo();
|
||||
siteTotalInfoVo = emsSiteService.getSiteTotalInfo();
|
||||
// 获取总充+总放
|
||||
Map<String,BigDecimal> pcsMap = new HashMap<>();
|
||||
pcsMap = emsPcsDataMapper.getPcsTotalChargeData();
|
||||
siteTotalInfoVo.setTotalChargedCap(pcsMap.get("totalChargedCap"));
|
||||
siteTotalInfoVo.setTotalDischargedCap(pcsMap.get("totalDischargedCap"));
|
||||
Map<String,BigDecimal> pcsMap = emsPcsDataMapper.getPcsTotalChargeData(null);
|
||||
if(pcsMap != null){
|
||||
siteTotalInfoVo.setTotalChargedCap(pcsMap.get("totalChargedCap"));
|
||||
siteTotalInfoVo.setTotalDischargedCap(pcsMap.get("totalDischargedCap"));
|
||||
}
|
||||
return siteTotalInfoVo;
|
||||
}
|
||||
|
||||
@ -52,7 +54,7 @@ public class HomePageServiceImpl implements IHomePageService
|
||||
if (!StringUtils.isEmpty(siteId)) {
|
||||
// 站点基本信息
|
||||
EmsSiteSetting emsSite = emsSiteMapper.selectEmsSiteSettingBySiteId(siteId);
|
||||
if (StringUtils.isNotEmpty(siteId)) {
|
||||
if (emsSite != null) {
|
||||
// 装机功率+装机容量
|
||||
singleSiteBaseInfo.setSiteName(emsSite.getSiteName());
|
||||
singleSiteBaseInfo.setInstalledCap(emsSite.getInstallCapacity());
|
||||
@ -64,8 +66,14 @@ public class HomePageServiceImpl implements IHomePageService
|
||||
singleSiteBaseInfo.setSiteAddress(emsSite.getSiteAddress());
|
||||
singleSiteBaseInfo.setRunningTime(emsSite.getRunningTime() == null ? null :
|
||||
DateUtils.parseDateToStr("yyyy-MM-dd",emsSite.getRunningTime()));//投运时间
|
||||
// 获取单站点的总充+总放
|
||||
Map<String,BigDecimal> pcsMap = emsPcsDataMapper.getPcsTotalChargeData(siteId);
|
||||
if (pcsMap != null) {
|
||||
singleSiteBaseInfo.setTotalChargedCap(pcsMap.get("totalChargedCap"));
|
||||
singleSiteBaseInfo.setTotalDisChargedCap(pcsMap.get("totalDischargedCap"));
|
||||
}
|
||||
// 七天放电数据统计
|
||||
List<SiteMonitorDataVo> siteMonitorDataVoList = emsPcsDataMapper.getPcsDataBySiteId(siteId);
|
||||
List<SiteMonitorDataVo> siteMonitorDataVoList = emsPcsDataMapper.getPcsDataBySiteId(siteId,LIMIT_TIME);
|
||||
singleSiteBaseInfo.setSevenDayDisChargeStats(siteMonitorDataVoList);
|
||||
// 充放电基本数据处理
|
||||
dealSitePCSDate(singleSiteBaseInfo,siteMonitorDataVoList);
|
||||
@ -77,27 +85,15 @@ public class HomePageServiceImpl implements IHomePageService
|
||||
|
||||
private void dealSitePCSDate(SingleSiteBaseInfo singleSiteBaseInfo, List<SiteMonitorDataVo> siteMonitorDataVoList) {
|
||||
if (siteMonitorDataVoList != null && !siteMonitorDataVoList.isEmpty()) {
|
||||
BigDecimal dayChargeCap = new BigDecimal(0);
|
||||
BigDecimal dayDisChargeCap = new BigDecimal(0);
|
||||
BigDecimal totalChargeCap = new BigDecimal(0);
|
||||
BigDecimal totalDisChargeCap = new BigDecimal(0);
|
||||
for (SiteMonitorDataVo sitePcsData : siteMonitorDataVoList) {
|
||||
// 总充电量
|
||||
totalChargeCap = totalChargeCap.add(sitePcsData.getChargedCap());
|
||||
// 总放电量
|
||||
totalDisChargeCap = totalDisChargeCap.add(sitePcsData.getDisChargedCap());
|
||||
// 获取当天的充电量+放电量
|
||||
String pcsDate = sitePcsData.getAmmeterDate();
|
||||
boolean isToday= checkIsToday(pcsDate);
|
||||
if(isToday){
|
||||
dayChargeCap = dayChargeCap.add(sitePcsData.getChargedCap());
|
||||
dayDisChargeCap = dayDisChargeCap.add(sitePcsData.getDisChargedCap());
|
||||
singleSiteBaseInfo.setDayChargedCap(sitePcsData.getChargedCap());
|
||||
singleSiteBaseInfo.setDayDisChargedCap(sitePcsData.getDisChargedCap());
|
||||
}
|
||||
}
|
||||
singleSiteBaseInfo.setDayChargedCap(dayChargeCap);
|
||||
singleSiteBaseInfo.setDayDisChargedCap(dayDisChargeCap);
|
||||
singleSiteBaseInfo.setTotalChargedCap(totalChargeCap);
|
||||
singleSiteBaseInfo.setTotalDisChargedCap(totalDisChargeCap);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -50,40 +50,33 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
||||
SiteMonitorHomeVo siteMonitorHomeVo = new SiteMonitorHomeVo();
|
||||
|
||||
if (!StringUtils.isEmpty(siteId)) {
|
||||
// 获取单站点的总充+总放+电网实时功率
|
||||
Map<String,BigDecimal> pcsMap = emsPcsDataMapper.getPcsTotalChargeData(siteId);
|
||||
if (pcsMap != null) {
|
||||
siteMonitorHomeVo.setTotalChargedCap(pcsMap.get("totalChargedCap"));
|
||||
siteMonitorHomeVo.setTotalDischargedCap(pcsMap.get("totalDischargedCap"));
|
||||
siteMonitorHomeVo.setGridNrtPower(pcsMap.get("gridNrtPower"));
|
||||
}
|
||||
// 实时告警数据 名称+状态+告警内容
|
||||
List<SiteMonitorHomeAlarmVo> siteMonitorHomeAlarmVo = emsAlarmRecordsMapper.getAlarmRecordsBySiteId(siteId);
|
||||
siteMonitorHomeVo.setSiteMonitorHomeAlarmVo(siteMonitorHomeAlarmVo);
|
||||
// 能量数据
|
||||
List<SiteMonitorDataVo> siteMonitorDataVoList = emsPcsDataMapper.getPcsDataBySiteId(siteId);
|
||||
List<SiteMonitorDataVo> siteMonitorDataVoList = emsPcsDataMapper.getPcsDataBySiteId(siteId,6);
|
||||
if (!CollectionUtils.isEmpty(siteMonitorDataVoList)) {
|
||||
BigDecimal dayChargeCap = new BigDecimal(0);
|
||||
BigDecimal dayDisChargeCap = new BigDecimal(0);
|
||||
BigDecimal totalChargeCap = new BigDecimal(0);
|
||||
BigDecimal totalDisChargeCap = new BigDecimal(0);
|
||||
for (SiteMonitorDataVo sitePcsData : siteMonitorDataVoList) {
|
||||
// 总充电量
|
||||
totalChargeCap = totalChargeCap.add(sitePcsData.getChargedCap());
|
||||
// 总放电量
|
||||
totalDisChargeCap = totalDisChargeCap.add(sitePcsData.getDisChargedCap());
|
||||
// 获取当天的充电量+放电量
|
||||
String pcsDate = sitePcsData.getAmmeterDate();
|
||||
boolean isToday= checkIsToday(pcsDate);
|
||||
if(isToday){
|
||||
dayChargeCap = dayChargeCap.add(sitePcsData.getChargedCap());
|
||||
dayDisChargeCap = dayDisChargeCap.add(sitePcsData.getDisChargedCap());
|
||||
siteMonitorHomeVo.setDayChargedCap(sitePcsData.getChargedCap());
|
||||
siteMonitorHomeVo.setDayDisChargedCap(sitePcsData.getDisChargedCap());
|
||||
}
|
||||
}
|
||||
siteMonitorHomeVo.setDayChargedCap(dayChargeCap);
|
||||
siteMonitorHomeVo.setDayDisChargedCap(dayDisChargeCap);
|
||||
siteMonitorHomeVo.setTotalChargedCap(totalChargeCap);
|
||||
siteMonitorHomeVo.setTotalDischargedCap(totalDisChargeCap);
|
||||
// 储能可用电量
|
||||
BigDecimal energyStorageAvailElec = siteMonitorHomeVo.getTotalDischargedCap().subtract(siteMonitorHomeVo.getTotalChargedCap());
|
||||
siteMonitorHomeVo.setEnergyStorageAvailElec(energyStorageAvailElec);
|
||||
}
|
||||
siteMonitorHomeVo.setSiteMonitorDataVo(siteMonitorDataVoList);
|
||||
// 电网实时功率
|
||||
siteMonitorHomeVo.setGridNrtPower(emsPcsDataMapper.getGridNrtPower(siteId));
|
||||
}
|
||||
|
||||
return siteMonitorHomeVo;
|
||||
@ -172,8 +165,7 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
||||
// 获取单体电池数据
|
||||
String stackDeviceId = bmsOverViewVo.getDeviceId();
|
||||
if (!StringUtils.isEmpty(stackDeviceId)) {
|
||||
List<BMSBatteryDataList> batteryDataList = new ArrayList<>();
|
||||
batteryDataList = emsBatteryClusterMapper.getBmsBatteryData(siteId,stackDeviceId);
|
||||
List<BMSBatteryDataList> batteryDataList = emsBatteryClusterMapper.getBmsBatteryData(siteId,stackDeviceId);
|
||||
bmsOverViewVo.setBatteryDataList(batteryDataList);
|
||||
}
|
||||
}
|
||||
@ -196,53 +188,34 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
||||
List<BMSBatteryClusterDataList> clusterDataList = new ArrayList<>();
|
||||
if (!StringUtils.isEmpty(clusterDeviceId)) {
|
||||
// 获取单体电池数据-平均/最大/最小
|
||||
BatteryClusterDataDetailVo batteryClusterDataDetailVo = emsBatteryDataMapper.getBatteryDataByClusterId(siteId,clusterDeviceId);
|
||||
//BatteryClusterDataDetailVo batteryClusterDataDetailVo = emsBatteryDataMapper.getBatteryDataByClusterId(siteId,clusterDeviceId);
|
||||
// 处理数据
|
||||
if (batteryClusterDataDetailVo != null) {
|
||||
BMSBatteryClusterDataList voltageData = new BMSBatteryClusterDataList();
|
||||
BMSBatteryClusterDataList tempData = new BMSBatteryClusterDataList();
|
||||
BMSBatteryClusterDataList socData = new BMSBatteryClusterDataList();
|
||||
// 设值
|
||||
voltageData.setDataName(CLUSTER_DATA_VOLTAGE);
|
||||
voltageData.setAvgData(batteryClusterDataDetailVo.getAvgVoltage());
|
||||
voltageData.setMaxData(batteryClusterDataDetailVo.getMaxVoltage());
|
||||
voltageData.setMinData(batteryClusterDataDetailVo.getMinVoltage());
|
||||
tempData.setDataName(CLUSTER_DATA_TEP);
|
||||
tempData.setAvgData(batteryClusterDataDetailVo.getAvgTemp());
|
||||
tempData.setMaxData(batteryClusterDataDetailVo.getMaxTemp());
|
||||
tempData.setMinData(batteryClusterDataDetailVo.getMinTemp());
|
||||
socData.setDataName(CLUSTER_DATA_SOC);
|
||||
socData.setAvgData(batteryClusterDataDetailVo.getAvgSoc());
|
||||
socData.setMaxData(batteryClusterDataDetailVo.getMaxSoc());
|
||||
socData.setMinData(batteryClusterDataDetailVo.getMinSoc());
|
||||
BMSBatteryClusterDataList voltageData = new BMSBatteryClusterDataList();
|
||||
BMSBatteryClusterDataList tempData = new BMSBatteryClusterDataList();
|
||||
BMSBatteryClusterDataList socData = new BMSBatteryClusterDataList();
|
||||
// 设值
|
||||
voltageData.setDataName(CLUSTER_DATA_VOLTAGE);
|
||||
voltageData.setAvgData(bmsBatteryClusterVo.getAvgVoltage());
|
||||
voltageData.setMaxData(bmsBatteryClusterVo.getMaxVoltage());
|
||||
voltageData.setMaxDataID(bmsBatteryClusterVo.getMaxVoltageID());
|
||||
voltageData.setMinData(bmsBatteryClusterVo.getMinVoltage());
|
||||
voltageData.setMinDataID(bmsBatteryClusterVo.getMinVoltageID());
|
||||
tempData.setDataName(CLUSTER_DATA_TEP);
|
||||
tempData.setAvgData(bmsBatteryClusterVo.getAvgTemp());
|
||||
tempData.setMaxData(bmsBatteryClusterVo.getMaxTemp());
|
||||
tempData.setMaxDataID(bmsBatteryClusterVo.getMaxTempID());
|
||||
tempData.setMinData(bmsBatteryClusterVo.getMinTemp());
|
||||
tempData.setMinDataID(bmsBatteryClusterVo.getMinTempID());
|
||||
socData.setDataName(CLUSTER_DATA_SOC);
|
||||
socData.setAvgData(bmsBatteryClusterVo.getAvgSoc());
|
||||
socData.setMaxData(bmsBatteryClusterVo.getMaxSoc());
|
||||
socData.setMaxDataID(bmsBatteryClusterVo.getMaxSocID());
|
||||
socData.setMinData(bmsBatteryClusterVo.getMinSoc());
|
||||
socData.setMinDataID(bmsBatteryClusterVo.getMinSocID());
|
||||
|
||||
// 设置对应单体id
|
||||
List<Map<String,Object>> dataIdMapList = emsBatteryDataMapper.getDataIdsMap(batteryClusterDataDetailVo);
|
||||
Map<String,String> resultIdMap = new HashMap<>();
|
||||
if (!CollectionUtils.isEmpty(dataIdMapList)) {
|
||||
resultIdMap = dataIdMapList.stream()
|
||||
.filter(map -> map.containsKey("type") && map.containsKey("device_id")) // 过滤无效数据
|
||||
.filter(map -> map.get("type") instanceof String && map.get("device_id") instanceof Number) // 确保类型正确
|
||||
.collect(Collectors.toMap(
|
||||
map -> (String) map.get("type"), // 键:type 字段
|
||||
map -> (String) map.get("device_id"), // 值:device_id 转为 int
|
||||
(existing, replacement) -> existing // 处理键冲突的策略
|
||||
));
|
||||
|
||||
// 电压
|
||||
voltageData.setMaxDataID(resultIdMap.get("maxVoltageId"));
|
||||
voltageData.setMaxDataID(resultIdMap.get("maxVoltageId"));
|
||||
// 温度
|
||||
tempData.setMaxDataID(resultIdMap.get("maxTempId"));
|
||||
tempData.setMinDataID(resultIdMap.get("minTempId"));
|
||||
// soc
|
||||
socData.setMaxDataID(resultIdMap.get("maxSocId"));
|
||||
socData.setMinDataID(resultIdMap.get("minSocId"));
|
||||
}
|
||||
clusterDataList.add(voltageData);
|
||||
clusterDataList.add(tempData);
|
||||
clusterDataList.add(socData);
|
||||
}
|
||||
clusterDataList.add(voltageData);
|
||||
clusterDataList.add(tempData);
|
||||
clusterDataList.add(socData);
|
||||
bmsBatteryClusterVo.setBatteryDataList(clusterDataList);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user