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; 
 | 
    } 
 | 
} 
 |