首页-数据概览
This commit is contained in:
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
@ -78,5 +78,12 @@ public interface EmsAlarmRecordsMapper
|
||||
*/
|
||||
public List<DeviceAlarmProportionList> getDeviceAlarmPropList();
|
||||
|
||||
/**
|
||||
* 获取设备等级分布
|
||||
*
|
||||
*/
|
||||
public List<AlarmGradeList> getAlarmGradeList();
|
||||
|
||||
|
||||
public List<AlarmRecordListResponseVo> getAlarmRecordDetailList(AlarmRecordListRequestVo requestVo);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user