首页-数据概览

This commit is contained in:
2025-07-09 16:57:41 +08:00
parent 3eb8636e53
commit 29c5ffc15c
9 changed files with 92 additions and 36 deletions

View File

@ -1,5 +1,7 @@
package com.xzzn.ems.domain.vo;
import java.math.BigDecimal;
/**
* 首页看板数据概览-告警等级分布
*/
@ -7,39 +9,39 @@ public class AlarmGradeList {
/**
* 告警等级
*/
private String grade;
private String level;
/**
* 数据一
*/
private int num1;
private int dataNum;
/**
* 数据
* 数据占比
*/
private int num2;
private BigDecimal percent;
public String getGrade() {
return grade;
public String getLevel() {
return level;
}
public void setGrade(String grade) {
this.grade = grade;
public void setLevel(String level) {
this.level = level;
}
public int getNum1() {
return num1;
public int getDataNum() {
return dataNum;
}
public void setNum1(int num1) {
this.num1 = num1;
public void setDataNum(int dataNum) {
this.dataNum = dataNum;
}
public int getNum2() {
return num2;
public BigDecimal getPercent() {
return percent;
}
public void setNum2(int num2) {
this.num2 = num2;
public void setPercent(BigDecimal percent) {
this.percent = percent;
}
}

View File

@ -9,7 +9,7 @@ public class ElectricIndexList {
/**
* 月份
*/
private int dateMonth;
private String dateMonth;
/**
* 充电量
@ -21,11 +21,11 @@ public class ElectricIndexList {
*/
private BigDecimal disChargeEnergy;
public int getDateMonth() {
public String getDateMonth() {
return dateMonth;
}
public void setDateMonth(int dateMonth) {
public void setDateMonth(String dateMonth) {
this.dateMonth = dateMonth;
}

View File

@ -9,18 +9,18 @@ public class SystemEfficiencyList {
/**
* 月份
*/
private int dateMonth;
private String dateMonth;
/**
* 系统效率
*/
private BigDecimal systemEfficiency;
public int getDateMonth() {
public String getDateMonth() {
return dateMonth;
}
public void setDateMonth(int dateMonth) {
public void setDateMonth(String dateMonth) {
this.dateMonth = dateMonth;
}

View File

@ -78,5 +78,12 @@ public interface EmsAlarmRecordsMapper
*/
public List<DeviceAlarmProportionList> getDeviceAlarmPropList();
/**
* 获取设备等级分布
*
*/
public List<AlarmGradeList> getAlarmGradeList();
public List<AlarmRecordListResponseVo> getAlarmRecordDetailList(AlarmRecordListRequestVo requestVo);
}

View File

@ -81,13 +81,15 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService
// 计算单天的效率
BigDecimal dailyEfficiency = new BigDecimal(0);
if ( siteMonitorDataVo.getDisChargedCap().compareTo(BigDecimal.ZERO)>0){
if ( siteMonitorDataVo.getChargedCap().compareTo(BigDecimal.ZERO)>0){
dailyEfficiency = siteMonitorDataVo.getDisChargedCap().divide(siteMonitorDataVo.getChargedCap(), 2, RoundingMode.HALF_UP);
dailyEfficiency = dailyEfficiency.multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP);
}
siteMonitorDataVo.setDailyEfficiency(dailyEfficiency);
}
if ( totalCharge.compareTo(BigDecimal.ZERO)>0){
efficiency = totalDischarge.divide(totalCharge, 2, RoundingMode.HALF_UP);
efficiency = efficiency.multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP);
}
electricDataInfoVo.setSevenDayDisChargeStats(dataList);
electricDataInfoVo.setTotalDisChargedCap(totalDischarge);

View File

@ -13,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
/**
@ -122,6 +123,26 @@ public class HomePageServiceImpl implements IHomePageService
List<ElectricIndexList> electricDataList = emsPcsDataMapper.getElectDataList();
homePageDataViewVo.setElecDataList(electricDataList);
// 系统效率
List<SystemEfficiencyList> systemEfficiencyLists = new ArrayList<>();
if (electricDataList != null && !electricDataList.isEmpty()) {
for (ElectricIndexList electricIndexList : electricDataList) {
SystemEfficiencyList systemEfficiency = new SystemEfficiencyList();
systemEfficiency.setDateMonth(electricIndexList.getDateMonth());
BigDecimal dailyEfficiency = new BigDecimal(0);
BigDecimal chargeEnergy = electricIndexList.getChargeEnergy();
BigDecimal disChargeEnergy = electricIndexList.getDisChargeEnergy();
if (chargeEnergy != null && disChargeEnergy != null
&& chargeEnergy.compareTo(BigDecimal.ZERO) > 0
&& disChargeEnergy.compareTo(BigDecimal.ZERO) >= 0) {
dailyEfficiency = electricIndexList.getDisChargeEnergy().divide(electricIndexList.getChargeEnergy(), 2, RoundingMode.HALF_UP);
dailyEfficiency = dailyEfficiency.multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP);
}
systemEfficiency.setSystemEfficiency(dailyEfficiency);
systemEfficiencyLists.add(systemEfficiency);
}
}
homePageDataViewVo.setSysEfficList(systemEfficiencyLists);
// 告警趋势
List<AlarmTrendList> alarmTrendList = alarmRecordsMapper.getAlarmTrendList();
homePageDataViewVo.setAlarmDataList(alarmTrendList);
@ -129,6 +150,19 @@ public class HomePageServiceImpl implements IHomePageService
List<DeviceAlarmProportionList> deviceAlarmPropList = alarmRecordsMapper.getDeviceAlarmPropList();
homePageDataViewVo.setDeviceAlarmList(deviceAlarmPropList);
// 告警等级分布
List<AlarmGradeList> alarmLevelList = alarmRecordsMapper.getAlarmGradeList();
if (alarmLevelList != null && !alarmLevelList.isEmpty()) {
BigDecimal total = new BigDecimal(alarmLevelList.size());
for (AlarmGradeList alarmGradeList : alarmLevelList) {
if (alarmGradeList.getDataNum() != 0
&& total.compareTo(BigDecimal.ZERO) > 0) {
BigDecimal percent = new BigDecimal(alarmGradeList.getDataNum()).divide(total, 2, RoundingMode.HALF_UP)
.multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP);
alarmGradeList.setPercent(percent);
}
}
}
homePageDataViewVo.setAlarmLevelList(alarmLevelList);
return homePageDataViewVo;
}