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