diff --git a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStatisticalReportController.java b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStatisticalReportController.java index fa9b256..dc8e7e9 100644 --- a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStatisticalReportController.java +++ b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStatisticalReportController.java @@ -2,14 +2,20 @@ package com.xzzn.web.controller.ems; import com.xzzn.common.core.controller.BaseController; import com.xzzn.common.core.domain.AjaxResult; +import com.xzzn.common.core.page.TableDataInfo; import com.xzzn.common.utils.StringUtils; +import com.xzzn.ems.domain.vo.ClusterStatisListVo; import com.xzzn.ems.domain.vo.DateSearchRequest; +import com.xzzn.ems.domain.vo.StatisClusterDateRequest; import com.xzzn.ems.service.IEmsStatsReportService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.ArrayList; +import java.util.List; + /** * 单站监控-统计报表 * @@ -75,4 +81,21 @@ public class EmsStatisticalReportController extends BaseController } } + /** + * 概率统计-电池温度等数据 + */ + @GetMapping("/getClusterData") + public TableDataInfo getClusterData(StatisClusterDateRequest requestVo) + { + startPage(); + List dataList = new ArrayList<>(); + if (!StringUtils.isEmpty(requestVo.getStackId()) && + !StringUtils.isEmpty(requestVo.getClusterId())) { + dataList = ieEmsStatsReportService.getClusterDataResult(requestVo); + return getDataTable(dataList); + } else { + return getDataTable(dataList); + } + } + } diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/vo/ClusterStatisListVo.java b/ems-system/src/main/java/com/xzzn/ems/domain/vo/ClusterStatisListVo.java new file mode 100644 index 0000000..fe66392 --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/domain/vo/ClusterStatisListVo.java @@ -0,0 +1,109 @@ +package com.xzzn.ems.domain.vo; + +import java.math.BigDecimal; + +/** + * 电池簇-电池温度等数据入参 + * + */ +public class ClusterStatisListVo { + + /** 统计时间 */ + private String statisDate; + + /** 最高温度 */ + private BigDecimal maxTemp; + + /** 最高温度单体ID */ + private String maxTempId; + + /** 最低温度 */ + private BigDecimal minTemp; + + /** 最低温度单体ID */ + private String minTempId; + + /** 最高电压 */ + private BigDecimal maxVoltage; + + /** 最高电压单体ID */ + private String maxVoltageId; + + /** 最低电压 */ + private BigDecimal minVoltage; + + /** 最低电压单体ID */ + private String minVoltageId; + + public String getStatisDate() { + return statisDate; + } + + public void setStatisDate(String statisDate) { + this.statisDate = statisDate; + } + + public BigDecimal getMaxTemp() { + return maxTemp; + } + + public void setMaxTemp(BigDecimal maxTemp) { + this.maxTemp = maxTemp; + } + + public String getMaxTempId() { + return maxTempId; + } + + public void setMaxTempId(String maxTempId) { + this.maxTempId = maxTempId; + } + + public BigDecimal getMinTemp() { + return minTemp; + } + + public void setMinTemp(BigDecimal minTemp) { + this.minTemp = minTemp; + } + + public String getMinTempId() { + return minTempId; + } + + public void setMinTempId(String minTempId) { + this.minTempId = minTempId; + } + + public BigDecimal getMaxVoltage() { + return maxVoltage; + } + + public void setMaxVoltage(BigDecimal maxVoltage) { + this.maxVoltage = maxVoltage; + } + + public String getMaxVoltageId() { + return maxVoltageId; + } + + public void setMaxVoltageId(String maxVoltageId) { + this.maxVoltageId = maxVoltageId; + } + + public BigDecimal getMinVoltage() { + return minVoltage; + } + + public void setMinVoltage(BigDecimal minVoltage) { + this.minVoltage = minVoltage; + } + + public String getMinVoltageId() { + return minVoltageId; + } + + public void setMinVoltageId(String minVoltageId) { + this.minVoltageId = minVoltageId; + } +} diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/vo/StatisClusterDateRequest.java b/ems-system/src/main/java/com/xzzn/ems/domain/vo/StatisClusterDateRequest.java new file mode 100644 index 0000000..f4c67c8 --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/domain/vo/StatisClusterDateRequest.java @@ -0,0 +1,47 @@ +package com.xzzn.ems.domain.vo; + + +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.util.Date; + +/** + * 电池簇-电池温度等数据入参 + * + */ +public class StatisClusterDateRequest { + + /** + * 筛选时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + private Date dateTime; + + private String stackId; + + private String clusterId; + + public Date getDateTime() { + return dateTime; + } + + public void setDateTime(Date dateTime) { + this.dateTime = dateTime; + } + + public String getStackId() { + return stackId; + } + + public void setStackId(String stackId) { + this.stackId = stackId; + } + + public String getClusterId() { + return clusterId; + } + + public void setClusterId(String clusterId) { + this.clusterId = clusterId; + } +} diff --git a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsBatteryClusterMapper.java b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsBatteryClusterMapper.java index e641c30..fe0e99a 100644 --- a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsBatteryClusterMapper.java +++ b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsBatteryClusterMapper.java @@ -3,9 +3,7 @@ package com.xzzn.ems.mapper; import java.util.Date; import java.util.List; import com.xzzn.ems.domain.EmsBatteryCluster; -import com.xzzn.ems.domain.vo.BMSBatteryDataList; -import com.xzzn.ems.domain.vo.BatteryAveSOCVo; -import com.xzzn.ems.domain.vo.BatteryAveTempVo; +import com.xzzn.ems.domain.vo.*; import org.apache.ibatis.annotations.Param; /** @@ -83,4 +81,6 @@ public interface EmsBatteryClusterMapper public List getBatteryAveTempList(@Param("siteId")String siteId, @Param("startDate")Date startDate, @Param("endDate")Date endDate); + /** 堆电池温度数据-获取当天每小时簇 */ + public List getClusterDataByHour(StatisClusterDateRequest requestVo); } diff --git a/ems-system/src/main/java/com/xzzn/ems/service/IEmsStatsReportService.java b/ems-system/src/main/java/com/xzzn/ems/service/IEmsStatsReportService.java index e71a1ee..eae3edb 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/IEmsStatsReportService.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/IEmsStatsReportService.java @@ -1,9 +1,6 @@ package com.xzzn.ems.service; -import com.xzzn.ems.domain.vo.DateSearchRequest; -import com.xzzn.ems.domain.vo.ElectricDataInfoVo; -import com.xzzn.ems.domain.vo.PcsStatisListVo; -import com.xzzn.ems.domain.vo.StackStatisListVo; +import com.xzzn.ems.domain.vo.*; import java.util.List; @@ -21,4 +18,6 @@ public interface IEmsStatsReportService public List getPCSDataResult(DateSearchRequest requestVo); public List getStackDataResult(DateSearchRequest requestVo); + + public List getClusterDataResult(StatisClusterDateRequest requestVo); } diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStatsReportServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStatsReportServiceImpl.java index 8078de9..925d874 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStatsReportServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStatsReportServiceImpl.java @@ -2,6 +2,7 @@ package com.xzzn.ems.service.impl; import com.xzzn.common.utils.DateUtils; import com.xzzn.ems.domain.vo.*; +import com.xzzn.ems.mapper.EmsBatteryClusterMapper; import com.xzzn.ems.mapper.EmsBatteryDataMapper; import com.xzzn.ems.mapper.EmsBatteryStackMapper; import com.xzzn.ems.mapper.EmsPcsDataMapper; @@ -37,6 +38,8 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService private EmsBatteryDataMapper emsBatteryDataMapper; @Autowired private EmsBatteryStackMapper emsBatteryStackMapper; + @Autowired + private EmsBatteryClusterMapper emsBatteryClusterMapper; @Override public ElectricDataInfoVo getElectricDataResult(DateSearchRequest requestVo) { @@ -151,6 +154,19 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService return dataList; } + @Override + public List getClusterDataResult(StatisClusterDateRequest requestVo) { + List dataList = new ArrayList(); + // 时间不传默认当天 + if (requestVo.getDateTime() == null) { + requestVo.setDateTime(new Date()); + } + + // 根据时间获取每小时最新数据 + dataList = emsBatteryClusterMapper.getClusterDataByHour(requestVo); + return dataList; + } + // 统计入参时间处理 public void dealRequestTime(DateSearchRequest requestVo){ diff --git a/ems-system/src/main/resources/mapper/ems/EmsBatteryClusterMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsBatteryClusterMapper.xml index d476469..96809e0 100644 --- a/ems-system/src/main/resources/mapper/ems/EmsBatteryClusterMapper.xml +++ b/ems-system/src/main/resources/mapper/ems/EmsBatteryClusterMapper.xml @@ -346,12 +346,36 @@ 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 + 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 + 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 + + \ No newline at end of file