| | |
| | | package com.doumee.cloud.board; |
| | | |
| | | import com.doumee.api.BaseController; |
| | | import com.doumee.api.BaseController; |
| | | import com.doumee.config.annotation.LoginNoRequired; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.tms.model.request.TmsOrderInfoRequest; |
| | | import com.doumee.core.tms.model.request.TmsOrderListPagerRequest; |
| | | import com.doumee.core.tms.model.request.TmsOrderListParamRequest; |
| | | import com.doumee.core.tms.model.request.TmsOrderListRequest; |
| | | import com.doumee.core.tms.model.response.TmsBasePageResponse; |
| | | import com.doumee.core.tms.model.response.TmsOrderInfoResponse; |
| | | import com.doumee.core.tms.model.response.TmsOrderListResponse; |
| | | import com.doumee.core.tms.model.response.TmsOrderNoFinishListResponse; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.core.utils.DateUtil; |
| | | import com.doumee.dao.business.model.TmsFactoryParam; |
| | | import com.doumee.dao.web.response.platformReport.*; |
| | | import com.doumee.service.business.third.BoardService; |
| | | import com.doumee.service.business.third.TmsService; |
| | | 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 org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | |
| | | * @create 2024/10/28 13:42 |
| | | */ |
| | | |
| | | @Api(tags = "全省一库制管理看板") |
| | | @Api(tags = "【看板大屏】全省一库制管理看板") |
| | | @RestController |
| | | @Slf4j |
| | | @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/board/api/wholeProvince") |
| | | public class WholeProvinceController extends BaseController { |
| | | |
| | | |
| | | @Autowired |
| | | private TmsService tmsService; |
| | | @Autowired |
| | | private BoardService boardService; |
| | | @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))); |
| | | |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "query", dataType = "String", name = "factoryCode", value = "查询类型厂区编码", required = false) |
| | | }) |
| | | public ApiResponse<WholeProvinceBoardVO> centerData(@RequestParam String factoryCode) { |
| | | WholeProvinceBoardVO data = boardService.centerProvinceData( factoryCode); |
| | | 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), |
| | | @ApiImplicitParam(paramType = "query", dataType = "String", name = "factoryCode", value = "查询类型厂区编码", required = false) |
| | | }) |
| | | 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); |
| | | } |
| | | public ApiResponse<List<LastSevenDaysOrderVo>> arriveGoodsList(@RequestParam String factoryCode) { |
| | | List<LastSevenDaysOrderVo> list = boardService.arriveGoodsList(factoryCode); |
| | | return ApiResponse.success(list); |
| | | } |
| | | |
| | | |
| | | @LoginNoRequired |
| | | @ApiOperation("订单在途跟踪-累计出库量") |
| | | @GetMapping("/totalOutQtyNum") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "type", value = "查询类型 0本月 1本周 2本年", required = false), |
| | | @ApiImplicitParam(paramType = "query", dataType = "String", name = "factoryCode", value = "查询类型厂区编码", required = false) |
| | | }) |
| | | public ApiResponse<TotalOutQtyNumVO> totalOutQtyNum(@RequestParam Integer type,@RequestParam String factoryCode) { |
| | | TotalOutQtyNumVO result = boardService.totalOutQtyNum(type,factoryCode); |
| | | |
| | | return ApiResponse.success(result); |
| | | } |
| | | @LoginNoRequired |
| | | @ApiOperation("所有烟厂集合") |
| | | @GetMapping("/factoryList") |
| | | public ApiResponse<List<TmsFactoryParam>> factoryList() { |
| | | List<TmsFactoryParam> list = boardService.factoryList(); |
| | | return ApiResponse.success(list); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @LoginNoRequired |
| | | @ApiOperation("仓库资源利用率") |
| | | @GetMapping("/inventoryUseRate") |
| | | public ApiResponse<WholeProvinceZXTVO> inventoryUseRate( ) { |
| | | WholeProvinceZXTVO list = boardService.inventoryUseRate(); |
| | | 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); |
| | | @ApiOperation("运力资源利用率") |
| | | @GetMapping("/tranportAbilityUseRate") |
| | | public ApiResponse<WholeProvinceZXTVO> tranportAbilityUseRate( ) { |
| | | WholeProvinceZXTVO list = boardService.tranportAbilityUseRate(); |
| | | return ApiResponse.success(list); |
| | | } |
| | | @LoginNoRequired |
| | | @ApiOperation("出库能力利用率") |
| | | @GetMapping("/outAbilityUseRate") |
| | | public ApiResponse<WholeProvinceZXTVO> outAbilityUseRate( ) { |
| | | WholeProvinceZXTVO list = boardService.outAbilityUseRate(); |
| | | return ApiResponse.success(list); |
| | | } |
| | | @LoginNoRequired |
| | | @ApiOperation("地图本月本年总出库量统计集合(按省份)") |
| | | @GetMapping("/mapYearAndMonthOutList") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "query", dataType = "String", name = "factoryCode", value = "查询类型厂区编码", required = false) |
| | | }) |
| | | public ApiResponse<List<WholeProvinceMapVO>> mapYearAndMonthOutList( @RequestParam String factoryCode) { |
| | | List<WholeProvinceMapVO> list = boardService.mapYearAndMonthOutList(factoryCode); |
| | | return ApiResponse.success(list); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("订单任务合同列表接口") |
| | | @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); |
| | | @GetMapping("/orderList") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "query", dataType = "String", name = "factoryCode", value = "查询类型厂区编码", required = false) |
| | | }) |
| | | public ApiResponse<List<TmsOrderNoFinishListResponse>> orderNoFinishList(@RequestParam String factoryCode) { |
| | | List<TmsOrderNoFinishListResponse> list = boardService.orderNoFinishList(factoryCode); |
| | | return ApiResponse.success(list); |
| | | } |
| | | @ApiOperation("合同详情接口") |
| | | @LoginNoRequired |
| | | @PostMapping("/orderInfo") |
| | | public ApiResponse<TmsOrderInfoResponse> ordreInfo(@RequestBody TmsOrderInfoRequest request ) { |
| | | return ApiResponse.success(tmsService.orderInfo(request)); |
| | | } |
| | | |
| | | } |