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