package com.moral.api.pojo.vo.cityAQI;
|
|
import com.moral.api.pojo.dto.cityAQI.MonthlyPollutionLevel;
|
import com.moral.api.pojo.dto.cityAQI.PollutionDaysAndProportion;
|
import lombok.Data;
|
|
import java.util.List;
|
|
/**
|
* @ClassName BarChartTableOfPollutionLevelVO
|
* @Description 柱状图数据表格的VO
|
* @Author 陈凯裕
|
* @Date 2021/11/22 9:05
|
* @Version TODO
|
**/
|
@Data
|
public class BarChartTableOfPollutionLevelVO {
|
/*
|
* 时间
|
* */
|
private String time;
|
|
/*
|
* 优
|
* */
|
private String excellent;
|
|
/*
|
* 良
|
* */
|
private String good;
|
|
/*
|
* 轻度污染
|
* */
|
private String mild;
|
|
/*
|
* 中度污染
|
* */
|
private String middle;
|
|
/*
|
* 重度污染
|
* */
|
private String serious;
|
|
/*
|
* 严重污染
|
* */
|
private String server;
|
|
/*
|
* 合计
|
* */
|
private String total;
|
|
public static BarChartTableOfPollutionLevelVO convert(MonthlyPollutionLevel data){
|
BarChartTableOfPollutionLevelVO vo = new BarChartTableOfPollutionLevelVO();
|
vo.setTime(data.getTime().replaceAll("-","年")+"月");
|
List<PollutionDaysAndProportion> pollutionDaysAndProportions = data.getPollutionDaysAndProportions();
|
if(pollutionDaysAndProportions.size()!=6)
|
return null;
|
//拼接每个污染等级天数和百分比
|
PollutionDaysAndProportion excellentProportion = pollutionDaysAndProportions.get(0);
|
PollutionDaysAndProportion goodProportion = pollutionDaysAndProportions.get(1);
|
PollutionDaysAndProportion mildProportion = pollutionDaysAndProportions.get(2);
|
PollutionDaysAndProportion middleProportion = pollutionDaysAndProportions.get(3);
|
PollutionDaysAndProportion seriousProportion = pollutionDaysAndProportions.get(4);
|
PollutionDaysAndProportion serverProportion = pollutionDaysAndProportions.get(5);
|
String excellent = excellentProportion.getDays()+"("+excellentProportion.getProportion()+")";
|
String good = goodProportion.getDays()+"("+goodProportion.getProportion()+")";
|
String mild = mildProportion.getDays()+"("+mildProportion.getProportion()+")";
|
String middle = middleProportion.getDays()+"("+middleProportion.getProportion()+")";
|
String serious = seriousProportion.getDays()+"("+seriousProportion.getProportion()+")";
|
String server = serverProportion.getDays()+"("+serverProportion.getProportion()+")";
|
//拼接共计天数
|
Integer totalDays = excellentProportion.getDays()+
|
goodProportion.getDays()+
|
mildProportion.getDays()+
|
middleProportion.getDays()+
|
seriousProportion.getDays()+
|
serverProportion.getDays();
|
vo.setTotal(totalDays+"(100%)");
|
vo.setExcellent(excellent);
|
vo.setGood(good);
|
vo.setMild(mild);
|
vo.setMiddle(middle);
|
vo.setSerious(serious);
|
vo.setServer(server);
|
|
return vo;
|
}
|
}
|