平台修改意见20251120-设备监控实时运行页面数据图按照小时展示,共用时间范围,新增时间查询条件
This commit is contained in:
@ -7,6 +7,7 @@ import com.xzzn.common.utils.StringUtils;
|
|||||||
import com.xzzn.ems.domain.vo.BMSBatteryDataList;
|
import com.xzzn.ems.domain.vo.BMSBatteryDataList;
|
||||||
import com.xzzn.ems.domain.vo.BatteryDataStatsListVo;
|
import com.xzzn.ems.domain.vo.BatteryDataStatsListVo;
|
||||||
import com.xzzn.ems.domain.vo.DateSearchRequest;
|
import com.xzzn.ems.domain.vo.DateSearchRequest;
|
||||||
|
import com.xzzn.ems.domain.vo.RunningGraphRequest;
|
||||||
import com.xzzn.ems.domain.vo.SiteBatteryDataList;
|
import com.xzzn.ems.domain.vo.SiteBatteryDataList;
|
||||||
import com.xzzn.ems.service.IEmsSiteService;
|
import com.xzzn.ems.service.IEmsSiteService;
|
||||||
import com.xzzn.ems.service.IEmsStatsReportService;
|
import com.xzzn.ems.service.IEmsStatsReportService;
|
||||||
@ -55,27 +56,27 @@ public class EmsSiteMonitorController extends BaseController{
|
|||||||
* 单站监控-设备监控-实时运行曲线图数据
|
* 单站监控-设备监控-实时运行曲线图数据
|
||||||
*/
|
*/
|
||||||
@GetMapping("/runningGraph/storagePower")
|
@GetMapping("/runningGraph/storagePower")
|
||||||
public AjaxResult getRunningGraphStorage(@RequestParam String siteId)
|
public AjaxResult getRunningGraphStorage(RunningGraphRequest request)
|
||||||
{
|
{
|
||||||
return success(iSingleSiteService.getRunningGraphStorage(siteId));
|
return success(iSingleSiteService.getRunningGraphStorage(request));
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/runningGraph/pcsMaxTemp")
|
@GetMapping("/runningGraph/pcsMaxTemp")
|
||||||
public AjaxResult getRunningGraphPcsMaxTemp(@RequestParam String siteId)
|
public AjaxResult getRunningGraphPcsMaxTemp(RunningGraphRequest request)
|
||||||
{
|
{
|
||||||
return success(iSingleSiteService.getRunningGraphPcsMaxTemp(siteId));
|
return success(iSingleSiteService.getRunningGraphPcsMaxTemp(request));
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/runningGraph/batteryAveSoc")
|
@GetMapping("/runningGraph/batteryAveSoc")
|
||||||
public AjaxResult getRunningGraphBatterySoc(@RequestParam String siteId)
|
public AjaxResult getRunningGraphBatterySoc(RunningGraphRequest request)
|
||||||
{
|
{
|
||||||
return success(iSingleSiteService.getRunningGraphBatterySoc(siteId));
|
return success(iSingleSiteService.getRunningGraphBatterySoc(request));
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/runningGraph/batteryAveTemp")
|
@GetMapping("/runningGraph/batteryAveTemp")
|
||||||
public AjaxResult getRunningGraphBatteryTemp(@RequestParam String siteId)
|
public AjaxResult getRunningGraphBatteryTemp(RunningGraphRequest request)
|
||||||
{
|
{
|
||||||
return success(iSingleSiteService.getRunningGraphBatteryTemp(siteId));
|
return success(iSingleSiteService.getRunningGraphBatteryTemp(request));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -8,6 +8,11 @@ import java.util.Date;
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class BatteryAveSOCVo {
|
public class BatteryAveSOCVo {
|
||||||
|
/**
|
||||||
|
* 游标显示日期
|
||||||
|
*/
|
||||||
|
private String dateDay;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 数据时间
|
* 数据时间
|
||||||
*/
|
*/
|
||||||
@ -33,4 +38,12 @@ public class BatteryAveSOCVo {
|
|||||||
public void setBatterySOC(BigDecimal batterySOC) {
|
public void setBatterySOC(BigDecimal batterySOC) {
|
||||||
this.batterySOC = batterySOC;
|
this.batterySOC = batterySOC;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getDateDay() {
|
||||||
|
return dateDay;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDateDay(String dateDay) {
|
||||||
|
this.dateDay = dateDay;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,6 +8,11 @@ import java.util.Date;
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class BatteryAveTempVo {
|
public class BatteryAveTempVo {
|
||||||
|
/**
|
||||||
|
* 游标显示日期
|
||||||
|
*/
|
||||||
|
private String dateDay;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 数据时间
|
* 数据时间
|
||||||
*/
|
*/
|
||||||
@ -33,4 +38,12 @@ public class BatteryAveTempVo {
|
|||||||
public void setBatteryTemp(BigDecimal batteryTemp) {
|
public void setBatteryTemp(BigDecimal batteryTemp) {
|
||||||
this.batteryTemp = batteryTemp;
|
this.batteryTemp = batteryTemp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getDateDay() {
|
||||||
|
return dateDay;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDateDay(String dateDay) {
|
||||||
|
this.dateDay = dateDay;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,6 +8,11 @@ import java.util.Date;
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class EnergyStoragePowVo {
|
public class EnergyStoragePowVo {
|
||||||
|
/**
|
||||||
|
* 游标显示日期
|
||||||
|
*/
|
||||||
|
private String dateDay;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 显示日期
|
* 显示日期
|
||||||
*/
|
*/
|
||||||
@ -54,6 +59,14 @@ public class EnergyStoragePowVo {
|
|||||||
return pcsTotalReactivePower;
|
return pcsTotalReactivePower;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getDateDay() {
|
||||||
|
return dateDay;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDateDay(String dateDay) {
|
||||||
|
this.dateDay = dateDay;
|
||||||
|
}
|
||||||
|
|
||||||
public void setPcsTotalReactivePower(BigDecimal pcsTotalReactivePower) {
|
public void setPcsTotalReactivePower(BigDecimal pcsTotalReactivePower) {
|
||||||
this.pcsTotalReactivePower = pcsTotalReactivePower;
|
this.pcsTotalReactivePower = pcsTotalReactivePower;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,6 +7,12 @@ import java.math.BigDecimal;
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class PcsMaxTempVo {
|
public class PcsMaxTempVo {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游标显示日期
|
||||||
|
*/
|
||||||
|
private String dateDay;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 数据时间
|
* 数据时间
|
||||||
*/
|
*/
|
||||||
@ -42,4 +48,12 @@ public class PcsMaxTempVo {
|
|||||||
public void setTemp(BigDecimal temp) {
|
public void setTemp(BigDecimal temp) {
|
||||||
this.temp = temp;
|
this.temp = temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getDateDay() {
|
||||||
|
return dateDay;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDateDay(String dateDay) {
|
||||||
|
this.dateDay = dateDay;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,45 @@
|
|||||||
|
package com.xzzn.ems.domain.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实时运行曲线图请求参数
|
||||||
|
*/
|
||||||
|
public class RunningGraphRequest {
|
||||||
|
|
||||||
|
/** 开始时间 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private Date startDate;
|
||||||
|
|
||||||
|
/** 结束时间 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private Date endDate;
|
||||||
|
|
||||||
|
private String siteId;
|
||||||
|
|
||||||
|
public Date getStartDate() {
|
||||||
|
return startDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStartDate(Date startDate) {
|
||||||
|
this.startDate = startDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getEndDate() {
|
||||||
|
return endDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEndDate(Date endDate) {
|
||||||
|
this.endDate = endDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSiteId() {
|
||||||
|
return siteId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSiteId(String siteId) {
|
||||||
|
this.siteId = siteId;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -17,7 +17,7 @@ public interface ISingleSiteService
|
|||||||
|
|
||||||
public SiteMonitorRunningHeadInfoVo getSiteRunningHeadInfo(String siteId);
|
public SiteMonitorRunningHeadInfoVo getSiteRunningHeadInfo(String siteId);
|
||||||
|
|
||||||
public SiteMonitorRuningInfoVo getRunningGraphStorage(String siteId);
|
public SiteMonitorRuningInfoVo getRunningGraphStorage(RunningGraphRequest request);
|
||||||
|
|
||||||
public List<PcsDetailInfoVo> getPcsDetailInfo(String siteId);
|
public List<PcsDetailInfoVo> getPcsDetailInfo(String siteId);
|
||||||
|
|
||||||
@ -32,11 +32,11 @@ public interface ISingleSiteService
|
|||||||
|
|
||||||
public List<AmmeterDataVo> getAmmeterDataList(String siteId);
|
public List<AmmeterDataVo> getAmmeterDataList(String siteId);
|
||||||
|
|
||||||
public SiteMonitorRuningInfoVo getRunningGraphPcsMaxTemp(String siteId);
|
public SiteMonitorRuningInfoVo getRunningGraphPcsMaxTemp(RunningGraphRequest request);
|
||||||
|
|
||||||
public SiteMonitorRuningInfoVo getRunningGraphBatterySoc(String siteId);
|
public SiteMonitorRuningInfoVo getRunningGraphBatterySoc(RunningGraphRequest request);
|
||||||
|
|
||||||
public SiteMonitorRuningInfoVo getRunningGraphBatteryTemp(String siteId);
|
public SiteMonitorRuningInfoVo getRunningGraphBatteryTemp(RunningGraphRequest request);
|
||||||
|
|
||||||
public List<BMSBatteryDataList> getClusterBatteryList(String siteId, String stackDeviceId, String clusterDeviceId);
|
public List<BMSBatteryDataList> getClusterBatteryList(String siteId, String stackDeviceId, String clusterDeviceId);
|
||||||
|
|
||||||
|
|||||||
@ -165,46 +165,50 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
|||||||
|
|
||||||
// 获取单站监控实时运行-PCS有功无功功率
|
// 获取单站监控实时运行-PCS有功无功功率
|
||||||
@Override
|
@Override
|
||||||
public SiteMonitorRuningInfoVo getRunningGraphStorage(String siteId) {
|
public SiteMonitorRuningInfoVo getRunningGraphStorage(RunningGraphRequest request) {
|
||||||
SiteMonitorRuningInfoVo siteMonitorRuningInfoVo = new SiteMonitorRuningInfoVo();
|
SiteMonitorRuningInfoVo siteMonitorRuningInfoVo = new SiteMonitorRuningInfoVo();
|
||||||
if (!StringUtils.isEmpty(siteId)) {
|
if (Objects.isNull(request) || StringUtils.isEmpty(request.getSiteId())) {
|
||||||
// 时间暂定今日+昨日
|
return siteMonitorRuningInfoVo;
|
||||||
Date today = DateUtils.getNowDate();
|
|
||||||
Date yesterday = DateUtils.addDays(today, -1);
|
|
||||||
|
|
||||||
//pcs有功无功
|
|
||||||
List<PcsPowerList> pcsPowerList = new ArrayList<>();
|
|
||||||
List<EnergyStoragePowVo> energyStoragePowList = emsPcsDataMapper.getStoragePowerList(siteId, yesterday, today);
|
|
||||||
|
|
||||||
// List<EnergyStoragePowVo> -> 按pcs的deviceId分组转成List<PcsPowerList>
|
|
||||||
if (!CollectionUtils.isEmpty(energyStoragePowList)) {
|
|
||||||
Map<String, List<EnergyStoragePowVo>> dataMap = energyStoragePowList.stream()
|
|
||||||
.collect(Collectors.groupingBy(
|
|
||||||
EnergyStoragePowVo::getDeviceId,
|
|
||||||
Collectors.toList()));
|
|
||||||
|
|
||||||
pcsPowerList = dataMap.entrySet().stream()
|
|
||||||
.map(entry -> {
|
|
||||||
PcsPowerList pcdData = new PcsPowerList();
|
|
||||||
pcdData.setDeviceId(entry.getKey());
|
|
||||||
pcdData.setEnergyStoragePowList(entry.getValue());
|
|
||||||
return pcdData;
|
|
||||||
}).collect(Collectors.toList());
|
|
||||||
|
|
||||||
// 生成时间列表(每分钟一个)
|
|
||||||
List<LocalDateTime> targetMinutes = new ArrayList<>(60);
|
|
||||||
LocalDateTime startDate = DateUtils.toLocalDateTime(yesterday).truncatedTo(ChronoUnit.DAYS);
|
|
||||||
LocalDateTime endDate = DateUtils.toLocalDateTime(today);
|
|
||||||
while (startDate.isBefore(endDate)) {
|
|
||||||
targetMinutes.add(startDate);
|
|
||||||
startDate = startDate.plusMinutes(1); // 递增1分钟
|
|
||||||
}
|
|
||||||
// 根据时间列表填充数据
|
|
||||||
pcsPowerList = fullFillData(pcsPowerList,targetMinutes);
|
|
||||||
}
|
|
||||||
|
|
||||||
siteMonitorRuningInfoVo.setPcsPowerList(pcsPowerList);
|
|
||||||
}
|
}
|
||||||
|
// // 时间暂定今日+昨日
|
||||||
|
// Date today = DateUtils.getNowDate();
|
||||||
|
// Date yesterday = DateUtils.addDays(today, -1);
|
||||||
|
Date startDate = request.getStartDate();
|
||||||
|
Date endDate = request.getEndDate();
|
||||||
|
|
||||||
|
//pcs有功无功
|
||||||
|
List<PcsPowerList> pcsPowerList = new ArrayList<>();
|
||||||
|
List<EnergyStoragePowVo> energyStoragePowList = emsPcsDataMapper.getStoragePowerList(request.getSiteId(), startDate, endDate);
|
||||||
|
|
||||||
|
// List<EnergyStoragePowVo> -> 按pcs的deviceId分组转成List<PcsPowerList>
|
||||||
|
if (!CollectionUtils.isEmpty(energyStoragePowList)) {
|
||||||
|
Map<String, List<EnergyStoragePowVo>> dataMap = energyStoragePowList.stream()
|
||||||
|
.collect(Collectors.groupingBy(
|
||||||
|
EnergyStoragePowVo::getDeviceId,
|
||||||
|
Collectors.toList()));
|
||||||
|
|
||||||
|
pcsPowerList = dataMap.entrySet().stream()
|
||||||
|
.map(entry -> {
|
||||||
|
PcsPowerList pcdData = new PcsPowerList();
|
||||||
|
pcdData.setDeviceId(entry.getKey());
|
||||||
|
pcdData.setEnergyStoragePowList(entry.getValue());
|
||||||
|
return pcdData;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
|
||||||
|
// // 生成时间列表(每分钟一个)
|
||||||
|
// List<LocalDateTime> targetMinutes = new ArrayList<>(60);
|
||||||
|
// LocalDateTime startDate = DateUtils.toLocalDateTime(yesterday).truncatedTo(ChronoUnit.DAYS);
|
||||||
|
// LocalDateTime endDate = DateUtils.toLocalDateTime(today);
|
||||||
|
// while (startDate.isBefore(endDate)) {
|
||||||
|
// targetMinutes.add(startDate);
|
||||||
|
// startDate = startDate.plusMinutes(1); // 递增1分钟
|
||||||
|
// }
|
||||||
|
// // 根据时间列表填充数据
|
||||||
|
// pcsPowerList = fullFillData(pcsPowerList, targetMinutes);
|
||||||
|
}
|
||||||
|
|
||||||
|
siteMonitorRuningInfoVo.setPcsPowerList(pcsPowerList);
|
||||||
|
|
||||||
return siteMonitorRuningInfoVo;
|
return siteMonitorRuningInfoVo;
|
||||||
}
|
}
|
||||||
private List<PcsPowerList> fullFillData(List<PcsPowerList> pcsPowerList, List<LocalDateTime> targetMinutes) {
|
private List<PcsPowerList> fullFillData(List<PcsPowerList> pcsPowerList, List<LocalDateTime> targetMinutes) {
|
||||||
@ -259,18 +263,21 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
|||||||
|
|
||||||
// 获取单站监控实时运行-pcs最高温度
|
// 获取单站监控实时运行-pcs最高温度
|
||||||
@Override
|
@Override
|
||||||
public SiteMonitorRuningInfoVo getRunningGraphPcsMaxTemp(String siteId) {
|
public SiteMonitorRuningInfoVo getRunningGraphPcsMaxTemp(RunningGraphRequest request) {
|
||||||
SiteMonitorRuningInfoVo siteMonitorRuningInfoVo = new SiteMonitorRuningInfoVo();
|
SiteMonitorRuningInfoVo siteMonitorRuningInfoVo = new SiteMonitorRuningInfoVo();
|
||||||
List<PcsMaxTempList> pcsMaxTempList = new ArrayList<>();
|
List<PcsMaxTempList> pcsMaxTempList = new ArrayList<>();
|
||||||
// 时间暂定今日+昨日
|
// // 时间暂定今日+昨日
|
||||||
Date today = new Date();
|
// Date today = new Date();
|
||||||
Date yesterday = DateUtils.addDays(today, -1);
|
// Date yesterday = DateUtils.addDays(today, -1);
|
||||||
|
String siteId = request.getSiteId();
|
||||||
|
Date startDate = request.getStartDate();
|
||||||
|
Date endDate = request.getEndDate();
|
||||||
//PCS最高温度list
|
//PCS最高温度list
|
||||||
List<PcsMaxTempVo> pcsMaxTempVos = new ArrayList<>();
|
List<PcsMaxTempVo> pcsMaxTempVos = new ArrayList<>();
|
||||||
if (SiteEnum.FX.getCode().equals(siteId)) {
|
if (SiteEnum.FX.getCode().equals(siteId)) {
|
||||||
pcsMaxTempVos = emsPcsDataMapper.getFXMaxTemp(siteId, yesterday, today);
|
pcsMaxTempVos = emsPcsDataMapper.getFXMaxTemp(siteId, startDate, endDate);
|
||||||
} else if (SiteEnum.DDS.getCode().equals(siteId)) {
|
} else if (SiteEnum.DDS.getCode().equals(siteId)) {
|
||||||
pcsMaxTempVos = emsPcsDataMapper.getDDSMaxTemp(siteId, yesterday, today);
|
pcsMaxTempVos = emsPcsDataMapper.getDDSMaxTemp(siteId, startDate, endDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
// List<PcsMaxTempVo> -> 按pcs的deviceId分组转成List<PcsMaxTempList>
|
// List<PcsMaxTempVo> -> 按pcs的deviceId分组转成List<PcsMaxTempList>
|
||||||
@ -288,16 +295,16 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
|||||||
return pcdData;
|
return pcdData;
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
|
|
||||||
// 生成时间列表(每小时一个)
|
// // 生成时间列表(每小时一个)
|
||||||
List<LocalDateTime> targetHours = new ArrayList<>(60);
|
// List<LocalDateTime> targetHours = new ArrayList<>(60);
|
||||||
LocalDateTime startDate = DateUtils.toLocalDateTime(yesterday).truncatedTo(ChronoUnit.DAYS);
|
// LocalDateTime startDate = DateUtils.toLocalDateTime(yesterday).truncatedTo(ChronoUnit.DAYS);
|
||||||
LocalDateTime endDate = DateUtils.toLocalDateTime(today);
|
// LocalDateTime endDate = DateUtils.toLocalDateTime(today);
|
||||||
while (startDate.isBefore(endDate)) {
|
// while (startDate.isBefore(endDate)) {
|
||||||
targetHours.add(startDate);
|
// targetHours.add(startDate);
|
||||||
startDate = startDate.plusHours(1); // 递增1小时
|
// startDate = startDate.plusHours(1); // 递增1小时
|
||||||
}
|
// }
|
||||||
// 根据时间列表填充数据
|
// // 根据时间列表填充数据
|
||||||
pcsMaxTempList = fullFillMaxTempData(pcsMaxTempList,targetHours);
|
// pcsMaxTempList = fullFillMaxTempData(pcsMaxTempList,targetHours);
|
||||||
}
|
}
|
||||||
|
|
||||||
siteMonitorRuningInfoVo.setPcsMaxTempList(pcsMaxTempList);
|
siteMonitorRuningInfoVo.setPcsMaxTempList(pcsMaxTempList);
|
||||||
@ -355,35 +362,49 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
|||||||
|
|
||||||
// 获取单站监控实时运行-平均soc
|
// 获取单站监控实时运行-平均soc
|
||||||
@Override
|
@Override
|
||||||
public SiteMonitorRuningInfoVo getRunningGraphBatterySoc(String siteId) {
|
public SiteMonitorRuningInfoVo getRunningGraphBatterySoc(RunningGraphRequest request) {
|
||||||
SiteMonitorRuningInfoVo siteMonitorRuningInfoVo = new SiteMonitorRuningInfoVo();
|
SiteMonitorRuningInfoVo siteMonitorRuningInfoVo = new SiteMonitorRuningInfoVo();
|
||||||
if (!StringUtils.isEmpty(siteId)) {
|
if (!StringUtils.isEmpty(request.getSiteId())) {
|
||||||
// 时间暂定今日+昨日
|
// // 时间暂定今日+昨日
|
||||||
Date today = new Date();
|
// Date today = new Date();
|
||||||
Date yesterday = DateUtils.addDays(today, -1);
|
// Date yesterday = DateUtils.addDays(today, -1);
|
||||||
//电池平均soclist
|
//电池平均soclist
|
||||||
List<BatteryAveSOCVo> batteryAveSOCList = emsBatteryStackMapper.getAveSocList(siteId, yesterday, today);
|
List<BatteryAveSOCVo> batteryAveSOCList = emsBatteryStackMapper.getAveSocList(request.getSiteId(), request.getStartDate(), request.getEndDate());
|
||||||
siteMonitorRuningInfoVo.setBatteryAveSOCList(batteryAveSOCList);
|
siteMonitorRuningInfoVo.setBatteryAveSOCList(batteryAveSOCList);
|
||||||
}
|
}
|
||||||
return siteMonitorRuningInfoVo;
|
return siteMonitorRuningInfoVo;
|
||||||
}
|
}
|
||||||
// 获取单站监控实时运行-电池平均温度
|
// 获取单站监控实时运行-电池平均温度
|
||||||
@Override
|
@Override
|
||||||
public SiteMonitorRuningInfoVo getRunningGraphBatteryTemp(String siteId) {
|
public SiteMonitorRuningInfoVo getRunningGraphBatteryTemp(RunningGraphRequest request) {
|
||||||
SiteMonitorRuningInfoVo siteMonitorRuningInfoVo = new SiteMonitorRuningInfoVo();
|
SiteMonitorRuningInfoVo siteMonitorRuningInfoVo = new SiteMonitorRuningInfoVo();
|
||||||
if (!StringUtils.isEmpty(siteId)) {
|
if (Objects.isNull(request) || StringUtils.isEmpty(request.getSiteId())) {
|
||||||
// 时间暂定今日+昨日
|
return siteMonitorRuningInfoVo;
|
||||||
Date today = new Date();
|
|
||||||
Date yesterday = DateUtils.addDays(today, -1);
|
|
||||||
//电池平均温度list
|
|
||||||
List<BatteryAveTempVo> batteryAveTempList = new ArrayList<>();
|
|
||||||
if (SiteEnum.FX.getCode().equals(siteId)) {
|
|
||||||
batteryAveTempList = emsBatteryClusterMapper.getBatteryAveTempList(siteId, yesterday, today);
|
|
||||||
} else if (SiteEnum.DDS.getCode().equals(siteId)) {
|
|
||||||
batteryAveTempList = emsBatteryStackMapper.getBatteryAveTempList(siteId, yesterday, today);
|
|
||||||
}
|
|
||||||
siteMonitorRuningInfoVo.setBatteryAveTempList(batteryAveTempList);
|
|
||||||
}
|
}
|
||||||
|
String siteId = request.getSiteId();
|
||||||
|
Date startDate = request.getStartDate();
|
||||||
|
Date endDate = request.getEndDate();
|
||||||
|
//电池平均温度list
|
||||||
|
List<BatteryAveTempVo> batteryAveTempList = new ArrayList<>();
|
||||||
|
if (SiteEnum.FX.getCode().equals(siteId)) {
|
||||||
|
batteryAveTempList = emsBatteryClusterMapper.getBatteryAveTempList(siteId, startDate, endDate);
|
||||||
|
} else if (SiteEnum.DDS.getCode().equals(siteId)) {
|
||||||
|
batteryAveTempList = emsBatteryStackMapper.getBatteryAveTempList(siteId, startDate, endDate);
|
||||||
|
}
|
||||||
|
siteMonitorRuningInfoVo.setBatteryAveTempList(batteryAveTempList);
|
||||||
|
// if (!StringUtils.isEmpty(siteId)) {
|
||||||
|
// // 时间暂定今日+昨日
|
||||||
|
// Date today = new Date();
|
||||||
|
// Date yesterday = DateUtils.addDays(today, -1);
|
||||||
|
// //电池平均温度list
|
||||||
|
// List<BatteryAveTempVo> batteryAveTempList = new ArrayList<>();
|
||||||
|
// if (SiteEnum.FX.getCode().equals(siteId)) {
|
||||||
|
// batteryAveTempList = emsBatteryClusterMapper.getBatteryAveTempList(siteId, yesterday, today);
|
||||||
|
// } else if (SiteEnum.DDS.getCode().equals(siteId)) {
|
||||||
|
// batteryAveTempList = emsBatteryStackMapper.getBatteryAveTempList(siteId, yesterday, today);
|
||||||
|
// }
|
||||||
|
// siteMonitorRuningInfoVo.setBatteryAveTempList(batteryAveTempList);
|
||||||
|
// }
|
||||||
return siteMonitorRuningInfoVo;
|
return siteMonitorRuningInfoVo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -327,13 +327,12 @@
|
|||||||
|
|
||||||
<select id="getBatteryAveTempList" resultType="com.xzzn.ems.domain.vo.BatteryAveTempVo">
|
<select id="getBatteryAveTempList" resultType="com.xzzn.ems.domain.vo.BatteryAveTempVo">
|
||||||
select t.site_id,
|
select t.site_id,
|
||||||
avg(t.avg_cell_temp) as batteryTemp,
|
round(avg(t.avg_cell_temp)) as batteryTemp,
|
||||||
DATE_FORMAT(t.create_time, '%Y-%m-%d') AS dateDay,
|
DATE_FORMAT(t.create_time, '%Y-%m-%d') AS dateDay,
|
||||||
DATE_FORMAT(t.create_time, '%H:%i:00') AS createDate
|
DATE_FORMAT(t.create_time, '%H:00:00') AS createDate
|
||||||
from ems_battery_cluster t
|
from ems_battery_cluster t
|
||||||
where t.site_id = #{siteId}
|
where t.site_id = #{siteId}
|
||||||
AND t.create_time >= Date(#{startDate})
|
AND Date(t.create_time) between #{startDate} and #{endDate}
|
||||||
AND t.create_time <= #{endDate}
|
|
||||||
GROUP BY t.site_id,dateDay,createDate
|
GROUP BY t.site_id,dateDay,createDate
|
||||||
order by dateDay,createDate
|
order by dateDay,createDate
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@ -347,13 +347,12 @@
|
|||||||
|
|
||||||
<select id="getBatteryAveTempList" resultType="com.xzzn.ems.domain.vo.BatteryAveTempVo">
|
<select id="getBatteryAveTempList" resultType="com.xzzn.ems.domain.vo.BatteryAveTempVo">
|
||||||
select t.site_id,
|
select t.site_id,
|
||||||
avg(t.avg_temperature) as batteryTemp,
|
round(avg(t.avg_cell_temp)) as batteryTemp,
|
||||||
DATE_FORMAT(t.create_time, '%Y-%m-%d') AS dateDay,
|
DATE_FORMAT(t.create_time, '%Y-%m-%d') AS dateDay,
|
||||||
DATE_FORMAT(t.create_time, '%H:%i:00') AS createDate
|
DATE_FORMAT(t.create_time, '%H:00:00') AS createDate
|
||||||
from ems_battery_stack t
|
from ems_battery_stack t
|
||||||
where t.site_id = #{siteId}
|
where t.site_id = #{siteId}
|
||||||
AND t.create_time >= Date(#{startDate})
|
AND Date(t.create_time) between #{startDate} and #{endDate}
|
||||||
AND t.create_time <= #{endDate}
|
|
||||||
GROUP BY t.site_id,dateDay,createDate
|
GROUP BY t.site_id,dateDay,createDate
|
||||||
order by dateDay,createDate
|
order by dateDay,createDate
|
||||||
</select>
|
</select>
|
||||||
@ -495,13 +494,12 @@
|
|||||||
|
|
||||||
<select id="getAveSocList" resultType="com.xzzn.ems.domain.vo.BatteryAveSOCVo">
|
<select id="getAveSocList" resultType="com.xzzn.ems.domain.vo.BatteryAveSOCVo">
|
||||||
select t.site_id,
|
select t.site_id,
|
||||||
avg(t.stack_soc) as batterySOC,
|
round(avg(t.stack_soc)) as batterySOC,
|
||||||
DATE_FORMAT(t.create_time, '%Y-%m-%d') AS dateDay,
|
DATE_FORMAT(t.create_time, '%Y-%m-%d') AS dateDay,
|
||||||
DATE_FORMAT(t.create_time, '%H:%i:00') AS createDate
|
DATE_FORMAT(t.create_time, '%H:00:00') AS createDate
|
||||||
from ems_battery_stack t
|
from ems_battery_stack t
|
||||||
where t.site_id = #{siteId}
|
where t.site_id = #{siteId}
|
||||||
AND t.create_time >= Date(#{startDate})
|
AND Date(t.create_time) between #{startDate} and #{endDate}
|
||||||
AND t.create_time <= #{endDate}
|
|
||||||
GROUP BY t.site_id,dateDay,createDate
|
GROUP BY t.site_id,dateDay,createDate
|
||||||
order by dateDay,createDate
|
order by dateDay,createDate
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@ -461,13 +461,14 @@
|
|||||||
SELECT t.site_id,t.device_id as deviceId,
|
SELECT t.site_id,t.device_id as deviceId,
|
||||||
t.total_active_power AS pcsTotalActPower,
|
t.total_active_power AS pcsTotalActPower,
|
||||||
t.total_reactive_power AS pcsTotalReactivePower,
|
t.total_reactive_power AS pcsTotalReactivePower,
|
||||||
DATE_FORMAT(t.data_update_time, '%Y-%m-%d %H:%i:00') AS createDate
|
DATE_FORMAT(t.create_time, '%Y-%m-%d') AS dateDay,
|
||||||
|
DATE_FORMAT(t.data_update_time, '%H:%i:00') AS createDate
|
||||||
FROM ems_pcs_data t
|
FROM ems_pcs_data t
|
||||||
WHERE t.site_id = #{siteId}
|
WHERE t.site_id = #{siteId}
|
||||||
AND t.data_update_time >= Date(#{startDate})
|
AND Date(t.data_update_time) between #{startDate} and #{endDate}
|
||||||
AND t.data_update_time <= #{endDate}
|
AND minute(t.data_update_time) = 0
|
||||||
GROUP BY t.site_id, deviceId,pcsTotalActPower,pcsTotalReactivePower,createDate
|
GROUP BY t.site_id, deviceId,pcsTotalActPower,pcsTotalReactivePower,dateDay,createDate
|
||||||
ORDER BY createDate
|
ORDER BY dateDay,createDate
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getPcsDataByMonth" resultType="com.xzzn.ems.domain.vo.SiteMonitorDataVo">
|
<select id="getPcsDataByMonth" resultType="com.xzzn.ems.domain.vo.SiteMonitorDataVo">
|
||||||
@ -581,18 +582,19 @@
|
|||||||
COALESCE(t.v_temperature, -999),
|
COALESCE(t.v_temperature, -999),
|
||||||
COALESCE(t.w_temperature, -999)
|
COALESCE(t.w_temperature, -999)
|
||||||
) AS temp,
|
) AS temp,
|
||||||
latest.dateHour as createDate
|
DATE_FORMAT(latest.dateHour, '%Y-%m-%d') AS dateDay,
|
||||||
|
DATE_FORMAT(latest.dateHour, '%H:%i:00') AS createDate
|
||||||
from ( SELECT p.site_id, p.device_id,DATE_FORMAT(p.data_update_time, '%Y-%m-%d %H:00:00') AS dateHour,MAX(p.data_update_time) as max_update_time
|
from ( SELECT p.site_id, p.device_id,DATE_FORMAT(p.data_update_time, '%Y-%m-%d %H:00:00') AS dateHour,MAX(p.data_update_time) as max_update_time
|
||||||
FROM ems_pcs_data p
|
FROM ems_pcs_data p
|
||||||
WHERE p.site_id = #{siteId}
|
WHERE p.site_id = #{siteId}
|
||||||
AND p.data_update_time >= Date(#{startDate})
|
AND Date(p.data_update_time) between #{startDate} and #{endDate}
|
||||||
AND p.data_update_time <= #{endDate}
|
AND minute(p.data_update_time) = 0
|
||||||
GROUP BY p.site_id, p.device_id,dateHour
|
GROUP BY p.site_id, p.device_id,dateHour
|
||||||
) 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 deviceId,createDate,temp
|
group by deviceId,dateDay,createDate,temp
|
||||||
order by createDate desc
|
order by dateDay,createDate
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getDDSMaxTemp" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="com.xzzn.ems.domain.vo.PcsMaxTempVo">
|
<select id="getDDSMaxTemp" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="com.xzzn.ems.domain.vo.PcsMaxTempVo">
|
||||||
@ -603,17 +605,18 @@
|
|||||||
COALESCE(t.module3_temp, -999),
|
COALESCE(t.module3_temp, -999),
|
||||||
COALESCE(t.module4_temp, -999)
|
COALESCE(t.module4_temp, -999)
|
||||||
) AS temp,
|
) AS temp,
|
||||||
latest.dateHour as createDate
|
DATE_FORMAT(latest.dateHour, '%Y-%m-%d') AS dateDay,
|
||||||
|
DATE_FORMAT(latest.dateHour, '%H:%i:00') AS createDate
|
||||||
from ( SELECT p.site_id, p.device_id,DATE_FORMAT(p.data_update_time, '%Y-%m-%d %H:00:00') AS dateHour,MAX(p.data_update_time) as max_update_time
|
from ( SELECT p.site_id, p.device_id,DATE_FORMAT(p.data_update_time, '%Y-%m-%d %H:00:00') AS dateHour,MAX(p.data_update_time) as max_update_time
|
||||||
FROM ems_pcs_data p
|
FROM ems_pcs_data p
|
||||||
WHERE p.site_id = #{siteId}
|
WHERE p.site_id = #{siteId}
|
||||||
AND p.data_update_time >= Date(#{startDate})
|
AND Date(p.data_update_time) between #{startDate} and #{endDate}
|
||||||
AND p.data_update_time <= #{endDate}
|
AND minute(p.data_update_time) = 0
|
||||||
GROUP BY p.site_id, p.device_id,dateHour
|
GROUP BY p.site_id, p.device_id,dateHour
|
||||||
) 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 deviceId,createDate,temp
|
group by deviceId,dateDay,createDate,temp
|
||||||
order by createDate desc
|
order by dateDay,createDate
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
Reference in New Issue
Block a user