package com.doumee.cloud.board;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.doumee.api.BaseController;
|
import com.doumee.config.annotation.LoginNoRequired;
|
import com.doumee.core.annotation.excel.ExcelColumn;
|
import com.doumee.core.model.ApiResponse;
|
import com.doumee.core.utils.Constants;
|
import com.doumee.core.utils.DateUtil;
|
import com.doumee.dao.business.PlatformJobMapper;
|
import com.doumee.dao.business.join.PlatformJobJoinMapper;
|
import com.doumee.dao.business.model.Platform;
|
import com.doumee.dao.business.model.PlatformBooks;
|
import com.doumee.dao.business.model.PlatformJob;
|
import com.doumee.dao.business.model.PlatformWmsJob;
|
import com.doumee.dao.web.response.platformReport.*;
|
import com.doumee.service.business.PlatformJobService;
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
import io.swagger.annotations.*;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
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/platformJobRun")
|
public class PlatformJobRunController extends BaseController {
|
|
@Autowired
|
private PlatformJobJoinMapper platformJobJoinMapper;
|
|
@LoginNoRequired
|
@ApiOperation("中心数据")
|
@GetMapping("/centerData")
|
public ApiResponse<PlatformJobRunBoardVO> centerData() {
|
PlatformJobRunBoardVO data = new PlatformJobRunBoardVO();
|
Random random = new Random();
|
data.setMonthOutTotal(BigDecimal.valueOf(random.nextInt(100)).multiply(new BigDecimal(10000)));
|
data.setMonthOutTotalOnYear(BigDecimal.valueOf(random.nextInt(10)));
|
data.setMonthOutTimes(random.nextInt(1000));
|
data.setYearOutTotal(data.getMonthOutTotal().multiply(new BigDecimal(11)));
|
data.setYearOutTotalOnYear(BigDecimal.valueOf(random.nextInt(10)));
|
data.setYearOutTimes(random.nextInt(1000) * 11);
|
|
data.setTodayInRata(new BigDecimal(random.nextInt(100)));
|
data.setMonthInRata(data.getTodayInRata().multiply(new BigDecimal(30)));
|
|
data.setTodayOutRata(new BigDecimal(random.nextInt(100)));
|
data.setMonthOutRata(data.getTodayOutRata().multiply(new BigDecimal(30)));
|
|
data.setStockMax(new BigDecimal(random.nextInt(1000)));
|
data.setStockTotal(new BigDecimal(data.getStockMax().intValue()));
|
return ApiResponse.success(data);
|
}
|
|
|
@LoginNoRequired
|
@ApiOperation("运输任务分析")
|
@GetMapping("/transportMeasure")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "query", dataType = "Integer", name = "queryType", value = "查询类型:0=周;1=月;2=年;", required = true),
|
})
|
public ApiResponse<List<TransportMeasureVO>> transportMeasure(@RequestParam Integer queryType) {
|
List<TransportMeasureVO> 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) {
|
TransportMeasureVO data = new TransportMeasureVO();
|
data.setPlanDate(str);
|
data.setPlanTimes(random.nextInt(200));
|
data.setPlanTaskNum(new BigDecimal(random.nextInt(1000)));
|
data.setFinishTaskNum(new BigDecimal(data.getPlanTaskNum().intValue()));
|
list.add(data);
|
}
|
return ApiResponse.success(list);
|
}
|
|
|
|
|
|
@LoginNoRequired
|
@ApiOperation("当日运输任务")
|
@GetMapping("/platformJobList")
|
public ApiResponse<List<PlatformJob>> platformJobList() {
|
List<PlatformJob> list = platformJobJoinMapper.selectJoinList(PlatformJob.class,
|
new MPJLambdaWrapper<PlatformJob>()
|
.selectAll(PlatformJob.class)
|
.selectAs(PlatformBooks::getId,PlatformJob::getBookId)
|
.selectAs(Platform::getName,PlatformJob::getPlatformName)
|
.selectAs(Platform::getWorkRate,PlatformJob::getWorkRate)
|
.selectAs(PlatformWmsJob::getCarrierName,PlatformJob::getCarrierName)
|
.selectAs(PlatformWmsJob::getRepertotyAddress,PlatformJob::getRepertotyAddress)
|
.leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
|
.leftJoin(PlatformWmsJob.class,PlatformWmsJob::getCarryBillCode,PlatformJob::getBillCode)
|
.leftJoin(PlatformBooks.class,PlatformBooks::getJobId,PlatformJob::getId)
|
.eq(PlatformJob::getIsdeleted,Constants.ZERO)
|
.in(PlatformJob::getStatus
|
,Constants.PlatformJobStatus.WAIT_CALL.getKey()
|
,Constants.PlatformJobStatus.CALLED.getKey()
|
,Constants.PlatformJobStatus.IN_WAIT.getKey()
|
,Constants.PlatformJobStatus.WORKING.getKey()
|
,Constants.PlatformJobStatus.TRANSFERING.getKey()
|
,Constants.PlatformJobStatus.EXCEPTION.getKey()
|
,Constants.PlatformJobStatus.DONE.getKey()
|
)
|
.orderByDesc(PlatformJob::getSignNum)
|
.last(" limit 20 ")
|
);
|
return ApiResponse.success(list);
|
}
|
|
|
|
@LoginNoRequired
|
@ApiOperation("出入库任务量")
|
@GetMapping("/jobData")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "query", dataType = "Integer", name = "queryType", value = "查询类型:0=出库;1=入库;", required = true),
|
})
|
public ApiResponse<JobDataVO> jobData(@RequestParam Integer queryType) {
|
Random random = new Random();
|
JobDataVO jobDataVO = new JobDataVO();
|
jobDataVO.setPlanTaskNum(BigDecimal.valueOf(random.nextInt(1000)));
|
jobDataVO.setFinishTaskNum(BigDecimal.valueOf(jobDataVO.getPlanTaskNum().intValue()));
|
return ApiResponse.success(jobDataVO);
|
}
|
|
@LoginNoRequired
|
@ApiOperation("今日入库量统计")
|
@GetMapping("/totalInList")
|
public ApiResponse<List<GeneralVO>> totalInList() {
|
List<GeneralVO> list = new ArrayList<>();
|
for (int i = 1; i < 4; i++) {
|
Random random = new Random();
|
GeneralVO data = new GeneralVO();
|
data.setName("厂区名称_"+i);
|
data.setNum(BigDecimal.valueOf(random.nextInt(1000)));
|
list.add(data);
|
}
|
return ApiResponse.success(list);
|
}
|
|
|
|
@LoginNoRequired
|
@ApiOperation("库存情况")
|
@GetMapping("/stockList")
|
public ApiResponse<List<GeneralVO>> stockList() {
|
List<GeneralVO> list = new ArrayList<>();
|
for (int i = 1; i < 10; i++) {
|
Random random = new Random();
|
GeneralVO data = new GeneralVO();
|
data.setName("名称"+i);
|
data.setNum(BigDecimal.valueOf(random.nextInt(1000)));
|
list.add(data);
|
}
|
return ApiResponse.success(list);
|
}
|
|
|
}
|