MrShi
2025-03-12 69a1b3bf45738f048361ee4ccb6bdc64fce35720
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/WholeProvinceController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,138 @@
package com.doumee.cloud.board;
import  com.doumee.api.BaseController;
import com.doumee.config.annotation.LoginNoRequired;
import com.doumee.service.business.third.model.ApiResponse;
import com.doumee.service.business.third.model.request.TmsOrderInfoRequest;
import com.doumee.service.business.third.model.request.TmsOrderNoFinishListRequest;
import com.doumee.service.business.third.model.response.TmsBasePageResponse;
import com.doumee.service.business.third.model.response.TmsOrderInfoResponse;
import com.doumee.service.business.third.model.response.TmsOrderNoFinishListResponse;
import com.doumee.core.utils.Constants;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * 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 {
    @Autowired
    private TmsService tmsService;
    @Autowired
    private BoardService boardService;
    @LoginNoRequired
    @ApiOperation("中心数据")
    @GetMapping("/centerData")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "factoryCode", value = "查询类型厂区编码", required = false)
    })
    public ApiResponse<WholeProvinceBoardVO> centerData(@RequestParam(required = false) String factoryCode) {
        WholeProvinceBoardVO data = boardService.centerProvinceData(  factoryCode);
        return ApiResponse.success(data);
    }
    @LoginNoRequired
    @ApiOperation("近七日到货情况")
    @GetMapping("/arriveGoodsList")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "factoryCode", value = "查询类型厂区编码", required = false)
    })
    public ApiResponse<List<LastSevenDaysOrderVo>>  arriveGoodsList(@RequestParam(required = false) 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(required = false) 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("/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(required = false) String factoryCode) {
        List<WholeProvinceMapVO>  list = boardService.mapYearAndMonthOutList(factoryCode);
        return ApiResponse.success(list);
    }
    @ApiOperation("订单任务合同列表接口")
    @LoginNoRequired
    @PostMapping("/orderList")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "factoryCode", value = "查询类型厂区编码", required = false)
    })
    public ApiResponse<TmsBasePageResponse<TmsOrderNoFinishListResponse>> orderNoFinishList(@RequestBody TmsOrderNoFinishListRequest param )   {
        TmsBasePageResponse<TmsOrderNoFinishListResponse> list = boardService.orderNoFinishList(param);
        return  ApiResponse.success(list);
    }
    @ApiOperation("合同详情接口")
    @LoginNoRequired
    @PostMapping("/orderInfo")
    public ApiResponse<TmsOrderInfoResponse> ordreInfo(@RequestBody TmsOrderInfoRequest request )   {
        return ApiResponse.success(tmsService.orderInfo(request));
    }
}