|  |  | 
 |  |  | 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.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") | 
 |  |  | 
 |  |  |         } | 
 |  |  |         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); | 
 |  |  |         } | 
 |  |  |     @ApiOperation("订单在途跟踪-累计出库量") | 
 |  |  |     @GetMapping("/totalOutQtyNum") | 
 |  |  |     public ApiResponse<TotalOutQtyNumVO> totalOutQtyNum() { | 
 |  |  |         TotalOutQtyNumVO result = boardService.totalOutQtyNum(); | 
 |  |  |  | 
 |  |  |         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("/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("/inventoryUseRate") | 
 |  |  |     public ApiResponse<WholeProvinceZXTVO> inventoryUseRate( ) { | 
 |  |  |         WholeProvinceZXTVO  list = boardService.inventoryUseRate(); | 
 |  |  |         return ApiResponse.success(list); | 
 |  |  |     } | 
 |  |  |     @LoginNoRequired | 
 |  |  |     @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") | 
 |  |  |     public ApiResponse<List<WholeProvinceMapVO>> mapYearAndMonthOutList( ) { | 
 |  |  |         List<WholeProvinceMapVO>  list = boardService.mapYearAndMonthOutList(); | 
 |  |  |         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); | 
 |  |  |     @PostMapping("/orderList") | 
 |  |  |     public ApiResponse<TmsBasePageResponse<TmsOrderListResponse>> orderList(@RequestBody TmsOrderListRequest param )   { | 
 |  |  |         if(param == null){ | 
 |  |  |             param = new TmsOrderListRequest(); | 
 |  |  |         } | 
 |  |  |         return ApiResponse.success(oilDataVOList); | 
 |  |  |         if(param.getParameters() == null){ | 
 |  |  |             param.setParameters( new TmsOrderListParamRequest()); | 
 |  |  |         } | 
 |  |  |         if(param.getPager() == null){ | 
 |  |  |             param.setPager( new TmsOrderListPagerRequest()); | 
 |  |  |         } | 
 |  |  |         if(param.getPager().getPage() == null){ | 
 |  |  |             param.getPager().setPage(1); | 
 |  |  |         } | 
 |  |  |         if(param.getPager().getRows() == null){ | 
 |  |  |             param.getPager().setRows(10); | 
 |  |  |         } | 
 |  |  |         if(StringUtils.isBlank(param.getParameters().getPhoneNumber())){ | 
 |  |  |             param.getParameters().setPhoneNumber("00000000000");//手机号必填 | 
 |  |  |         } | 
 |  |  |         if(param.getParameters().getContractNumbers()==null || param.getParameters().getContractNumbers().size()==0){ | 
 |  |  |             param.getParameters().setContractNumbers(null); | 
 |  |  |         } | 
 |  |  |         return  ApiResponse.success(tmsService.orderList(param)); | 
 |  |  |     } | 
 |  |  |     @ApiOperation("合同详情接口") | 
 |  |  |     @LoginNoRequired | 
 |  |  |     @PostMapping("/orderInfo") | 
 |  |  |     public ApiResponse<TmsOrderInfoResponse> ordreInfo(@RequestBody TmsOrderInfoRequest request )   { | 
 |  |  |  | 
 |  |  |         return ApiResponse.success(tmsService.orderInfo(request)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |