dev #2
@ -7,6 +7,7 @@ import com.xzzn.common.utils.StringUtils;
|
||||
import com.xzzn.ems.domain.vo.BMSBatteryDataList;
|
||||
import com.xzzn.ems.domain.vo.BatteryDataStatsListVo;
|
||||
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.service.IEmsSiteService;
|
||||
import com.xzzn.ems.service.IEmsStatsReportService;
|
||||
@ -55,27 +56,27 @@ public class EmsSiteMonitorController extends BaseController{
|
||||
* 单站监控-设备监控-实时运行曲线图数据
|
||||
*/
|
||||
@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")
|
||||
public AjaxResult getRunningGraphPcsMaxTemp(@RequestParam String siteId)
|
||||
public AjaxResult getRunningGraphPcsMaxTemp(RunningGraphRequest request)
|
||||
{
|
||||
return success(iSingleSiteService.getRunningGraphPcsMaxTemp(siteId));
|
||||
return success(iSingleSiteService.getRunningGraphPcsMaxTemp(request));
|
||||
}
|
||||
|
||||
@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")
|
||||
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 {
|
||||
/**
|
||||
* 游标显示日期
|
||||
*/
|
||||
private String dateDay;
|
||||
|
||||
/**
|
||||
* 数据时间
|
||||
*/
|
||||
@ -33,4 +38,12 @@ public class BatteryAveSOCVo {
|
||||
public void setBatterySOC(BigDecimal 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 {
|
||||
/**
|
||||
* 游标显示日期
|
||||
*/
|
||||
private String dateDay;
|
||||
|
||||
/**
|
||||
* 数据时间
|
||||
*/
|
||||
@ -33,4 +38,12 @@ public class BatteryAveTempVo {
|
||||
public void setBatteryTemp(BigDecimal 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 {
|
||||
/**
|
||||
* 游标显示日期
|
||||
*/
|
||||
private String dateDay;
|
||||
|
||||
/**
|
||||
* 显示日期
|
||||
*/
|
||||
@ -54,6 +59,14 @@ public class EnergyStoragePowVo {
|
||||
return pcsTotalReactivePower;
|
||||
}
|
||||
|
||||
public String getDateDay() {
|
||||
return dateDay;
|
||||
}
|
||||
|
||||
public void setDateDay(String dateDay) {
|
||||
this.dateDay = dateDay;
|
||||
}
|
||||
|
||||
public void setPcsTotalReactivePower(BigDecimal pcsTotalReactivePower) {
|
||||
this.pcsTotalReactivePower = pcsTotalReactivePower;
|
||||
}
|
||||
|
||||
@ -7,6 +7,12 @@ import java.math.BigDecimal;
|
||||
*
|
||||
*/
|
||||
public class PcsMaxTempVo {
|
||||
|
||||
/**
|
||||
* 游标显示日期
|
||||
*/
|
||||
private String dateDay;
|
||||
|
||||
/**
|
||||
* 数据时间
|
||||
*/
|
||||
@ -42,4 +48,12 @@ public class PcsMaxTempVo {
|
||||
public void setTemp(BigDecimal 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 SiteMonitorRuningInfoVo getRunningGraphStorage(String siteId);
|
||||
public SiteMonitorRuningInfoVo getRunningGraphStorage(RunningGraphRequest request);
|
||||
|
||||
public List<PcsDetailInfoVo> getPcsDetailInfo(String siteId);
|
||||
|
||||
@ -32,11 +32,11 @@ public interface ISingleSiteService
|
||||
|
||||
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);
|
||||
|
||||
|
||||
@ -165,46 +165,50 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
||||
|
||||
// 获取单站监控实时运行-PCS有功无功功率
|
||||
@Override
|
||||
public SiteMonitorRuningInfoVo getRunningGraphStorage(String siteId) {
|
||||
public SiteMonitorRuningInfoVo getRunningGraphStorage(RunningGraphRequest request) {
|
||||
SiteMonitorRuningInfoVo siteMonitorRuningInfoVo = new SiteMonitorRuningInfoVo();
|
||||
if (!StringUtils.isEmpty(siteId)) {
|
||||
// 时间暂定今日+昨日
|
||||
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);
|
||||
if (Objects.isNull(request) || StringUtils.isEmpty(request.getSiteId())) {
|
||||
return siteMonitorRuningInfoVo;
|
||||
}
|
||||
// // 时间暂定今日+昨日
|
||||
// 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;
|
||||
}
|
||||
private List<PcsPowerList> fullFillData(List<PcsPowerList> pcsPowerList, List<LocalDateTime> targetMinutes) {
|
||||
@ -259,18 +263,21 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
||||
|
||||
// 获取单站监控实时运行-pcs最高温度
|
||||
@Override
|
||||
public SiteMonitorRuningInfoVo getRunningGraphPcsMaxTemp(String siteId) {
|
||||
public SiteMonitorRuningInfoVo getRunningGraphPcsMaxTemp(RunningGraphRequest request) {
|
||||
SiteMonitorRuningInfoVo siteMonitorRuningInfoVo = new SiteMonitorRuningInfoVo();
|
||||
List<PcsMaxTempList> pcsMaxTempList = new ArrayList<>();
|
||||
// 时间暂定今日+昨日
|
||||
Date today = new Date();
|
||||
Date yesterday = DateUtils.addDays(today, -1);
|
||||
// // 时间暂定今日+昨日
|
||||
// Date today = new Date();
|
||||
// Date yesterday = DateUtils.addDays(today, -1);
|
||||
String siteId = request.getSiteId();
|
||||
Date startDate = request.getStartDate();
|
||||
Date endDate = request.getEndDate();
|
||||
//PCS最高温度list
|
||||
List<PcsMaxTempVo> pcsMaxTempVos = new ArrayList<>();
|
||||
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)) {
|
||||
pcsMaxTempVos = emsPcsDataMapper.getDDSMaxTemp(siteId, yesterday, today);
|
||||
pcsMaxTempVos = emsPcsDataMapper.getDDSMaxTemp(siteId, startDate, endDate);
|
||||
}
|
||||
|
||||
// List<PcsMaxTempVo> -> 按pcs的deviceId分组转成List<PcsMaxTempList>
|
||||
@ -288,16 +295,16 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
||||
return pcdData;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
// 生成时间列表(每小时一个)
|
||||
List<LocalDateTime> targetHours = new ArrayList<>(60);
|
||||
LocalDateTime startDate = DateUtils.toLocalDateTime(yesterday).truncatedTo(ChronoUnit.DAYS);
|
||||
LocalDateTime endDate = DateUtils.toLocalDateTime(today);
|
||||
while (startDate.isBefore(endDate)) {
|
||||
targetHours.add(startDate);
|
||||
startDate = startDate.plusHours(1); // 递增1小时
|
||||
}
|
||||
// 根据时间列表填充数据
|
||||
pcsMaxTempList = fullFillMaxTempData(pcsMaxTempList,targetHours);
|
||||
// // 生成时间列表(每小时一个)
|
||||
// List<LocalDateTime> targetHours = new ArrayList<>(60);
|
||||
// LocalDateTime startDate = DateUtils.toLocalDateTime(yesterday).truncatedTo(ChronoUnit.DAYS);
|
||||
// LocalDateTime endDate = DateUtils.toLocalDateTime(today);
|
||||
// while (startDate.isBefore(endDate)) {
|
||||
// targetHours.add(startDate);
|
||||
// startDate = startDate.plusHours(1); // 递增1小时
|
||||
// }
|
||||
// // 根据时间列表填充数据
|
||||
// pcsMaxTempList = fullFillMaxTempData(pcsMaxTempList,targetHours);
|
||||
}
|
||||
|
||||
siteMonitorRuningInfoVo.setPcsMaxTempList(pcsMaxTempList);
|
||||
@ -355,35 +362,49 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
||||
|
||||
// 获取单站监控实时运行-平均soc
|
||||
@Override
|
||||
public SiteMonitorRuningInfoVo getRunningGraphBatterySoc(String siteId) {
|
||||
public SiteMonitorRuningInfoVo getRunningGraphBatterySoc(RunningGraphRequest request) {
|
||||
SiteMonitorRuningInfoVo siteMonitorRuningInfoVo = new SiteMonitorRuningInfoVo();
|
||||
if (!StringUtils.isEmpty(siteId)) {
|
||||
// 时间暂定今日+昨日
|
||||
Date today = new Date();
|
||||
Date yesterday = DateUtils.addDays(today, -1);
|
||||
if (!StringUtils.isEmpty(request.getSiteId())) {
|
||||
// // 时间暂定今日+昨日
|
||||
// Date today = new Date();
|
||||
// Date yesterday = DateUtils.addDays(today, -1);
|
||||
//电池平均soclist
|
||||
List<BatteryAveSOCVo> batteryAveSOCList = emsBatteryStackMapper.getAveSocList(siteId, yesterday, today);
|
||||
List<BatteryAveSOCVo> batteryAveSOCList = emsBatteryStackMapper.getAveSocList(request.getSiteId(), request.getStartDate(), request.getEndDate());
|
||||
siteMonitorRuningInfoVo.setBatteryAveSOCList(batteryAveSOCList);
|
||||
}
|
||||
return siteMonitorRuningInfoVo;
|
||||
}
|
||||
// 获取单站监控实时运行-电池平均温度
|
||||
@Override
|
||||
public SiteMonitorRuningInfoVo getRunningGraphBatteryTemp(String siteId) {
|
||||
public SiteMonitorRuningInfoVo getRunningGraphBatteryTemp(RunningGraphRequest request) {
|
||||
SiteMonitorRuningInfoVo siteMonitorRuningInfoVo = new SiteMonitorRuningInfoVo();
|
||||
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);
|
||||
if (Objects.isNull(request) || StringUtils.isEmpty(request.getSiteId())) {
|
||||
return siteMonitorRuningInfoVo;
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
@ -327,13 +327,12 @@
|
||||
|
||||
<select id="getBatteryAveTempList" resultType="com.xzzn.ems.domain.vo.BatteryAveTempVo">
|
||||
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, '%H:%i:00') AS createDate
|
||||
DATE_FORMAT(t.create_time, '%H:00:00') AS createDate
|
||||
from ems_battery_cluster t
|
||||
where t.site_id = #{siteId}
|
||||
AND t.create_time >= Date(#{startDate})
|
||||
AND t.create_time <= #{endDate}
|
||||
AND Date(t.create_time) between #{startDate} and #{endDate}
|
||||
GROUP BY t.site_id,dateDay,createDate
|
||||
order by dateDay,createDate
|
||||
</select>
|
||||
|
||||
@ -347,13 +347,12 @@
|
||||
|
||||
<select id="getBatteryAveTempList" resultType="com.xzzn.ems.domain.vo.BatteryAveTempVo">
|
||||
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, '%H:%i:00') AS createDate
|
||||
DATE_FORMAT(t.create_time, '%H:00:00') AS createDate
|
||||
from ems_battery_stack t
|
||||
where t.site_id = #{siteId}
|
||||
AND t.create_time >= Date(#{startDate})
|
||||
AND t.create_time <= #{endDate}
|
||||
AND Date(t.create_time) between #{startDate} and #{endDate}
|
||||
GROUP BY t.site_id,dateDay,createDate
|
||||
order by dateDay,createDate
|
||||
</select>
|
||||
@ -495,13 +494,12 @@
|
||||
|
||||
<select id="getAveSocList" resultType="com.xzzn.ems.domain.vo.BatteryAveSOCVo">
|
||||
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, '%H:%i:00') AS createDate
|
||||
DATE_FORMAT(t.create_time, '%H:00:00') AS createDate
|
||||
from ems_battery_stack t
|
||||
where t.site_id = #{siteId}
|
||||
AND t.create_time >= Date(#{startDate})
|
||||
AND t.create_time <= #{endDate}
|
||||
AND Date(t.create_time) between #{startDate} and #{endDate}
|
||||
GROUP BY t.site_id,dateDay,createDate
|
||||
order by dateDay,createDate
|
||||
</select>
|
||||
|
||||
@ -461,13 +461,14 @@
|
||||
SELECT t.site_id,t.device_id as deviceId,
|
||||
t.total_active_power AS pcsTotalActPower,
|
||||
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
|
||||
WHERE t.site_id = #{siteId}
|
||||
AND t.data_update_time >= Date(#{startDate})
|
||||
AND t.data_update_time <= #{endDate}
|
||||
GROUP BY t.site_id, deviceId,pcsTotalActPower,pcsTotalReactivePower,createDate
|
||||
ORDER BY createDate
|
||||
AND Date(t.data_update_time) between #{startDate} and #{endDate}
|
||||
AND minute(t.data_update_time) = 0
|
||||
GROUP BY t.site_id, deviceId,pcsTotalActPower,pcsTotalReactivePower,dateDay,createDate
|
||||
ORDER BY dateDay,createDate
|
||||
</select>
|
||||
|
||||
<select id="getPcsDataByMonth" resultType="com.xzzn.ems.domain.vo.SiteMonitorDataVo">
|
||||
@ -581,18 +582,19 @@
|
||||
COALESCE(t.v_temperature, -999),
|
||||
COALESCE(t.w_temperature, -999)
|
||||
) 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 ems_pcs_data p
|
||||
WHERE p.site_id = #{siteId}
|
||||
AND p.data_update_time >= Date(#{startDate})
|
||||
AND p.data_update_time <= #{endDate}
|
||||
AND Date(p.data_update_time) between #{startDate} and #{endDate}
|
||||
AND minute(p.data_update_time) = 0
|
||||
GROUP BY p.site_id, p.device_id,dateHour
|
||||
) latest inner join ems_pcs_data t ON latest.site_id = t.site_id
|
||||
AND latest.device_id = t.device_id
|
||||
AND latest.max_update_time = t.data_update_time
|
||||
group by deviceId,createDate,temp
|
||||
order by createDate desc
|
||||
group by deviceId,dateDay,createDate,temp
|
||||
order by dateDay,createDate
|
||||
</select>
|
||||
|
||||
<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.module4_temp, -999)
|
||||
) 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 ems_pcs_data p
|
||||
WHERE p.site_id = #{siteId}
|
||||
AND p.data_update_time >= Date(#{startDate})
|
||||
AND p.data_update_time <= #{endDate}
|
||||
AND Date(p.data_update_time) between #{startDate} and #{endDate}
|
||||
AND minute(p.data_update_time) = 0
|
||||
GROUP BY p.site_id, p.device_id,dateHour
|
||||
) latest inner join ems_pcs_data t ON latest.site_id = t.site_id
|
||||
AND latest.device_id = t.device_id
|
||||
AND latest.max_update_time = t.data_update_time
|
||||
group by deviceId,createDate,temp
|
||||
order by createDate desc
|
||||
group by deviceId,dateDay,createDate,temp
|
||||
order by dateDay,createDate
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user