| 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.core.utils.DateUtil; | 
| 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.Date; | 
| 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/wholeProvince") | 
| public class WholeProvinceController extends BaseController { | 
|   | 
|   | 
|     @LoginNoRequired | 
|     @ApiOperation("中心数据") | 
|     @GetMapping("/centerData") | 
|     public ApiResponse<WholeProvinceBoardVO> centerData() { | 
|         WholeProvinceBoardVO data = new WholeProvinceBoardVO(); | 
|         Random random = new Random(); | 
|   | 
|         data.setYearOutTotal(BigDecimal.valueOf(random.nextInt(200))); | 
|         data.setYearOutTotalOnYear(BigDecimal.valueOf(random.nextInt(10))); | 
|         data.setYearOutTimes(random.nextInt(200)); | 
|         data.setYearProvinceRata(BigDecimal.valueOf(random.nextInt(100)).divide(new BigDecimal(100),2,BigDecimal.ROUND_HALF_UP)); | 
|   | 
|         data.setYearInPlanTotal(BigDecimal.valueOf(random.nextInt(200))); | 
|         data.setYearInTotal(BigDecimal.valueOf(random.nextInt(data.getYearInPlanTotal().intValue()))); | 
|         data.setYearInTotalOnYear(BigDecimal.valueOf(random.nextInt(10))); | 
|         data.setYearInTimes(random.nextInt(200)); | 
|   | 
|         data.setOutPlanTotal(BigDecimal.valueOf(random.nextInt(200))); | 
|         data.setOutPlanTimes(random.nextInt(200)); | 
|         data.setOutTotal(BigDecimal.valueOf(random.nextInt(data.getOutPlanTotal().intValue()))); | 
|         data.setOutTimes(random.nextInt(data.getOutPlanTimes())); | 
|         data.setOutRata(BigDecimal.valueOf(random.nextInt(100))); | 
|   | 
|         return ApiResponse.success(data); | 
|     } | 
|   | 
|   | 
|     @LoginNoRequired | 
|     @ApiOperation("近七日到货情况") | 
|     @GetMapping("/arriveGoodsList") | 
|     public ApiResponse<List<ArriveGoodsVO>> arriveGoodsList() { | 
|         List<ArriveGoodsVO> list = new ArrayList<>(); | 
|         Random random = new Random(); | 
|         List<String> dayList = DateUtil.getBeforDays(new Date(),7); | 
|         for (String str:dayList) { | 
|             ArriveGoodsVO data = new ArriveGoodsVO(); | 
|             data.setDateStr(str); | 
|             data.setArriveNum(new BigDecimal(random.nextInt(1000))); | 
|             data.setInTransitNum(new BigDecimal(random.nextInt(1000))); | 
|             list.add(data); | 
|   | 
|         } | 
|         return ApiResponse.success(list); | 
|     } | 
|   | 
|   | 
|     @LoginNoRequired | 
|     @ApiOperation("当前运输任务") | 
|     @GetMapping("/transportTaskList") | 
|     public ApiResponse<List<TransportTaskVO>> transportTaskList() { | 
|         List<TransportTaskVO> list = new ArrayList<>(); | 
|         Random random = new Random(); | 
|         for (int i = 1; i < 11; i++) { | 
|             TransportTaskVO data = new TransportTaskVO(); | 
|             data.setCarNo("皖A8" + random.nextInt(9) + random.nextInt(9) + random.nextInt(9) + random.nextInt(9)); | 
|             data.setStatusStr("到达卸货地"); | 
|             data.setAddress("安徽合肥"); | 
|             data.setTaskDate(new Date()); | 
|             list.add(data); | 
|         } | 
|         return ApiResponse.success(list); | 
|     } | 
|   | 
|   | 
|   | 
|   | 
|     @LoginNoRequired | 
|     @ApiOperation("进销存运营") | 
|     @GetMapping("/salesOperationList") | 
|     @ApiImplicitParams({ | 
|             @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "queryType", value = "查询类型:0=周;1=月;2=年;", required = true), | 
|     }) | 
|     public ApiResponse<List<SalesOperationVO>> salesOperationList(@RequestParam Integer queryType) { | 
|         List<SalesOperationVO> list = new ArrayList<>(); | 
|         Random random = new Random(); | 
|         List<String> dayList = DateUtil.getBeforDays(new Date(),7); | 
|         if(Constants.equalsInteger(queryType,Constants.ONE)){ | 
|             dayList = DateUtil.getBeforDays(new Date(),30); | 
|         }else if(Constants.equalsInteger(queryType,Constants.TWO)){ | 
|             dayList = DateUtil.getBeforMonth(new Date(),12); | 
|         } | 
|         for (String str:dayList) { | 
|             SalesOperationVO data = new SalesOperationVO(); | 
|             data.setDateStr(str); | 
|             data.setStockNum(new BigDecimal(random.nextInt(1000))); | 
|             data.setTotalInNum(new BigDecimal(random.nextInt(1000))); | 
|             data.setTotalOutNum(new BigDecimal(random.nextInt(1000))); | 
|             list.add(data); | 
|         } | 
|         return ApiResponse.success(list); | 
|     } | 
|   | 
|     @LoginNoRequired | 
|     @ApiOperation("库存利用率") | 
|     @GetMapping("/energyDataList") | 
|     public ApiResponse<List<StockRataVO>> energyDataList() { | 
|         List<StockRataVO> energyDataVOList = new ArrayList<>(); | 
|         Random random = new Random(); | 
|         for (int i = 1; i <= 5; i++) { | 
|             StockRataVO data = new StockRataVO(); | 
|             data.setPlaceName("地点_"+i); | 
|             data.setNowStockNum(new BigDecimal(random.nextInt(200))); | 
|             data.setStockRataNum(new BigDecimal(random.nextInt(200))); | 
|             data.setTotalStockNum(new BigDecimal(random.nextInt(100))); | 
|             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); | 
|     } | 
|   | 
| } |