kaiyu
2021-12-28 6450fec60b8dc7e6d31779bcfe3b23b3f665ebaf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
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;
    }
}