统计报表-pcs曲线
This commit is contained in:
@ -52,10 +52,10 @@ public class EmsSiteMonitorController extends BaseController{
|
|||||||
return success(iSingleSiteService.getRunningGraphStorage(siteId));
|
return success(iSingleSiteService.getRunningGraphStorage(siteId));
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/runningGraph/pcsAveTemp")
|
@GetMapping("/runningGraph/stackAveTemp")
|
||||||
public AjaxResult getRunningGraphPcsTemp(@RequestParam String siteId)
|
public AjaxResult getRunningGraphStackTemp(@RequestParam String siteId)
|
||||||
{
|
{
|
||||||
return success(iSingleSiteService.getRunningGraphPcsTemp(siteId));
|
return success(iSingleSiteService.getRunningGraphStackTemp(siteId));
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/runningGraph/batteryAveSoc")
|
@GetMapping("/runningGraph/batteryAveSoc")
|
||||||
|
@ -45,4 +45,19 @@ public class EmsStatisticalReportController extends BaseController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 概率统计-PCS曲线
|
||||||
|
*/
|
||||||
|
@GetMapping("/getPCSData")
|
||||||
|
public AjaxResult getPCSData(DateSearchRequest requestVo)
|
||||||
|
{
|
||||||
|
if (!StringUtils.isEmpty(requestVo.getSiteId()) &&
|
||||||
|
!StringUtils.isEmpty(requestVo.getDeviceId()) &&
|
||||||
|
requestVo.getDataType() != 0) {
|
||||||
|
return success(ieEmsStatsReportService.getPCSDataResult(requestVo));
|
||||||
|
} else {
|
||||||
|
return error("缺少必传项");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -21,6 +21,10 @@ public class DateSearchRequest {
|
|||||||
|
|
||||||
private String siteId;
|
private String siteId;
|
||||||
|
|
||||||
|
private String deviceId;
|
||||||
|
|
||||||
|
private int dataType;
|
||||||
|
|
||||||
public Date getStartDate() {
|
public Date getStartDate() {
|
||||||
return startDate;
|
return startDate;
|
||||||
}
|
}
|
||||||
@ -44,4 +48,20 @@ public class DateSearchRequest {
|
|||||||
public void setSiteId(String siteId) {
|
public void setSiteId(String siteId) {
|
||||||
this.siteId = siteId;
|
this.siteId = siteId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getDeviceId() {
|
||||||
|
return deviceId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDeviceId(String deviceId) {
|
||||||
|
this.deviceId = deviceId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getDataType() {
|
||||||
|
return dataType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDataType(int dataType) {
|
||||||
|
this.dataType = dataType;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@ package com.xzzn.ems.domain.vo;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 首页看板数据概览-电量指标
|
* 数据统计-电量指标
|
||||||
*/
|
*/
|
||||||
public class ElectricIndexList {
|
public class ElectricIndexList {
|
||||||
/**
|
/**
|
||||||
|
@ -15,7 +15,7 @@ public class SiteMonitorRuningInfoVo {
|
|||||||
/**
|
/**
|
||||||
* pcs平均温度list
|
* pcs平均温度list
|
||||||
*/
|
*/
|
||||||
private List<PCSAveTempVo> pcsAveTempList;
|
private List<StackAveTempVo> stackAveTempList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 电池平均soclist
|
* 电池平均soclist
|
||||||
@ -35,12 +35,12 @@ public class SiteMonitorRuningInfoVo {
|
|||||||
this.energyStoragePowList = energyStoragePowList;
|
this.energyStoragePowList = energyStoragePowList;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<PCSAveTempVo> getPcsAveTempList() {
|
public List<StackAveTempVo> getStackAveTempList() {
|
||||||
return pcsAveTempList;
|
return stackAveTempList;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPcsAveTempList(List<PCSAveTempVo> pcsAveTempList) {
|
public void setStackAveTempList(List<StackAveTempVo> stackAveTempList) {
|
||||||
this.pcsAveTempList = pcsAveTempList;
|
this.stackAveTempList = stackAveTempList;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<BatteryAveSOCVo> getBatteryAveSOCList() {
|
public List<BatteryAveSOCVo> getBatteryAveSOCList() {
|
||||||
|
@ -4,10 +4,10 @@ import java.math.BigDecimal;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 实时运行-pcs平均温度数据
|
* 实时运行-堆平均温度数据
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class PCSAveTempVo {
|
public class StackAveTempVo {
|
||||||
/**
|
/**
|
||||||
* 数据时间
|
* 数据时间
|
||||||
*/
|
*/
|
||||||
@ -16,7 +16,7 @@ public class PCSAveTempVo {
|
|||||||
/**
|
/**
|
||||||
* 实时温度
|
* 实时温度
|
||||||
*/
|
*/
|
||||||
private BigDecimal pcsTemp;
|
private BigDecimal temp;
|
||||||
|
|
||||||
|
|
||||||
public Date getCreateDate() {
|
public Date getCreateDate() {
|
||||||
@ -27,11 +27,11 @@ public class PCSAveTempVo {
|
|||||||
this.createDate = createDate;
|
this.createDate = createDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
public BigDecimal getPcsTemp() {
|
public BigDecimal getTemp() {
|
||||||
return pcsTemp;
|
return temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPcsTemp(BigDecimal pcsTemp) {
|
public void setTemp(BigDecimal temp) {
|
||||||
this.pcsTemp = pcsTemp;
|
this.temp = temp;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,8 +1,11 @@
|
|||||||
package com.xzzn.ems.mapper;
|
package com.xzzn.ems.mapper;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.xzzn.ems.domain.EmsBatteryCluster;
|
import com.xzzn.ems.domain.EmsBatteryCluster;
|
||||||
import com.xzzn.ems.domain.vo.BMSBatteryDataList;
|
import com.xzzn.ems.domain.vo.BMSBatteryDataList;
|
||||||
|
import com.xzzn.ems.domain.vo.BatteryAveSOCVo;
|
||||||
|
import com.xzzn.ems.domain.vo.BatteryAveTempVo;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -68,4 +71,16 @@ public interface EmsBatteryClusterMapper
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public List<BMSBatteryDataList> getBmsBatteryData(@Param("siteId")String siteId, @Param("stackDeviceId")String stackDeviceId);
|
public List<BMSBatteryDataList> getBmsBatteryData(@Param("siteId")String siteId, @Param("stackDeviceId")String stackDeviceId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实时运行-平均soc+平均温度
|
||||||
|
* @param siteId
|
||||||
|
* @param startDate
|
||||||
|
* @param endDate
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<BatteryAveSOCVo> getAveSocList(@Param("siteId")String siteId, @Param("startDate") Date startDate, @Param("endDate")Date endDate);
|
||||||
|
|
||||||
|
public List<BatteryAveTempVo> getBatteryAveTempList(@Param("siteId")String siteId, @Param("startDate")Date startDate, @Param("endDate")Date endDate);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
package com.xzzn.ems.mapper;
|
package com.xzzn.ems.mapper;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.xzzn.ems.domain.EmsBatteryStack;
|
import com.xzzn.ems.domain.EmsBatteryStack;
|
||||||
import com.xzzn.ems.domain.vo.BMSOverViewVo;
|
import com.xzzn.ems.domain.vo.StackAveTempVo;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 电池堆数据Mapper接口
|
* 电池堆数据Mapper接口
|
||||||
@ -61,9 +63,11 @@ public interface EmsBatteryStackMapper
|
|||||||
public int deleteEmsBatteryStackByIds(Long[] ids);
|
public int deleteEmsBatteryStackByIds(Long[] ids);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取电池堆信息
|
* 获取实时运行-堆平均温度
|
||||||
* @param siteId
|
* @param siteId
|
||||||
|
* @param startDate
|
||||||
|
* @param endDate
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public List<BMSOverViewVo> selectEmsBatteryStackBySiteId(String siteId);
|
public List<StackAveTempVo> getStackAveTempList(@Param("siteId")String siteId, @Param("startDate") Date startDate, @Param("endDate")Date endDate);
|
||||||
}
|
}
|
||||||
|
@ -133,15 +133,13 @@ public interface EmsPcsDataMapper
|
|||||||
public List<EnergyStoragePowVo> getStoragePowerList(@Param("siteId")String siteId, @Param("startDate")Date startDate, @Param("endDate")Date endDate);
|
public List<EnergyStoragePowVo> getStoragePowerList(@Param("siteId")String siteId, @Param("startDate")Date startDate, @Param("endDate")Date endDate);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取实时运行-pcs平均温度
|
* pcs曲线运行数据
|
||||||
* @param siteId
|
* @param requestVo
|
||||||
* @param startDate
|
|
||||||
* @param endDate
|
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public List<PCSAveTempVo> getPcsAveTempList(@Param("siteId")String siteId, @Param("startDate")Date startDate, @Param("endDate")Date endDate);
|
public List<PcsStatisListVo> getPcsActivePowerByDay(DateSearchRequest requestVo);
|
||||||
|
|
||||||
public List<BatteryAveSOCVo> getAveSocList(@Param("siteId")String siteId, @Param("startDate")Date startDate, @Param("endDate")Date endDate);
|
public List<PcsStatisListVo> getPcsActivePowerByHour(DateSearchRequest requestVo);
|
||||||
|
|
||||||
public List<BatteryAveTempVo> getBatteryAveTempList(@Param("siteId")String siteId, @Param("startDate")Date startDate, @Param("endDate")Date endDate);
|
public List<PcsStatisListVo> getPcsActivePowerByMonth(DateSearchRequest requestVo);
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
package com.xzzn.ems.service;
|
package com.xzzn.ems.service;
|
||||||
|
|
||||||
import com.xzzn.ems.domain.vo.DateSearchRequest;
|
import com.xzzn.ems.domain.vo.DateSearchRequest;
|
||||||
import com.xzzn.ems.domain.vo.ElectricDataInfoVo;;import java.util.Date;
|
import com.xzzn.ems.domain.vo.ElectricDataInfoVo;
|
||||||
|
import com.xzzn.ems.domain.vo.PcsStatisListVo;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 统计报表数据Service接口
|
* 统计报表数据Service接口
|
||||||
@ -13,4 +16,6 @@ public interface IEmsStatsReportService
|
|||||||
{
|
{
|
||||||
|
|
||||||
public ElectricDataInfoVo getElectricDataResult(DateSearchRequest requestVo);
|
public ElectricDataInfoVo getElectricDataResult(DateSearchRequest requestVo);
|
||||||
|
|
||||||
|
public List<PcsStatisListVo> getPCSDataResult(DateSearchRequest requestVo);
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ public interface ISingleSiteService
|
|||||||
|
|
||||||
public AmmeterDataResponse getAmmeterDataList(String siteId);
|
public AmmeterDataResponse getAmmeterDataList(String siteId);
|
||||||
|
|
||||||
public SiteMonitorRuningInfoVo getRunningGraphPcsTemp(String siteId);
|
public SiteMonitorRuningInfoVo getRunningGraphStackTemp(String siteId);
|
||||||
|
|
||||||
public SiteMonitorRuningInfoVo getRunningGraphBatterySoc(String siteId);
|
public SiteMonitorRuningInfoVo getRunningGraphBatterySoc(String siteId);
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@ package com.xzzn.ems.service.impl;
|
|||||||
import com.xzzn.common.utils.DateUtils;
|
import com.xzzn.common.utils.DateUtils;
|
||||||
import com.xzzn.ems.domain.vo.DateSearchRequest;
|
import com.xzzn.ems.domain.vo.DateSearchRequest;
|
||||||
import com.xzzn.ems.domain.vo.ElectricDataInfoVo;
|
import com.xzzn.ems.domain.vo.ElectricDataInfoVo;
|
||||||
|
import com.xzzn.ems.domain.vo.PcsStatisListVo;
|
||||||
import com.xzzn.ems.domain.vo.SiteMonitorDataVo;
|
import com.xzzn.ems.domain.vo.SiteMonitorDataVo;
|
||||||
import com.xzzn.ems.mapper.EmsPcsDataMapper;
|
import com.xzzn.ems.mapper.EmsPcsDataMapper;
|
||||||
import com.xzzn.ems.service.IEmsStatsReportService;
|
import com.xzzn.ems.service.IEmsStatsReportService;
|
||||||
@ -38,14 +39,10 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService
|
|||||||
public ElectricDataInfoVo getElectricDataResult(DateSearchRequest requestVo) {
|
public ElectricDataInfoVo getElectricDataResult(DateSearchRequest requestVo) {
|
||||||
ElectricDataInfoVo electricDataInfoVo = new ElectricDataInfoVo();
|
ElectricDataInfoVo electricDataInfoVo = new ElectricDataInfoVo();
|
||||||
|
|
||||||
|
// 默认时间处理
|
||||||
|
dealRequestTime(requestVo);
|
||||||
Date startDate = requestVo.getStartDate();
|
Date startDate = requestVo.getStartDate();
|
||||||
Date endDate = requestVo.getEndDate();
|
Date endDate = requestVo.getEndDate();
|
||||||
if (startDate == null && endDate == null) {
|
|
||||||
// 如果没有传时间,默认从今天往前7天
|
|
||||||
LocalDate sevenDaysAgo = LocalDate.now().minusDays(6);
|
|
||||||
startDate = DateUtils.toDate(sevenDaysAgo);
|
|
||||||
endDate = new Date();
|
|
||||||
}
|
|
||||||
|
|
||||||
List<SiteMonitorDataVo> dataList = new ArrayList();
|
List<SiteMonitorDataVo> dataList = new ArrayList();
|
||||||
// 开始日期和结束日期同一天,展示 0-24 小时数据
|
// 开始日期和结束日期同一天,展示 0-24 小时数据
|
||||||
@ -93,4 +90,48 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService
|
|||||||
}
|
}
|
||||||
return electricDataInfoVo;
|
return electricDataInfoVo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<PcsStatisListVo> getPCSDataResult(DateSearchRequest requestVo) {
|
||||||
|
List<PcsStatisListVo> dataList = new ArrayList();
|
||||||
|
|
||||||
|
// 默认时间-7天
|
||||||
|
dealRequestTime(requestVo);
|
||||||
|
Date startDate = requestVo.getStartDate();
|
||||||
|
Date endDate = requestVo.getEndDate();
|
||||||
|
|
||||||
|
// 开始日期和结束日期同一天,展示 0-24 小时数据
|
||||||
|
if (DateUtils.isSameDay(startDate, endDate)){
|
||||||
|
endDate = DateUtils.addDays(endDate, 1);
|
||||||
|
requestVo.setEndDate(endDate);
|
||||||
|
dataList = emsPcsDataMapper.getPcsActivePowerByHour(requestVo);
|
||||||
|
} else if (DateUtils.differentDaysByMillisecond(endDate, startDate) >= 1
|
||||||
|
&& DateUtils.differentDaysByMillisecond(endDate, startDate) < 30){
|
||||||
|
endDate = DateUtils.addDays(endDate, 1);
|
||||||
|
requestVo.setEndDate(endDate);
|
||||||
|
// 开始日期-结束日期大于 1 天,小于30 天,按天展示数据
|
||||||
|
dataList = emsPcsDataMapper.getPcsActivePowerByDay(requestVo);
|
||||||
|
} else if (DateUtils.differentDaysByMillisecond(endDate, startDate) >= 30){
|
||||||
|
endDate = DateUtils.addDays(endDate, 1);
|
||||||
|
requestVo.setEndDate(endDate);
|
||||||
|
// 开始日期-结束日期大于 1 个月,按月展示数据
|
||||||
|
dataList = emsPcsDataMapper.getPcsActivePowerByMonth(requestVo);
|
||||||
|
}
|
||||||
|
return dataList;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 统计入参时间处理
|
||||||
|
public void dealRequestTime(DateSearchRequest requestVo){
|
||||||
|
|
||||||
|
Date startDate = requestVo.getStartDate();
|
||||||
|
Date endDate = requestVo.getEndDate();
|
||||||
|
if (startDate == null && endDate == null) {
|
||||||
|
// 如果没有传时间,默认从今天往前7天
|
||||||
|
LocalDate sevenDaysAgo = LocalDate.now().minusDays(6);
|
||||||
|
startDate = DateUtils.toDate(sevenDaysAgo);
|
||||||
|
endDate = new Date();
|
||||||
|
requestVo.setStartDate(startDate);
|
||||||
|
requestVo.setEndDate(endDate);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -142,17 +142,17 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
|||||||
}
|
}
|
||||||
return siteMonitorRuningInfoVo;
|
return siteMonitorRuningInfoVo;
|
||||||
}
|
}
|
||||||
// 获取单站监控实时运行-poc平均温度
|
// 获取单站监控实时运行-stack平均温度
|
||||||
@Override
|
@Override
|
||||||
public SiteMonitorRuningInfoVo getRunningGraphPcsTemp(String siteId) {
|
public SiteMonitorRuningInfoVo getRunningGraphStackTemp(String siteId) {
|
||||||
SiteMonitorRuningInfoVo siteMonitorRuningInfoVo = new SiteMonitorRuningInfoVo();
|
SiteMonitorRuningInfoVo siteMonitorRuningInfoVo = new SiteMonitorRuningInfoVo();
|
||||||
if (!StringUtils.isEmpty(siteId)) {
|
if (!StringUtils.isEmpty(siteId)) {
|
||||||
// 时间暂定今日+昨日
|
// 时间暂定今日+昨日
|
||||||
Date today = new Date();
|
Date today = new Date();
|
||||||
Date yesterday = DateUtils.addDays(today, -1);
|
Date yesterday = DateUtils.addDays(today, -1);
|
||||||
//pcs平均温度list
|
//pcs平均温度list
|
||||||
List<PCSAveTempVo> pcsAveTempVos = emsPcsDataMapper.getPcsAveTempList(siteId, yesterday, today);
|
List<StackAveTempVo> stackAveTempVos = emsBatteryStackMapper.getStackAveTempList(siteId, yesterday, today);
|
||||||
siteMonitorRuningInfoVo.setPcsAveTempList(pcsAveTempVos);
|
siteMonitorRuningInfoVo.setStackAveTempList(stackAveTempVos);
|
||||||
}
|
}
|
||||||
return siteMonitorRuningInfoVo;
|
return siteMonitorRuningInfoVo;
|
||||||
}
|
}
|
||||||
@ -165,7 +165,7 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
|||||||
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 = emsPcsDataMapper.getAveSocList(siteId, yesterday, today);
|
List<BatteryAveSOCVo> batteryAveSOCList = emsBatteryClusterMapper.getAveSocList(siteId, yesterday, today);
|
||||||
siteMonitorRuningInfoVo.setBatteryAveSOCList(batteryAveSOCList);
|
siteMonitorRuningInfoVo.setBatteryAveSOCList(batteryAveSOCList);
|
||||||
}
|
}
|
||||||
return siteMonitorRuningInfoVo;
|
return siteMonitorRuningInfoVo;
|
||||||
@ -179,7 +179,7 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
|||||||
Date today = new Date();
|
Date today = new Date();
|
||||||
Date yesterday = DateUtils.addDays(today, -1);
|
Date yesterday = DateUtils.addDays(today, -1);
|
||||||
//电池平均温度list
|
//电池平均温度list
|
||||||
List<BatteryAveTempVo> batteryAveTempList = emsPcsDataMapper.getBatteryAveTempList(siteId, yesterday, today);
|
List<BatteryAveTempVo> batteryAveTempList = emsBatteryClusterMapper.getBatteryAveTempList(siteId, yesterday, today);
|
||||||
siteMonitorRuningInfoVo.setBatteryAveTempList(batteryAveTempList);
|
siteMonitorRuningInfoVo.setBatteryAveTempList(batteryAveTempList);
|
||||||
}
|
}
|
||||||
return siteMonitorRuningInfoVo;
|
return siteMonitorRuningInfoVo;
|
||||||
|
@ -325,4 +325,33 @@
|
|||||||
group by t.cluster_voltage,t.cluster_current,t.current_soc,t.site_id,t.device_id,t.max_cell_voltage,t.min_cell_voltage,
|
group by t.cluster_voltage,t.cluster_current,t.current_soc,t.site_id,t.device_id,t.max_cell_voltage,t.min_cell_voltage,
|
||||||
t.max_cell_temp,t.min_cell_temp
|
t.max_cell_temp,t.min_cell_temp
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="getAveSocList" resultType="com.xzzn.ems.domain.vo.BatteryAveSOCVo">
|
||||||
|
select t.site_id,
|
||||||
|
t.battery_pack_soc as batterySOC,
|
||||||
|
t.create_time as createDate
|
||||||
|
from ems_battery_cluster t
|
||||||
|
inner join (select site_id,create_time,MIN(device_id) as device_id
|
||||||
|
from ems_battery_cluster
|
||||||
|
where site_id = #{siteId}
|
||||||
|
AND create_time >= Date(#{startDate})
|
||||||
|
AND create_time <= #{endDate}
|
||||||
|
GROUP BY site_id,create_time
|
||||||
|
) temp on t.site_id = temp.site_id and t.create_time = temp.create_time and t.device_id = temp.device_id
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getBatteryAveTempList" resultType="com.xzzn.ems.domain.vo.BatteryAveTempVo">
|
||||||
|
select t.site_id,
|
||||||
|
t.avg_cell_temp as batteryTemp,
|
||||||
|
t.create_time as createDate
|
||||||
|
from ems_battery_cluster t
|
||||||
|
inner join (select site_id,create_time,MIN(device_id) as device_id
|
||||||
|
from ems_battery_cluster
|
||||||
|
where site_id = #{siteId}
|
||||||
|
AND create_time >= Date(#{startDate})
|
||||||
|
AND create_time <= #{endDate}
|
||||||
|
GROUP BY site_id,create_time
|
||||||
|
) temp on t.site_id = temp.site_id and t.create_time = temp.create_time and t.device_id = temp.device_id
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
@ -274,4 +274,18 @@
|
|||||||
#{id}
|
#{id}
|
||||||
</foreach>
|
</foreach>
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
<select id="getStackAveTempList" resultType="com.xzzn.ems.domain.vo.StackAveTempVo">
|
||||||
|
select t.site_id,
|
||||||
|
t.operating_temp as temp,
|
||||||
|
t.create_time as createDate
|
||||||
|
from ems_battery_stack t
|
||||||
|
inner join (select site_id,create_time,MIN(device_id) as device_id
|
||||||
|
from ems_battery_stack
|
||||||
|
where site_id = #{siteId}
|
||||||
|
AND create_time >= Date(#{startDate})
|
||||||
|
AND create_time <= #{endDate}
|
||||||
|
GROUP BY site_id,create_time
|
||||||
|
) temp on t.site_id = temp.site_id and t.create_time = temp.create_time and t.device_id = temp.device_id
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
@ -387,19 +387,23 @@
|
|||||||
order by tmp.device_id
|
order by tmp.device_id
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<sql id="commonFilter">
|
||||||
|
WHERE p.site_id = #{siteId}
|
||||||
|
<if test="startDate != null">
|
||||||
|
AND p.data_update_time >= #{startDate}
|
||||||
|
</if>
|
||||||
|
<if test="endDate != null">
|
||||||
|
AND p.data_update_time < #{endDate}
|
||||||
|
</if>
|
||||||
|
</sql>
|
||||||
|
|
||||||
<select id="getPcsDataByDay" resultType="com.xzzn.ems.domain.vo.SiteMonitorDataVo">
|
<select id="getPcsDataByDay" resultType="com.xzzn.ems.domain.vo.SiteMonitorDataVo">
|
||||||
select DATE(latest.max_update_time) as ammeterDate,
|
select DATE(latest.max_update_time) as ammeterDate,
|
||||||
sum(t.total_ac_charge_energy) as chargedCap,
|
sum(t.total_ac_charge_energy) as chargedCap,
|
||||||
sum(t.total_ac_discharge_energy) as disChargedCap
|
sum(t.total_ac_discharge_energy) as disChargedCap
|
||||||
from ( SELECT p.site_id, p.device_id,p.date_month,p.date_day, MAX(p.data_update_time) AS max_update_time
|
from ( SELECT p.site_id, p.device_id,p.date_month,p.date_day, MAX(p.data_update_time) AS max_update_time
|
||||||
FROM ems_pcs_data p
|
FROM ems_pcs_data p
|
||||||
where p.site_id = #{siteId}
|
<include refid="commonFilter"/>
|
||||||
<if test="startDate != null">
|
|
||||||
and p.data_update_time >= #{startDate}
|
|
||||||
</if>
|
|
||||||
<if test="endDate != null">
|
|
||||||
and p.data_update_time < #{endDate}
|
|
||||||
</if>
|
|
||||||
GROUP BY p.site_id,p.device_id,p.date_month,p.date_day
|
GROUP BY p.site_id,p.device_id,p.date_month,p.date_day
|
||||||
) 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
|
||||||
@ -425,61 +429,13 @@
|
|||||||
) temp on t.site_id = temp.site_id and t.create_time = temp.create_time and t.device_id = temp.device_id
|
) temp on t.site_id = temp.site_id and t.create_time = temp.create_time and t.device_id = temp.device_id
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getPcsAveTempList" resultType="com.xzzn.ems.domain.vo.PCSAveTempVo">
|
|
||||||
select t.site_id,
|
|
||||||
t.pcs_module_temperature as pcsTemp,
|
|
||||||
t.create_time as createDate
|
|
||||||
from ems_pcs_data t
|
|
||||||
inner join (select site_id,create_time,MIN(device_id) as device_id
|
|
||||||
from ems_pcs_data
|
|
||||||
where site_id = #{siteId}
|
|
||||||
AND create_time >= Date(#{startDate})
|
|
||||||
AND create_time <= #{endDate}
|
|
||||||
GROUP BY site_id,create_time
|
|
||||||
) temp on t.site_id = temp.site_id and t.create_time = temp.create_time and t.device_id = temp.device_id
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="getAveSocList" resultType="com.xzzn.ems.domain.vo.BatteryAveSOCVo">
|
|
||||||
select t.site_id,
|
|
||||||
t.battery_pack_soc as batterySOC,
|
|
||||||
t.create_time as createDate
|
|
||||||
from ems_battery_cluster t
|
|
||||||
inner join (select site_id,create_time,MIN(device_id) as device_id
|
|
||||||
from ems_battery_cluster
|
|
||||||
where site_id = #{siteId}
|
|
||||||
AND create_time >= Date(#{startDate})
|
|
||||||
AND create_time <= #{endDate}
|
|
||||||
GROUP BY site_id,create_time
|
|
||||||
) temp on t.site_id = temp.site_id and t.create_time = temp.create_time and t.device_id = temp.device_id
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="getBatteryAveTempList" resultType="com.xzzn.ems.domain.vo.BatteryAveTempVo">
|
|
||||||
select t.site_id,
|
|
||||||
t.avg_cell_temp as batteryTemp,
|
|
||||||
t.create_time as createDate
|
|
||||||
from ems_battery_cluster t
|
|
||||||
inner join (select site_id,create_time,MIN(device_id) as device_id
|
|
||||||
from ems_battery_cluster
|
|
||||||
where site_id = #{siteId}
|
|
||||||
AND create_time >= Date(#{startDate})
|
|
||||||
AND create_time <= #{endDate}
|
|
||||||
GROUP BY site_id,create_time
|
|
||||||
) temp on t.site_id = temp.site_id and t.create_time = temp.create_time and t.device_id = temp.device_id
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="getPcsDataByMonth" resultType="com.xzzn.ems.domain.vo.SiteMonitorDataVo">
|
<select id="getPcsDataByMonth" resultType="com.xzzn.ems.domain.vo.SiteMonitorDataVo">
|
||||||
select DATE_FORMAT(latest.max_update_time, '%Y-%m') as ammeterDate,
|
select DATE_FORMAT(latest.max_update_time, '%Y-%m') as ammeterDate,
|
||||||
sum(t.total_ac_charge_energy) as chargedCap,
|
sum(t.total_ac_charge_energy) as chargedCap,
|
||||||
sum(t.total_ac_discharge_energy) as disChargedCap
|
sum(t.total_ac_discharge_energy) as disChargedCap
|
||||||
from ( SELECT p.site_id, p.device_id,p.date_month,MAX(p.data_update_time) AS max_update_time
|
from ( SELECT p.site_id, p.device_id,p.date_month,MAX(p.data_update_time) AS max_update_time
|
||||||
FROM ems_pcs_data p
|
FROM ems_pcs_data p
|
||||||
where p.site_id = #{siteId}
|
<include refid="commonFilter"/>
|
||||||
<if test="startDate != null">
|
|
||||||
and p.data_update_time >= #{startDate}
|
|
||||||
</if>
|
|
||||||
<if test="endDate != null">
|
|
||||||
and p.data_update_time < #{endDate}
|
|
||||||
</if>
|
|
||||||
GROUP BY p.site_id,p.device_id,p.date_month
|
GROUP BY p.site_id,p.device_id,p.date_month
|
||||||
) 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
|
||||||
@ -495,13 +451,7 @@
|
|||||||
sum(t.total_ac_discharge_energy) as disChargedCap
|
sum(t.total_ac_discharge_energy) as disChargedCap
|
||||||
from ( SELECT p.site_id, p.device_id,DATE_FORMAT(p.data_update_time, '%H')+1 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, '%H')+1 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}
|
<include refid="commonFilter"/>
|
||||||
<if test="startDate != null">
|
|
||||||
and p.data_update_time >= #{startDate}
|
|
||||||
</if>
|
|
||||||
<if test="endDate != null">
|
|
||||||
and p.data_update_time < #{endDate}
|
|
||||||
</if>
|
|
||||||
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
|
||||||
@ -509,4 +459,92 @@
|
|||||||
group by ammeterDate
|
group by ammeterDate
|
||||||
order by ammeterDate desc
|
order by ammeterDate desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<sql id="statisCommonFilter">
|
||||||
|
WHERE p.site_id = #{siteId}
|
||||||
|
and p.device_id = #{deviceId}
|
||||||
|
<if test="startDate != null">
|
||||||
|
AND p.data_update_time >= DATE(#{startDate})
|
||||||
|
</if>
|
||||||
|
<if test="endDate != null">
|
||||||
|
AND p.data_update_time < DATE(#{endDate})
|
||||||
|
</if>
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<sql id="dataTypeChooseFilter">
|
||||||
|
<choose>
|
||||||
|
<when test="dataType == 1">
|
||||||
|
t.total_active_power as activePower
|
||||||
|
</when>
|
||||||
|
<when test="dataType == 2">
|
||||||
|
t.total_reactive_power as reactivePower
|
||||||
|
</when>
|
||||||
|
<when test="dataType == 3">
|
||||||
|
t.sys_u_current as uCurrent,
|
||||||
|
t.sys_v_current as vCurrent,
|
||||||
|
t.sys_w_current as wCurrent
|
||||||
|
</when>
|
||||||
|
</choose>
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<sql id="groupChooseFilter">
|
||||||
|
<choose>
|
||||||
|
<when test="dataType == 1">
|
||||||
|
,activePower
|
||||||
|
</when>
|
||||||
|
<when test="dataType == 2">
|
||||||
|
,reactivePower
|
||||||
|
</when>
|
||||||
|
<when test="dataType == 3">
|
||||||
|
,uCurrent,vCurrent,wCurrent
|
||||||
|
</when>
|
||||||
|
</choose>
|
||||||
|
</sql>
|
||||||
|
<select id="getPcsActivePowerByDay" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="com.xzzn.ems.domain.vo.PcsStatisListVo">
|
||||||
|
select CONCAT(t.date_month,'/',t.date_day) as statisDate,
|
||||||
|
<include refid="dataTypeChooseFilter"/>
|
||||||
|
from ( SELECT p.site_id, p.device_id,p.date_month, p.date_day,MAX(p.data_update_time) as max_update_time
|
||||||
|
FROM ems_pcs_data p
|
||||||
|
<include refid="statisCommonFilter"/>
|
||||||
|
GROUP BY p.site_id,p.device_id,p.date_month,p.date_day
|
||||||
|
) 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
|
||||||
|
and latest.date_month = t.date_month
|
||||||
|
and latest.date_day = t.date_day
|
||||||
|
group by statisDate
|
||||||
|
<include refid="groupChooseFilter"/>
|
||||||
|
order by statisDate desc
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getPcsActivePowerByMonth" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="com.xzzn.ems.domain.vo.PcsStatisListVo">
|
||||||
|
select DATE_FORMAT(latest.max_update_time, '%Y-%m') as statisDate,
|
||||||
|
<include refid="dataTypeChooseFilter"/>
|
||||||
|
from ( SELECT p.site_id, p.device_id,p.date_month,MAX(p.data_update_time) as max_update_time
|
||||||
|
FROM ems_pcs_data p
|
||||||
|
<include refid="statisCommonFilter"/>
|
||||||
|
GROUP BY p.site_id,p.device_id,p.date_month
|
||||||
|
) 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
|
||||||
|
and latest.date_month = t.date_month
|
||||||
|
group by statisDate
|
||||||
|
<include refid="groupChooseFilter"/>
|
||||||
|
order by statisDate desc
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getPcsActivePowerByHour" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="com.xzzn.ems.domain.vo.PcsStatisListVo">
|
||||||
|
select latest.dateHour as statisDate,
|
||||||
|
<include refid="dataTypeChooseFilter"/>
|
||||||
|
from ( SELECT p.site_id, p.device_id,DATE_FORMAT(p.data_update_time, '%H')+1 AS dateHour,MAX(p.data_update_time) as max_update_time
|
||||||
|
FROM ems_pcs_data p
|
||||||
|
<include refid="statisCommonFilter"/>
|
||||||
|
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 statisDate
|
||||||
|
<include refid="groupChooseFilter"/>
|
||||||
|
order by statisDate desc
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
Reference in New Issue
Block a user