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