jiangping
2024-11-14 ca46aed30739be09fbbdb413ff7d2f843934efda
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
package com.doumee.cloud.board;
 
import com.doumee.api.BaseController;
import com.doumee.config.annotation.LoginNoRequired;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.utils.Constants;
import com.doumee.dao.web.response.platformReport.*;
import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
 
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
 
/**
 * Created by IntelliJ IDEA.
 *
 * @Author : Rk
 * @create 2024/10/28 13:42
 */
 
@Api(tags = "能耗看板")
@RestController
@Slf4j
@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/board/api/energy")
public class EnergyController extends BaseController {
 
 
    @LoginNoRequired
    @ApiOperation("中心数据")
    @GetMapping("/centerData")
    public ApiResponse<EnergyBoardVO> centerData() {
        EnergyBoardVO data = new EnergyBoardVO();
        Random random = new Random();
        data.setSmokeBoxTotal(random.nextInt(20000));
        data.setCarbon(new BigDecimal(random.nextInt(1000)));
        data.setElectricityQuantity(random.nextInt(1000));
        data.setElectricityYear(new BigDecimal(random.nextInt(10)));
        data.setElectricityMonth(new BigDecimal(random.nextInt(10)));
 
        data.setWaterQuantity(new BigDecimal(random.nextInt(1000)));
        data.setWaterYear(new BigDecimal(random.nextInt(10)));
        data.setWaterMonth(new BigDecimal(random.nextInt(10)));
 
 
        data.setGasQuantity(new BigDecimal(random.nextInt(1000)));
        data.setGasYear(new BigDecimal(random.nextInt(10)));
        data.setGasMonth(new BigDecimal(random.nextInt(10)));
 
        data.setOfficeQuantity(random.nextInt(20));
        data.setPowerQuantity(random.nextInt(20));
        data.setWorkHouseQuantity(random.nextInt(20));
        data.setParkQuantity(random.nextInt(20));
        data.setTodayElectricity(random.nextInt(20));
        data.setMonthElectricity(random.nextInt(20));
        data.setYesterdayElectricity(random.nextInt(20));
        return ApiResponse.success(data);
    }
 
 
 
 
 
    @LoginNoRequired
    @ApiOperation("实时负荷曲线")
    @GetMapping("/loadCurve")
    public ApiResponse<List<EnergyDataVO>> loadCurve() {
        List<EnergyDataVO> loadCurveList = new ArrayList<>();
        Random random = new Random();
        for (int i = 1; i <= 23; i++) {
            EnergyDataVO data = new EnergyDataVO();
            data.setTimeData(StringUtils.leftPad(i+"",2,"0") +":00");
            data.setEnergy(new BigDecimal(random.nextInt(200)));
            loadCurveList.add(data);
        }
        return ApiResponse.success(loadCurveList);
    }
 
 
 
    @LoginNoRequired
    @ApiOperation("月能耗、油耗分析")
    @GetMapping("/energyDataList")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "type", value = "查询类型:0=水;1=气;2=电;3=油耗", required = true),
    })
    public ApiResponse<List<EnergyDataVO>> energyDataList(@RequestParam Integer type) {
        List<EnergyDataVO> energyDataVOList = new ArrayList<>();
        Random random = new Random();
        for (int i = 1; i <= 12; i++) {
            EnergyDataVO data = new EnergyDataVO();
            data.setTimeData(i +"月");
            data.setEnergy(new BigDecimal(random.nextInt(200)));
            energyDataVOList.add(data);
        }
        return ApiResponse.success(energyDataVOList);
    }
 
 
    @LoginNoRequired
    @ApiOperation("上月油耗排行")
    @GetMapping("/lastMonthOil")
    public ApiResponse<List<OilDataVO>> lastMonthOil() {
        List<OilDataVO> oilDataVOList = new ArrayList<>();
        Random random = new Random();
        BigDecimal maxOil = BigDecimal.ZERO;
        BigDecimal lastOil = BigDecimal.ZERO;
        for (int i = 1; i <= 7; i++) {
            OilDataVO oilDataVO = new OilDataVO();
            oilDataVO.setCarNo("皖A8" + random.nextInt(9) + random.nextInt(9) + random.nextInt(9) + random.nextInt(9));
            if(i==1){
                oilDataVO.setQuantity(new BigDecimal(random.nextInt(100)));
                maxOil = oilDataVO.getQuantity();
            }else{
                oilDataVO.setQuantity(new BigDecimal(random.nextInt(lastOil.intValue())));
            }
            lastOil = oilDataVO.getQuantity();
            oilDataVO.setMaxOil(maxOil);
            oilDataVOList.add(oilDataVO);
        }
        return ApiResponse.success(oilDataVOList);
    }
}