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