package com.steerinfo.dil.feign;
import com.steerinfo.dil.util.PageListAdd;
import com.steerinfo.framework.controller.RESTfulResult;
import com.steerinfo.framework.service.pagehelper.PageHelper;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.models.auth.In;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @Description:
 * @Author:HuJianGuo
 * @GreateTime:2021/9/23 8:46
 * @Version:V2.0
 */
@FeignClient(value = "DIL-AMS-API-DEV", url = "${openfeign.AmsFeign.url}")
public interface AmsFeign {

    /**
     * 展示违约规则
     *
     * @param mapValue
     * @param pageNum
     * @param pageSize
     * @param apiId
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontractbreach/getBreachList")
    Map<String, Object> getBreachList(@RequestBody(required = false) Map<String, Object> mapValue,
                                @RequestParam("pageNum") Integer pageNum,
                                @RequestParam("pageSize") Integer pageSize,
                                @RequestParam("apiId") Integer apiId);

    /**
     * 新增违约规则
     *
     * @param amsContractBreach
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontractbreach/addContractBreach")
    Map<String, Object> addContractBreach(@RequestBody Map<String, Object> amsContractBreach);

    /**
     * 逻辑删除违约规则
     *
     * @param breachId
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontractbreach/deleteContractBreach/{breachId}")
    Map<String, Object> deleteContractBreach(@PathVariable("breachId") BigDecimal breachId);

    /**
     * 通过违约id查询
     *
     * @param breachId
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontractbreach/selectBreachToUpdate/{breachId}")
    Map<String, Object> selectBreachToUpdate(@PathVariable("breachId") BigDecimal breachId);

    /**
     * 修改违约规则
     *
     * @param amsContractBreach
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontractbreach/updateContractBreach")
    Map<String, Object> updateContractBreach(@RequestBody Map<String, Object> amsContractBreach);

    /**
     * 展示港口装卸单价列表
     *
     * @param mapValue
     * @param pageNum
     * @param pageSize
     * @param apiId
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontractotherprices/getLoadUnloadPriceList")
    Map<String, Object> getLoadUnloadPriceList(@RequestBody(required = false) Map<String, Object> mapValue,
                                         @RequestParam Integer pageNum,
                                         @RequestParam Integer pageSize,
                                         @RequestParam Integer apiId);

    /**
     * 新增港口装卸单价
     *
     * @param amsContractOtherPrice
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontractotherprices/addLoadUnloadPrice")
    Map<String, Object> addLoadUnloadPrice(@RequestBody Map<String, Object> amsContractOtherPrice);

    /**
     * 逻辑删除港口装卸单价
     *
     * @param priceId
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontractotherprices/deleteLoadUnloadPrice/{priceId}")
    Map<String, Object> deleteLoadUnloadPrice(@PathVariable("priceId") BigDecimal priceId);

    /**
     * 通过单价id查询
     *
     * @param priceId
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontractotherprices/selectLoadUnloadPriceToUpdate/{priceId}")
    Map<String, Object> selectLoadUnloadPriceToUpdate(@PathVariable("priceId") BigDecimal priceId);

    /**
     * 修改港口装卸单价
     *
     * @param amsContractOtherPrice
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontractotherprices/updateLoadUnloadPrice")
    Map<String, Object> updateLoadUnloadPrice(@RequestBody Map<String, Object> amsContractOtherPrice);


    /**
     * 展示火运单价
     *
     * @param mapValue
     * @param pageNum
     * @param pageSize
     * @param apiId
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontracttrainprices/getTrainPriceList")
    Map<String, Object> getTrainPriceList(@RequestBody(required = false) Map<String, Object> mapValue,
                                    @RequestParam Integer pageNum,
                                    @RequestParam Integer pageSize,
                                    @RequestParam Integer apiId);

    /**
     * 新增火运单价
     *
     * @param amsContractTrainPrice
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontracttrainprices/addTrainPrice")
    Map<String, Object> addTrainPrice(@RequestBody Map<String, Object> amsContractTrainPrice);

    /**
     * 逻辑删除火运单价
     *
     * @param priceId
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontracttrainprices/deleteTrainPrice/{priceId}")
    Map<String, Object> deleteTrainPrice(@PathVariable("priceId") BigDecimal priceId);

    /**
     * 通过单价id查询
     *
     * @param priceId
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontracttrainprices/selectTrainPriceToUpdate/{priceId}")
    Map<String, Object> selectTrainPriceToUpdate(@PathVariable("priceId") BigDecimal priceId);

    /**
     * 修改火运单价
     *
     * @param amsContractTrainPrice
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontracttrainprices/updateTrainPrice")
    Map<String, Object> updateTrainPrice(@RequestBody Map<String, Object> amsContractTrainPrice);


    /**
     * 展示水运单价
     *
     * @param mapValue
     * @param pageNum
     * @param pageSize
     * @param apiId
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontracttransportprice/getShipPriceList")
    Map<String, Object> getShipPriceList(@RequestBody(required = false) Map<String, Object> mapValue,
                                   @RequestParam Integer pageNum,
                                   @RequestParam Integer pageSize,
                                   @RequestParam Integer apiId);

    /**
     * 新增水运单价
     *
     * @param amsContractTransportPrice
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontracttransportprice/addShipPrice")
    Map<String, Object> addShipPrice(@RequestBody Map<String, Object> amsContractTransportPrice);

    /**
     * 逻辑删除运费单价
     *
     * @param priceId
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontracttransportprice/deleteShipPrice/{priceId}")
    Map<String, Object> deleteShipPrice(@PathVariable("priceId") BigDecimal priceId);

    /**
     * 修改水运单价
     *
     * @param amsContractTransportPrice
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontracttransportprice/updateShipPrice")
    Map<String, Object> updateShipPrice(@RequestBody Map<String, Object> amsContractTransportPrice);

    /**
     * 通过单价id查询
     *
     * @param priceId
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontracttransportprice/selectPriceToUpdate/{priceId}")
    Map<String, Object> selectPriceToUpdate(@PathVariable("priceId") BigDecimal priceId);

    /**
     * 展示汽运单价
     *
     * @param mapValue
     * @param pageNum
     * @param pageSize
     * @param apiId
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontracttransportprice/getTruckPriceList")
    Map<String, Object> getTruckPriceList(@RequestBody(required = false) Map<String, Object> mapValue,
                                    @RequestParam Integer pageNum,
                                    @RequestParam Integer pageSize,
                                    @RequestParam Integer apiId);

    /**
     * 新增汽运单价
     *
     * @param amsContractTransportPrice
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontracttransportprice/addAmsContractTransportPrice")
    Map<String, Object> addAmsContractTransportPrice(@RequestBody Map<String, Object> amsContractTransportPrice);

    /**
     * 修改汽运单价
     *
     * @param amsContractTransportPrice
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontracttransportprice/updateAmsContractTransportPrice")
    Map<String, Object> updateAmsContractTransportPrice(@RequestBody Map<String, Object> amsContractTransportPrice);

    /**
//     * 油价联动导致运价变动,批量修改运价
//     *
//     * @return
//     */
//    @PostMapping(value = "/api/v1/ams/amscontracttransportprice/batchUpdateTransportPriceByOilPrice")
//    Map<String, Object> batchUpdateTransportPriceByOilPrice();

    /**
     * 展示采购订单列表
     *
     * @param mapValue
     * @param pageNum
     * @param pageSize
     * @param apiId
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amspurchaseorders/getPurchaseOrderList")
    Map<String, Object> getPurchaseOrderList(@RequestBody(required = false) Map<String, Object> mapValue,
                                       @RequestParam("pageNum") Integer pageNum,
                                       @RequestParam("pageSize") Integer pageSize,
                                       @RequestParam("apiId") Integer apiId,
                                       @RequestParam("con") String con,
                                       @RequestParam("sendCompId") String sendCompId
                                             );



    /**
     * 下拉框
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontracttruckprices/getAddressDeliveryAddress")
    Map<String, Object> getAddressDeliveryAddress(@RequestBody(required=false) Map<String,Object> mapValue,
                                                  @RequestParam Integer apiId,
                                                  @RequestParam Integer pageNum,
                                                  @RequestParam Integer pageSize,
                                                  @RequestParam String con);

    @GetMapping(value = "/api/v1/ams/amscontracttransportprice/getShipperId")
    Map<String, Object> getShipperId();

    @GetMapping(value = "/api/v1/ams/amscontracttransportprice/getCarrierId")
    Map<String, Object> getCarrierId();

    @GetMapping(value = "/api/v1/ams/amscontracttransportprice/getCapacityId")
    Map<String, Object> getCapacityId();

    @GetMapping(value = "/api/v1/ams/amscontracttransportprice/getMaterialId")
    Map<String, Object> getMaterialId();

    @GetMapping(value = "/api/v1/ams/amscontracttransportprice/getTruckCapacityId")
    Map<String, Object> getTruckCapacityId();

    @GetMapping(value = "/api/v1/ams/amscontracttransportprice/getLineId")
    Map<String, Object> getLineId();
// ----------------------------------------------销售合同-------------------------------------
    /**
     * 销售合同查询汽运单价
     * @param mapValue
     * @param pageNum
     * @param pageSize
     * @param apiId
     * @return
     */
    @ApiOperation(value="查询汽运单价信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "apiId(109)", value = "表头", required = false, dataType = "Interger")
    })
    @PostMapping(value = "/api/v1/ams/amscontracttruckprices/getAmsContractTransportPrice1")
    Map<String, Object> getAmsContractTransportPrice1(@RequestBody(required = false) Map<String, Object> mapValue,
                                       @RequestParam("pageNum") Integer pageNum,
                                       @RequestParam("pageSize") Integer pageSize,
                                       @RequestParam("apiId") Integer apiId,
                                       @RequestParam("deleted") Integer deleted

    );
    /**
     *销售合同新增汽运单价
     */
    @PostMapping(value = "/api/v1/ams/amscontracttruckprices/addAmsContractTransportPrice1")
    Map<String, Object> addAmsContractTransportUnitPrice1(@RequestBody(required = false) Map<String, Object> mapVal);

    /**
     *通过主键id删除汽运单价
     * @param priceId
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amscontracttruckprices/deleteAmsContractTransportPrice1")
    Map<String, Object> deleteAmsContractTransportPrice1(@RequestParam BigDecimal priceId);
    /**
     *通过主键渲染信息
     */
    @PostMapping(value = "/api/v1/ams/amscontracttruckprices/getAmsContractTransportPriceByPriceId1")
    Map<String, Object> getAmsContractTransportPriceByPriceId1(@RequestParam BigDecimal priceId);
    /**
     * 通过主键修改汽运单价
     */
    @PostMapping(value = "/api/v1/ams/amscontracttruckprices/updateAmsContractTransportPrice1")
    Map<String, Object> updateAmsContractTransportPrice1(@RequestBody(required = false) Map<String, Object> mapVal);
    /**
     * 油价联动导致运价变动,批量修改运价
     * @param
     * @return
     */
    @ApiOperation(value="油价联动导致运价变动,批量修改运价")
    @ApiImplicitParams({
    })
    @PostMapping(value = "/api/v1/ams/amscontracttruckprices/batchUpdateTransportPriceByOilPrice1")
    Map<String, Object> batchUpdateTransportPriceByOilPrice1(@RequestBody Map<String,Object> map);
    /**
     * 获取线路编号
     * @param
     * @return
     */
    @ApiOperation(value="获取线路编号")
    @ApiImplicitParams({
    })
    @GetMapping(value = "/api/v1/ams/amscontracttruckprices/getLineNo")
    Map<String, Object> getLineNo();
    /**
     * 获取线路编号
     * @param
     * @return
     */
    @ApiOperation(value="获取运力编号")
    @ApiImplicitParams({
    })
    @GetMapping(value = "/api/v1/ams/amscontracttruckprices/getCapacityNumber")
    Map<String, Object> getCapacityNumber();
    /**
     * 获取收货地址
     * @param
     * @return
     */
    @ApiOperation(value="获取收货地址")
    @ApiImplicitParams({
    })
    @GetMapping(value = "/api/v1/ams/amscontracttruckprices/getDeliveryAddress")
    Map<String, Object> getDeliveryAddress();
    /**
     * 获取货物类型
     * @param
     * @return
     */
    @ApiOperation(value="获取货物类型")
    @ApiImplicitParams({
    })
    @GetMapping(value = "/api/v1/ams/amscontracttruckprices/getCargoName")
    Map<String, Object> getCargoName();
    /**
     * 获取油品名称
     * @param
     * @return
     */
    @ApiOperation(value="获取油品名称")
    @ApiImplicitParams({
    })
    @GetMapping(value = "/api/v1/ams/amscontracttruckprices/getOilTypeName")
    Map<String, Object> getOilTypeName();

    /**
     * 新增(固定派单/公开抢单)
     * @param mapVal
     * @return
     */
    @ApiOperation(value="新增(固定派单/公开抢单)")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "amsDispatchSaleOrder", value = "(固定派单/公开抢单)对象", required = false, dataType = "AmsDispatchSaleOrder")
    })
    @PostMapping(value = "/api/v1/ams/amsdispatchsaleorders/addAmsDispatchSaleOrder")
    Map<String, Object> addAmsDispatchSaleOrder(@RequestBody(required = false) Map<String, Object> mapVal);
    /**
     * 获取承运商名
     * @param
     * @return
     */
    @ApiOperation(value="获取承运商名")
    @ApiImplicitParams({
    })
    @GetMapping(value = "/api/v1/ams/amscontracttruckprices/getCarrierName")
    Map<String, Object> getCarrierName();

    /**
     * 查询未上报销售订单信息
     * @param mapValue
     * @param pageNum
     * @param pageSize
     * @param apiId
     * @return
     */
    @ApiOperation(value="查询未上报销售订单信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "apiId(98)", value = "表头", required = false, dataType = "Interger")
    })
    @PostMapping("/api/v1/ams/amssaleorders/getSaleOrderInfo")
    Map<String, Object> getSaleOrderInfo(@RequestBody(required = false) Map<String, Object> mapValue,
                                             @RequestParam Integer pageNum,
                                             @RequestParam Integer pageSize,
                                             @RequestParam Integer apiId);
    /**
     * 查询已上报销售订单信息
     * @param mapValue
     * @param pageNum
     * @param pageSize
     * @param apiId
     * @return
     */
    @ApiOperation(value="查询已上报销售订单信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "apiId(98)", value = "表头", required = false, dataType = "Interger")
    })
    @PostMapping("/api/v1/ams/amssaleorders/getSaleOrderReported")
    Map<String, Object> getSaleOrderReported(@RequestBody(required = false) Map<String, Object> mapValue,
                                   @RequestParam Integer pageNum,
                                   @RequestParam Integer pageSize,
                                   @RequestParam Integer apiId);



    @PostMapping("/api/v1/ams/amssaleorders/getSaleOrderListBySaleCompany")
     Map<String,Object> getSaleOrderListBySaleCompany(@RequestBody(required = false) Map<String,Object> mapValue,
                                                      @RequestParam("pageNum") Integer pageNum,
                                                      @RequestParam("pageSize") Integer pageSize,
                                                      @RequestParam("apiId") Integer apiId,
                                                      @RequestParam("con") String con);

    /**
     * 查询财务已审批销售订单信息
     * @param mapValue
     * @param pageNum
     * @param pageSize
     * @param apiId
     * @return
     */
    @ApiOperation(value="查询财务已审批销售订单信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "apiId(105)", value = "表头", required = false, dataType = "Interger")
    })
    @PostMapping("/api/v1/ams/amssaleorders/getAmsSaleOrderApproved")
    Map<String, Object> getAmsSaleOrderApproved(@RequestBody(required = false) Map<String, Object> mapValue,
                                       @RequestParam Integer pageNum,
                                       @RequestParam Integer pageSize,
                                       @RequestParam Integer apiId);

    /**
     * 根据销售订单号查询销售订单详细信息
     * @param mapValue
     * @param pageNum
     * @param pageSize
     * @param apiId
     * @return
     */

    @ApiOperation(value="根据销售订单号查询销售订单详细信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "apiId(100)", value = "表头", required = false, dataType = "Interger")
    })
    @PostMapping("/api/v1/ams/amssaleorders/getSaleOrderDetail")
    Map<String, Object> getSaleOrderDetail(@RequestParam BigDecimal saleOrderId,@RequestBody(required = false) Map<String, Object> mapValue,
                                          @RequestParam Integer pageNum,
                                          @RequestParam Integer pageSize,
                                          @RequestParam Integer apiId);
    /**
     * 上传销售订单
     * @param saleOrderId
     * @return
     */
    @ApiOperation(value="上传销售订单")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "saleOrderId", value = "销售订单ID", required = false, dataType = "java.math.BigDecimal")
    })
    @PostMapping(value = "/api/v1/ams/amssaleorders/uploadSaleOrder")
    Map<String, Object> uploadSaleOrder(@RequestParam BigDecimal saleOrderId);
    /**
     * 新增销售订单
     */
    @ApiOperation(value="新增销售订单")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "amsSaleOrder", value = "销售订单对象", required = false, dataType = "AmsSaleOrder")
    })
    @PostMapping(value = "/api/v1/ams/amssaleorders/addAmsSaleOrder")
    Map<String, Object> addAmsSaleOrder(@RequestBody(required = false) Map<String,Object> map);

    /**
     * 通过主键渲染销售订单信息
     * @param saleOrderId
     * @return
     */
    @ApiOperation(value="通过主键渲染销售订单信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "saleOrderId", value = "主键Id", required = false, dataType = "java.math.BigDecimal")
    })
    @PostMapping(value = "/api/v1/ams/amssaleorders/getAmsSaleOrderBySaleOrderId")
    Map<String, Object> getAmsSaleOrderBySaleOrderId(@RequestParam BigDecimal saleOrderId);
    /**
     * 通过主键修改销售订单
     * @param map
     * @return
     */
    @ApiOperation(value="通过主键修改销售订单")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "amsSaleOrder", value = "销售订单对象", required = false, dataType = "AmsSaleOrder")
    })
    @PostMapping(value = "/api/v1/ams/amssaleorders/updateAmsSaleOrder")
    Map<String, Object> updateAmsSaleOrder(@RequestBody(required = false) Map<String,Object> map);
    /**
     * 通过主键删除销售订单
     * @param saleOrderId
     * @return
     */
    @ApiOperation(value="通过主键删除销售订单")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "saleOrderId", value = "主键Id", required = false, dataType = "java.math.BigDecimal")
    })
    @PostMapping(value = "/api/v1/ams/amssaleorders/deleteAmsSaleOrderBySaleOrderId")
    Map<String, Object> deleteAmsSaleOrderBySaleOrderId(@RequestParam BigDecimal saleOrderId);
    @ApiOperation(value="根据销售订单号查询销售订单修改日志")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "apiId(100)", value = "表头", required = false, dataType = "Interger")
    })
    @PostMapping(value = "/api/v1/ams/amssaleorders/getSaleOrderUpdateLog")
    Map<String, Object> getSaleOrderUpdateLog(@RequestParam BigDecimal saleOrderId,@RequestBody(required = false) Map<String, Object> mapValue,
                                     @RequestParam Integer pageNum,
                                     @RequestParam Integer pageSize,
                                     @RequestParam Integer apiId);
    /**
     * 获取销售计划名称
     * @param
     * @return
     */
    @ApiOperation(value="获取销售计划名称")
    @ApiImplicitParams({
    })
    @GetMapping(value = "/api/v1/ams/amssaleorders/getSalePlanName")
    Map<String, Object> getSalePlanName();

    /**
     * 获取发货单位
     */
    @ApiOperation(value="获取发货单位")
    @ApiImplicitParams({
    })
    @GetMapping(value = "/api/v1/ams/amssaleorders/getShipperName")
    Map<String, Object> getShipperName();
    /**
     * 获取收货单位
     */
    @ApiOperation(value="获取收货单位")
    @ApiImplicitParams({
    })
    @GetMapping(value = "/api/v1/ams/amssaleorders/getConsigneeCompanyName")
    Map<String, Object> getConsigneeCompanyName();
    //获取到站名称
    @GetMapping("/api/v1/ams/amstruckraildayplans/getArriveName")
    Map<String,Object> getArriveName();
    @PostMapping("/api/v1/ams/amsdispatchsaleorders/selectDispatchSaleOrderList")
    Map<String,Object> selectDispatchSaleOrderList(@RequestBody(required=false) Map<String,Object> mapValue,
                                                   @RequestParam("apiId") Integer apiId,
                                                   @RequestParam("pageNum") Integer pageNum,
                                                   @RequestParam("pageSize") Integer pageSize,
                                                   @RequestParam("carrierSsoId") String carrierSsoId);

    /**
     * 新增销售订单物资信息
     * @param map
     * @return
     */
    @ApiOperation(value="新增销售订单物资信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "amsSaleOrderMaterial", value = "销售订单物资信息对象", required = false, dataType = "AmsSaleOrderMaterial")
    })
    @PostMapping(value = "/api/v1/ams/amssaleordermaterials/addAmsSaleOrderMaterial")
    Map<String, Object> addAmsSaleOrderMaterial(@RequestBody(required = false) Map<String,Object> map);

    /**
     *通过主键渲染销售订单物资信息
     * @param saleOrderMaterialId
     * @return
     */
    @ApiOperation(value="通过主键渲染销售订单物资信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "amsSaleOrderMaterial", value = "销售订单物资信息对象", required = false, dataType = "AmsSaleOrderMaterial")
    })
    @PostMapping(value = "/api/v1/ams/amssaleordermaterials/getAmsSaleOrderMaterialBySaleOrderMaterialId")
    Map<String, Object> getAmsSaleOrderMaterialBySaleOrderMaterialId(@RequestParam BigDecimal saleOrderMaterialId);

    /**
     * 通过主键修改销售订单物资信息
     * @param map
     * @return
     */
    @ApiOperation(value="通过主键修改销售订单物资信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "amsSaleOrderMaterial", value = "销售订单物资信息对象", required = false, dataType = "AmsSaleOrderMaterial")
    })
    @PostMapping(value = "/api/v1/ams/amssaleordermaterials/updateAmsSaleOrderMaterial")
    Map<String, Object> updateAmsSaleOrderMaterial(@RequestBody(required = false) Map<String,Object> map);

    /**
     * 通过主键删除销售订单物资信息
     * @param saleOrderMaterialId
     * @return
     */
    @ApiOperation(value="通过主键删除销售订单物资信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "saleOrderMaterialId", value = "主键Id", required = false, dataType = "java.math.BigDecimal")
    })
    @PostMapping(value = "/api/v1/ams/amssaleordermaterials/deleteAmsSaleOrderMaterialBySaleOrderMaterialId")
    Map<String, Object> deleteAmsSaleOrderMaterialBySaleOrderMaterialId(@RequestParam BigDecimal saleOrderMaterialId);

    /**
     * 通过主键获取收货地址
     * @param saleOrderMaterialId
     * @return
     */
    @ApiOperation(value="通过主键获取收货地址")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "saleOrderMaterialId", value = "主键Id", required = false, dataType = "java.math.BigDecimal")
    })
    @PostMapping(value = "/api/v1/ams/amssaleordermaterials/getAddress")
    Map<String, Object> getAddress(@RequestParam BigDecimal saleOrderMaterialId);


    /**
     * 通过主键修改销售订单信息(新增一条),过去的成为历史记录
     * @param map
     * @return
     */
    @ApiOperation(value="通过主键修改销售订单信息(新增一条),过去的成为历史记录")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "amsSaleOrderMaterial", value = "销售订单物资信息对象", required = false, dataType = "AmsSaleOrderMaterial")
    })
    @PostMapping(value = "/api/v1/ams/amssaleordermaterials/updateAddress")
    Map<String, Object> updateAddress(@RequestBody(required = false)Map<String,Object> map);

    /**
     * 查询销售计划信息
     * @param mapValue
     * @param pageNum
     * @param pageSize
     * @param apiId
     * @return
     */
    @ApiOperation(value="查询销售计划信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "apiId(92)", value = "表头", required = false, dataType = "Interger")
    })
    @PostMapping(value = "/api/v1/ams/amssaleplans/getSalePlanInfo")
    Map<String, Object> getSalePlanInfo(@RequestBody(required = false) Map<String, Object> mapValue,
                                        @RequestParam Integer pageNum,
                                        @RequestParam Integer pageSize,
                                        @RequestParam Integer apiId);

    /**
     * 新增销售计划
     * @param map
     * @return
     */
    @ApiOperation(value="新增销售计划")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "amssaleplans", value = "主键Id", required = false, dataType = "java.math.BigDecimal")
    })
    @PostMapping(value = "/api/v1/ams/amssaleplans/addAmsSalePlan")
    Map<String, Object> addAmsSalePlan(@RequestBody(required = false)Map<String,Object> map);

    /**
     * 通过主键查询销售计划信息
     * @param planId
     * @return
     */
    @ApiOperation(value="通过主键查询销售计划信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "planId", value = "销售计划主键", required = false, dataType = "BigDecimal")
    })
    @PostMapping(value = "/api/v1/ams/amssaleplans/getAmsSalePlanByPlanId")
    Map<String, Object> getAmsSalePlanByPlanId(@RequestParam BigDecimal planId);
    /**
     * 通过主键修改销售计划
     * @param map
     * @return
     */
    @ApiOperation(value="通过主键修改车皮装车作业实绩")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "amsSalePlan", value = "修改车皮装车map", required = false, dataType = "AmsSalePlan")
    })
    @PostMapping(value = "/api/v1/ams/amssaleplans/upadteAmsSalePlanByPlanId")
    Map<String, Object> upadteAmsSalePlanByPlanId(@RequestBody(required = false)Map<String,Object> map);
    /**
     * 通过主键删除销售计划
     * @param planId
     * @return
     */
    @ApiOperation(value="通过主键删除车皮装车作业实绩")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "planId", value = "主键ID", required = false, dataType = "BigDecimal")
    })
    @PostMapping(value = "/api/v1/ams/amssaleplans/deleteAmsSalePlanByPlanId")
    Map<String, Object> deleteAmsSalePlanByPlanId(@RequestParam BigDecimal planId);

    /**
     * 获取物资编码
     * @param
     * @return
     */
    @ApiOperation(value="获取物资编码")
    @ApiImplicitParams({
    })
    @GetMapping(value = "/api/v1/ams/amssaleplans/getMaterialName")
    Map<String, Object> getMaterialName();

    /**
     * 获取销售片区名称
     * @param
     * @return
     */
    @ApiOperation(value="获取销售片区名称")
    @ApiImplicitParams({
    })
    @GetMapping(value = "/api/v1/ams/amssaleplans/getAreaName")
    Map<String, Object> getAreaName();

    /**
     * 查询销售计划物资信息
     * @param mapValue
     * @param pageNum
     * @param pageSize
     * @param apiId
     * @return
     */
    @ApiOperation(value="查询销售计划物资信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "apiId(169)", value = "表头", required = false, dataType = "Interger")
    })
    @PostMapping("api/v1/ams/amssaleplanmaterials/getSalePlanMaterialInfo")
    Map<String, Object> getSalePlanMaterialInfo(@RequestParam BigDecimal planId,@RequestBody(required=false) Map<String,Object> mapValue,
                                        @RequestParam Integer apiId,
                                        @RequestParam Integer pageNum,
                                        @RequestParam Integer pageSize);

    /**
     * 新增销售计划物资信息
     * @param map
     * @return
     */
    @ApiOperation(value="新增销售计划物资信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "amsSalePlanMaterial", value = "销售计划物资信息对象", required = false, dataType = "AmsSalePlanMaterial")
    })
    @PostMapping(value = "api/v1/ams/amssaleplanmaterials/addAmsSalePlanMaterial")
    Map<String, Object> addAmsSalePlanMaterial(@RequestBody(required = false) Map<String, Object> map);

    /**
     * 通过主键删除销售计划物资信息
     * @param planMaterialId
     * @return
     */
    @ApiOperation(value="通过主键删除销售计划物资信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "planId", value = "主键ID", required = false, dataType = "BigDecimal")
    })
    @PostMapping(value = "api/v1/ams/amssaleplanmaterials/deleteAmsSalePlanMaterial")
    Map<String, Object> deleteAmsSalePlanMaterial(@RequestParam BigDecimal planMaterialId);

    /**
     * 通过主键查询销售计划物资信息
     * @param planMaterialId
     * @return
     */
    @ApiOperation(value="通过主键查询销售计划物资信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "planMaterialId", value = "销售计划物资表主键", required = false, dataType = "BigDecimal")
    })
    @PostMapping(value = "api/v1/ams/amssaleplanmaterials/getAmsSalePlanMaterialByPlanMaterialId")
    Map<String, Object> getAmsSalePlanMaterialByPlanMaterialId(@RequestParam BigDecimal planMaterialId);

    /**
     * 通过主键修改销售计划物资信息
     * @param map
     * @return
     */
    @ApiOperation(value="通过主键修改销售计划物资信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "amsSalePlanMaterial", value = "销售计划物资信息", required = false, dataType = "AmsSalePlanMaterial")
    })
    @PostMapping(value = "api/v1/ams/amssaleplanmaterials/upadteAmsSalePlanMaterial")
    Map<String, Object> upadteAmsSalePlanMaterial(@RequestBody(required = false) Map<String, Object> map);

    /**
     * 查询销售订单车序号详细信息
     * @param mapValue
     * @param pageNum
     * @param pageSize
     * @param apiId
     * @return
     */
    @ApiOperation(value="查询销售订单车序号详细信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "apiId(170)", value = "表头", required = false, dataType = "Interger")
    })
    @PostMapping("api/v1/ams/amssaletrucknomaterials/getTruckNoDetail")
    Map<String, Object> getTruckNoDetail(@RequestParam BigDecimal saleOrderMaterialId,@RequestBody(required=false) Map<String,Object> mapValue,
                                         @RequestParam Integer apiId,
                                         @RequestParam Integer pageNum,
                                         @RequestParam Integer pageSize);

    /**
     * 新增车序号物资信息
     * @param map
     * @return
     */
    @ApiOperation(value="新增车序号物资信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "amsSaleTrucknoMaterial", value = "新增车序号物资对象", required = false, dataType = "AmsSaleTrucknoMaterial")
    })
    @PostMapping(value = "api/v1/ams/amssaletrucknomaterials/addAmsSaleTrucknoMaterial")
    Map<String, Object> addAmsSaleTrucknoMaterial(@RequestBody(required = false) Map<String, Object> map);

    /**
     * 通过主键删除车序号物资信息
     * @param trucknoMaterialId
     * @return
     */
    @ApiOperation(value="通过主键删除车序号物资信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "trucknoMaterialId", value = "主键Id", required = false, dataType = "java.math.BigDecimal")
    })
    @PostMapping(value = "api/v1/ams/amssaletrucknomaterials/deleteAmsSaleTrucknoMaterial")
    Map<String, Object> deleteAmsSaleTrucknoMaterial(@RequestParam BigDecimal trucknoMaterialId);

    /**
     * 通过主键渲染车序号物资信息
     * @param trucknoMaterialId
     * @return
     */
    @ApiOperation(value="通过主键渲染车序号物资信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "saleOrderMaterialId", value = "主键Id", required = false, dataType = "java.math.BigDecimal")
    })
    @PostMapping(value = "api/v1/ams/amssaletrucknomaterials/getAmsSaleTrucknoMaterial")
    Map<String, Object> getAmsSaleTrucknoMaterial(@RequestParam BigDecimal trucknoMaterialId);

    /**
     * 通过主键修改车序号物资信息
     * @param map
     * @return
     */
    @ApiOperation(value="通过主键修改车序号物资信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "amsSaleTrucknoMaterial", value = "车序号物资信息对象", required = false, dataType = "AmsSaleTrucknoMaterial")
    })
    @PostMapping(value = "api/v1/ams/amssaletrucknomaterials/updateAmsSaleTrucknoMaterial")
    Map<String, Object> updateAmsSaleTrucknoMaterial(@RequestBody(required = false) Map<String, Object> map);

    /*
       AmstruckPurplanController中所有接口
    */
    @PostMapping("api/v1/ams/amstruckpurplans/getAllPurPlan")
    Map<String, Object> getAllPurPlan(@RequestBody(required=false) Map<String,Object> mapValue,
                                @RequestParam("apiId") Integer apiId,
                                @RequestParam("pageNum") Integer pageNum,
                                @RequestParam("pageSize") Integer pageSize,
                                @RequestParam("status") Integer status,
                                @RequestParam("con") String con);

    @PostMapping ("api/v1/ams/amstruckpurplans/getPurPlanById/{planId}")
    public Map<String, Object> getPurPlanById(@PathVariable("planId")Integer planId);

    @PostMapping ("api/v1/ams/amstruckinwardplan/changePlanStatus/{planId}")
    public Map<String, Object> changePlanStatus(@PathVariable("planId")BigDecimal planId);


    @PostMapping("api/v1/ams/amstruckpurplans/addPurPlan")
    public Map<String, Object> addPurPlan(@RequestBody Map<String, Object> map);



    @PostMapping("api/v1/ams/amstruckpurplans/sendPurPlan/{planId}")
    public Map<String, Object> sendPurPlan(@PathVariable("planId")Integer planId);

    @PostMapping("api/v1/ams/amstruckpurplans/receptionPurPlan/{planId}")
    public Map<String, Object> receptionPurPlan(@PathVariable("planId")Integer planId);
    
    @PostMapping("api/v1/ams/amstruckpurplans/updatePurPlan")
    public Map<String, Object> updatePurPlan(@RequestBody Map<String, Object> amstruckPurplan);

    @PostMapping("api/v1/ams/amstruckpurplans/deletePurPlan/{planId}")
    public Map<String, Object> deletePurPlan(@PathVariable("planId")Integer planId);

    @PostMapping("api/v1/ams/amstruckpurplans/getDecomposedPlan")
    public Map<String, Object> getDecomposedPlan(@RequestBody(required=false) Map<String,Object> mapValue,
                                           @RequestParam("apiId") Integer apiId,
                                           @RequestParam("pageNum") Integer pageNum,
                                           @RequestParam("pageSize") Integer pageSize,
                                           @RequestParam("planId") Integer planId,
                                           @RequestParam("status") Integer status,
                                           @RequestParam("planStatus") Integer planStatus,
                                           @RequestParam("con") String con
    );

    //*****************************************内转物流**************************************
    //查询汽运单价
    @PostMapping(value = "/api/v1/ams/amscontracttransportprices/getAmsContractTransportPriceForConverted")
    Map<String,Object> getAmsContractTransportPriceForConverted(@RequestParam("lineId")BigDecimal lineId,
                                                                @RequestParam("apiId")Integer apiId,
                                                                @RequestParam("pageNum")Integer pageNum,
                                                                @RequestParam("pageSize")Integer pageSize);
    //获得运输线路
    @GetMapping(value = "/api/v1/ams/amscontracttransportprices/getLineRoute")
    Map<String,Object> getLineRoute();


    /**
     *展示销售公司已审核销售订单的车序号列表
     * @param mapValue
     * @param pageNum
     * @param pageSize
     * @param apiId
     * @return
     */
    @ApiOperation(value="查询销售公司已审核销售订单的车序号")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "apiId(181)", value = "表头", required = false, dataType = "Interger")
    })
    @PostMapping(value = "/api/v1/ams/amssaleorders/getSaleOrderList")
    Map<String,Object> amsSaleOrderList(@RequestBody(required = false) Map<String, Object> mapValue,
                                        @RequestParam Integer pageNum,
                                        @RequestParam Integer pageSize,
                                        @RequestParam Integer apiId,
                                        @RequestParam Integer status);

    //固定派单:通过车序号查询收货地址,截取收货地址的区域,去资源管理中查询对应的承运商,将车序号与承运商绑定
    @PostMapping(value = "/api/v1/ams/amssaleorders/addAmsDispatchSaleOrder")
    Map<String,Object> addFixedAmsDispatchSaleOrder(@RequestBody(required = false) List<Map<String,Object>> mapValue);

    //公开派单
    //查询未分派车辆的销售订单的车序号
    @ApiOperation(value="展示车序号列表")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "apiId(182)", value = "表头", required = false, dataType = "Interger")
    })
    @PostMapping(value = "/api/v1/ams/amssaleorders/getAmsSaleOrderMaterial")
    Map<String,Object> getAmsSaleOrderMaterial(@RequestBody(required = false) Map<String, Object> mapValue,
                                               @RequestParam Integer pageNum,
                                               @RequestParam Integer pageSize,
                                               @RequestParam Integer apiId,
                                               @RequestParam("status") Integer status);
    //新增公开派单
    @PostMapping(value = "/api/v1/ams/amssaleorders/addOpenAmsDispatchSaleOrder/{orderMaterialId}")
    Map<String,Object> addOpenAmsDispatchSaleOrder(@PathVariable("orderMaterialId") BigDecimal orderMaterialId);
    //删除公开派单
    @PostMapping(value = "/api/v1/ams/amssaleorders//deleteAmsDispatchSaleOrder/{dispatchId}")
    Map<String,Object> deleteAmsDispatchSaleOrder(@PathVariable("dispatchId")BigDecimal saleOrderId);

    //展示公开派单
    @ApiOperation(value="展示公开派单")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "apiId(181)", value = "表头", required = false, dataType = "Interger")
    })
    @PostMapping(value = "/api/v1/ams/amssaleorders/getOpenDispatchSaleOrder")
    Map<String,Object> getOpenDispatchSaleOrder(@RequestBody(required = false) Map<String, Object> mapValue,
                                           @RequestParam Integer pageNum,
                                           @RequestParam Integer pageSize,
                                           @RequestParam Integer apiId);
    //修改公开派单
    @PostMapping(value = "/api/v1/ams/amssaleorders/updateOpenDispatchSaleOrder")
    Map<String,Object> updateOpenDispatchSaleOrder(@RequestBody(required = false) Map<String, Object> mapVal);

    //新增日计划
    @PostMapping(value = "/api/v1/ams/amstruckraildayplans/addTruckRailDayPlan")
    Map<String,Object> addTruckRailDayPlan(@RequestBody(required = false) Map<String, Object> mapVal);
    //删除日计划
    @PostMapping(value = "/api/v1/ams/amstruckraildayplans/deleteTruckRailDayPlan/{dayPlanId}")
    Map<String,Object> deleteTruckRailDayPlan(@PathVariable("dayPlanId") BigDecimal dayPlanId);
    //通过计划Id查询修改数据
    @PostMapping("/api/v1/ams/amstruckraildayplans/getDayPlanByDayPlanId/{dayplanId}")
    Map<String,Object> getDayPlanByDayPlanId(@PathVariable("dayplanId") Integer dayplanId);

    //修改日计划  2021年11月20日03:17:37
    @PostMapping("/api/v1/ams/amstruckraildayplans/updateDayPlan")
    public Map<String,Object> updateDayPlan(@RequestBody(required = false) Map<String, Object> map);

    //查询所有承运商
    @GetMapping("/api/v1/ams/amstruckraildayplans/getCarrierMes")
    public  Map<String,Object> getCarrierMes();

    //修改日计划
    @PostMapping(value = "/api/v1/ams/amstruckraildayplans/updateTruckRailDayPlan")
    Map<String,Object> updateTruckRailDayPlan(@RequestBody(required = false) Map<String, Object> mapVal);
    //查询日计划
    @ApiOperation(value="展示焦炭日计划")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "apiId(183)", value = "表头", required = false, dataType = "Interger")
    })
    @PostMapping(value = "/api/v1/ams/amstruckraildayplans/getTruckRailDayPlanList")
    Map<String, Object> getTruckRailDayPlan(@RequestBody(required = false) Map<String, Object> mapValue,
                                      @RequestParam("pageNum") Integer pageNum,
                                      @RequestParam("pageSize") Integer pageSize,
                                      @RequestParam("apiId") Integer apiId,
                                      @RequestParam("status") Integer status
    );
    //查询日计划
    @ApiOperation(value="展示水渣日计划")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "apiId(183)", value = "表头", required = false, dataType = "Interger")
    })
    @PostMapping(value = "/api/v1/ams/amstruckraildayplans/getSzTruckRailDayPlanList")
    Map<String, Object> getSzTruckRailDayPlan(@RequestBody(required = false) Map<String, Object> mapValue,
                                        @RequestParam("pageNum") Integer pageNum,
                                        @RequestParam("pageSize") Integer pageSize,
                                        @RequestParam("apiId") Integer apiId,
                                        @RequestParam("status") Integer status);

    //新增钢材发往异地库日计划
    @PostMapping(value = "/api/v1/ams/amsrailoffsetdayplan/addRailOffsetDayplan")
    Map<String,Object> addRailOffsetDayplan(@RequestBody(required = false) Map<String, Object> mapVal);

    //删除钢材发往异地库计划
    @PostMapping(value = "/api/v1/ams/amsrailoffsetdayplan/deleteRailOffsetDayplan/{dayplanId}")
    Map<String,Object> deleteRailOffsetDayplan(@PathVariable("dayplanId") Integer dayplanId);

    //接收钢材发往异地库计划
    @PostMapping(value = "/api/v1/ams/amsrailoffsetdayplan/receiveRailOffsetDayplan/{dayplanId}")
    Map<String,Object> receiveRailOffsetDayplan(@PathVariable("dayplanId") Integer dayplanId);

    //修改钢材发往异地库计划
    @PostMapping(value = "/api/v1/ams/amsrailoffsetdayplan/addRailOffsetDayplan")
    Map<String,Object> updateRailOffsetDayplan(@RequestBody(required = false) Map<String, Object> mapVal);

    //展示钢材发往异地库计划
    @ApiOperation(value="展示钢材发往异地库计划")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "apiId(183)", value = "表头", required = false, dataType = "Interger")
    })
    @PostMapping(value = "/api/v1/ams/amsrailoffsetdayplan/getRailOffsetDayplan")
    Map<String, Object> getRailOffsetDayplan(@RequestBody(required = false) Map<String, Object> mapValue,
                                       @RequestParam Integer pageNum,
                                       @RequestParam Integer pageSize,
                                       @RequestParam Integer apiId,
                                       @RequestParam Integer dayplanReceiveStatus,
                                       @RequestParam Integer carrierId);

    /**
     *新增运输计划
     */
    @PostMapping(value = "/api/v1/ams/amstruckinwardplan/addTruckPlan")
    Map<String,Object> addTruckPlan(@RequestBody(required = false) Map<String, Object> mapVal);
    //删除运输计划
    @PostMapping(value = "/api/v1/ams/amstruckinwardplan/deleteTruckPlan/{planId}")
    Map<String,Object> deleteTruckPlan(@PathVariable("planId") BigDecimal planId);
    //接收运输计划
    @PostMapping(value = "/api/v1/ams/amstruckinwardplan/receiveInwardPlan/{planId}")
    Map<String,Object> receiveInwardPlan(@PathVariable("planId") BigDecimal planId);
    //修改渲染
    @PostMapping(value = "/api/v1/ams/amstruckinwardplan/selectInwardPlanToUpdate/{planId}")
    Map<String,Object> selectInwardPlanToUpdate(@PathVariable("planId") BigDecimal planId);
    //下发运输计划
    @PostMapping(value = "/api/v1/ams/amstruckinwardplan/downTruckPlan")
    Map<String,Object> downTruckPlan(@RequestBody List<Map<String,Object>> mapList);
    //修改运输计划
    @PostMapping(value = "/api/v1/ams/amstruckinwardplan/updateTruckPlan")
    Map<String,Object> updateTruckPlan(@RequestBody(required = false) Map<String, Object> mapVal);
    //修改运输计划
//    @PostMapping(value = "/api/v1/ams/amstruckinwardplan/updateTruckPlan")
//    Map<String,Object> updateTruckPlan(@RequestBody(required = false) Map<String, Object> mapVal);
    /**
     * 展示运输计划
     */
    @ApiOperation(value="展示运输计划")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "apiId(还没有设置表头)", value = "表头", required = false, dataType = "Interger")
    })
    @PostMapping(value = "/api/v1/ams/amstruckinwardplan/getTruckPlanList")
    Map<String, Object> getTruckPlanList(@RequestBody(required = false) Map<String, Object> mapValue,
                                         @RequestParam Integer pageNum,
                                         @RequestParam Integer pageSize,
                                         @RequestParam Integer apiId,
                                         @RequestParam Integer planStatus,
                                         @RequestParam String carrierId,
                                         @RequestParam Integer planId);

    @ApiOperation(value="展示运输计划下的运输订单")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "apiId(还没有设置表头)", value = "表头", required = false, dataType = "Interger")
    })
    @PostMapping(value = "/api/v1/ams/amstruckinwardplan/getPlanOrder")
    Map<String, Object> getPlanOrder(@RequestBody(required = false) Map<String, Object> mapValue,
                                         @RequestParam Integer pageNum,
                                         @RequestParam Integer pageSize,
                                         @RequestParam Integer apiId,
                                         @RequestParam Integer planId,
                                        @RequestParam Integer requirementId,
                                         @RequestParam Integer orderStatus

                                     );

    /**
     *新增用车需求
     */
    @PostMapping(value = "/api/v1/ams/amstruckinwardrequirement/addTruckRequirement")
    Map<String,Object> addTruckRequirement(@RequestBody(required = false) Map<String, Object> mapVal);
    //用车需求
    @PostMapping(value = "/api/v1/ams/amstruckinwardrequirement/deleteTruckRequirement/{requirementId}")
    Map<String,Object> deleteTruckRequirement(@PathVariable("requirementId") BigDecimal requirementId);
    // 接收
    @PostMapping(value = "/api/v1/ams/amstruckinwardrequirement/receiveRequirement/{requirementId}")
    Map<String,Object> receiveRequirement(@PathVariable("requirementId") Integer requirementId);
    // 修改渲染
    @PostMapping(value = "/api/v1/ams/amstruckinwardrequirement/selectRequirement/{requirementId}")
    Map<String, Object> selectRequirement(@PathVariable("requirementId")Integer requirementId);
    //修改用车需/下发用车需求
    @PostMapping(value = "/api/v1/ams/amstruckinwardrequirement/updateTruckRequirement")
    Map<String,Object> updateTruckRequirement(@RequestBody(required = false) Map<String, Object> mapVal);
    //下发
    @PostMapping(value = "/api/v1/ams/amstruckinwardrequirement/downRequirement")
    Map<String,Object> downRequirement(@RequestBody List<Map<String,Object>> requirementIds);
    /**
     * 展示用车需求
     */
    @ApiOperation(value="展示用车需求")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "apiId(还没有设置表头)", value = "表头", required = false, dataType = "Interger")
    })
    @PostMapping(value = "/api/v1/ams/amstruckinwardrequirement/getTruckRequirementList")
    Map<String, Object> getTruckRequirementList(@RequestBody(required = false) Map<String, Object> mapValue,
                                   @RequestParam Integer pageNum,
                                   @RequestParam Integer pageSize,
                                   @RequestParam Integer apiId,
                                   @RequestParam Integer requirementStatus,
                                   @RequestParam String orgCode);

    @ApiOperation(value="查询app端公开抢单")
    @PostMapping(value = "/api/v1/ams/amsdispatchsaleorders/getDispatchSaleOrderList")
    Map<String,Object> getDispatchSaleOrderList();

    @ApiOperation(value="抢单/接收订单锁定")
    @PostMapping(value = "/api/v1/ams/amsdispatchsaleorders/lockDispatchSaleOrder")
    Map<String, Object> lockDispatchSaleOrder(@RequestParam Integer dispatchId,
                                              @RequestParam String carrierSsoId);

    @ApiOperation(value="查询app端承运商已抢到的单")
    @PostMapping(value = "/api/v1/ams/amsdispatchsaleorders/getLockDispatchSaleOrderList")
    Map<String, Object> getLockDispatchSaleOrderList(@RequestParam Integer carrierId);

//    @PostMapping("/api/v1/ams/amssaleplans/getAllSteelMaterialMes")
//    public Map<String, Object> getAllSteelMaterialMes(@RequestBody(required = false) Map<String,Object> mapValue,
//                                                      @RequestParam Integer pageNum,
//                                                      @RequestParam Integer pageSize,
//                                                      @RequestParam Integer apiId,
//                                                      @RequestParam String con) ;

    @PostMapping("/api/v1/ams/amsdispatchsaleorders/getPCDispatchSaleOrderList")
    Map<String, Object> getPCDispatchSaleOrderList(@RequestBody(required = false) Map<String,Object> mapValue,
                                                      @RequestParam Integer pageNum,
                                                      @RequestParam Integer pageSize,
                                                      @RequestParam Integer apiId,
                                                      @RequestParam Integer dispatchType,
                                                      @RequestParam String carrierSsoId) ;

    @PostMapping("/api/v1/ams/amstruckinwardrequirement/getPurchaseIdByBatch")
    Map<String, Object> getPurchaseIdByBatch(@RequestBody(required = false) Map<String,Object> mapValue,
                                             @RequestParam Integer pageNum,
                                             @RequestParam Integer pageSize,
                                             @RequestParam Integer apiId);

    @GetMapping("/api/v1/ams/amstruckinwardrequirement/getCapacityType")
    Map<String, Object> getCapacityType();

    @GetMapping("/api/v1/ams/amstruckinwardrequirement/getShipperUser")
    Map<String, Object> getShipperUser();

    @GetMapping("/api/v1/ams/amstruckinwardplan/getCarrierList")
    Map<String, Object> getCarrierList();

    @GetMapping("/api/v1/ams/amstruckinwardrequirement/getOffsetWarehouse")
    Map<String, Object> getOffsetWarehouse();


    @PostMapping("/api/v1/ams/amstruckinwardrequirement/getWareHouse")
    Map<String, Object>getWareHouse(@RequestBody(required = false) Map<String,Object> mapValue,
                                     @RequestParam Integer pageNum,
                                     @RequestParam Integer pageSize,
                                     @RequestParam Integer apiId,
                                     @RequestParam String con);

    /**
     * 钢材发运到异地库查询物资
     * @param dayplanId
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amsrailoffsetdayplan/getMaterialMesByDayPlanId")
    Map<String, Object> getMaterialMesByDayPlanId(@RequestBody(required = false) Map<String,Object> mapValue,
                                                  @RequestParam Integer pageNum,
                                                  @RequestParam Integer pageSize,
                                                  @RequestParam Integer apiId,
                                                  @RequestParam Integer dayplanId);

    /**
     * 下发钢材发往异地库计划
     * @param mapList
     * @return
     */
    @PostMapping(value = "/api/v1/ams/amsrailoffsetdayplan/issueRailOffsetDayplan")
    Map<String,Object> issueRailOffsetDayplan(@RequestBody List<Map<String, Object>> mapList);

    /**
     * 到站下拉
     * @return
     */
    @GetMapping("/api/v1/ams/amsrailoffsetdayplan/getdayPlanToTheStationId")
    Map<String, Object> getdayPlanToTheStationId();


    @PostMapping(value = "/api/v1/ams/amsrailoffsetdayplan/getRailOffsetDayplanId")
    Map<String, Object> getRailOffsetDayplanId(@RequestBody(required = false) Map<String, Object> mapValue,
                                             @RequestParam Integer pageNum,
                                             @RequestParam Integer pageSize,
                                             @RequestParam Integer apiId,
                                             @RequestParam Integer dayPlanId);

    @PostMapping("/api/v1/ams/amstruckinwardplan/finishTruckPlan/{planId}")
    public Map<String, Object> finishTruckPlan(@PathVariable("planId") Integer planId);

    //零星订单================================================================================================================================
    @PostMapping("/api/v1/ams/amstrucksporadicorders/getSporadicOrdersList")
    RESTfulResult getSporadicOrdersList(@RequestBody(required = false) Map<String, Object> mapValue,
                                              @RequestParam Integer apiId,
                                              @RequestParam Integer pageNum,
                                              @RequestParam Integer pageSize,
                                              @RequestParam Integer orderType,
                                              @RequestParam Integer issueStatus,
                                              @RequestParam String con,
                                              @RequestParam Integer dispatchStatus,
                                              @RequestParam Integer sporadicStatus,
                                              @RequestParam String carrierSsoId,
                                              @RequestParam String userId,
                                              @RequestParam String userIds);

    @PostMapping("/api/v1/ams/amstrucksporadicorders/seeAllMaterials")
    RESTfulResult seeAllMaterials(@RequestBody(required = false) Map<String, Object> mapValue,
                                              @RequestParam Integer apiId,
                                              @RequestParam Integer pageNum,
                                              @RequestParam Integer pageSize,
                                              @RequestParam Integer sporadicOrderId,
                                              @RequestParam String con);

    @PostMapping("/api/v1/ams/amstrucksporadicorders/deleteSporadicOrders")
    Map<String, Object> deleteSporadicOrders(@RequestParam Integer sporadicOrderId);

    @PostMapping("/api/v1/ams/amstrucksporadicorders/issueSporadicOrders")
    Map<String, Object> issueSporadicOrders(@RequestBody List<Map<String, Object>> mapList);

    @PostMapping("/api/v1/ams/amstrucksporadicorders/closeSporadicOrder")
    Map<String, Object> closeSporadicOrder(@RequestBody Map<String, Object> map);



    @PostMapping("/api/v1/ams/amstrucksporadicorders/addInwardSporadicOrder")
    Map<String, Object> addInwardSporadicOrder(@RequestBody Map<String, Object> map);

    @PostMapping("/api/v1/ams/amstrucksporadicorders/addSporadicOrders")
    Map<String, Object> addSporadicOrders(@RequestBody Map<String, Object> mapValue);

    @PostMapping("/api/v1/ams/amstrucksporadicorders/addSporadicOrderTimes")
    Map<String, Object> addSporadicOrderTimes(@RequestBody Map<String, Object> mapValue);

    @PostMapping("/api/v1/ams/amstrucksporadicorders/selectSporadicOrder")
    RESTfulResult selectSporadicOrder(@RequestParam Integer sporadicOrderId);

    @PostMapping("/api/v1/ams/amstrucksporadicorders/updateSporadicOrder")
    Map<String, Object> updateSporadicOrder(@RequestBody Map<String, Object> mapValue);

    @PostMapping("/api/v1/ams/amssaleordermaterials/getTruckNoList")
    RESTfulResult getTruckNoList(@RequestBody(required = false) Map<String, Object> mapValue,
                                 @RequestParam Integer apiId,
                                 @RequestParam Integer pageNum,
                                 @RequestParam Integer pageSize,
                                 @RequestParam Integer issueStatus);


    @ApiOperation(value="查询未上报的销售订单信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "apiId(408)", value = "表头", required = false, dataType = "Interger")
    })
    @PostMapping("/api/v1/ams/amssaleorders/getSaleOrderInfoes")
    Map<String, Object> getSaleOrderInfoes(@RequestBody(required = false) Map<String, Object> mapValue,
                                           @RequestParam Integer pageNum,
                                           @RequestParam Integer pageSize,
                                           @RequestParam Integer apiId,
                                           @RequestParam(required = false) String consigneeSsoId,
                                           @RequestParam(required = false) String con);

    @ApiOperation(value="查询已上报销售订单信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "apiId(408)", value = "表头", required = false, dataType = "Interger")
    })
    @PostMapping("/api/v1/ams/amssaleorders/getSaleOrderReportedes")
    Map<String, Object> getSaleOrderReportedes(@RequestBody(required = false) Map<String, Object> mapValue,
                                               @RequestParam Integer pageNum,
                                               @RequestParam Integer pageSize,
                                               @RequestParam Integer apiId,
                                               @RequestParam(required = false) String consigneeSsoId,
                                               @RequestParam(required = false) String con);

    @PostMapping("/api/v1/ams/amssaleorders/getSaleOrderListBySaleCompanyes")
    Map<String,Object> getSaleOrderListBySaleCompanyes(@RequestBody(required = false) Map<String,Object> mapValue,
                                                       @RequestParam("pageNum") Integer pageNum,
                                                       @RequestParam("pageSize") Integer pageSize,
                                                       @RequestParam("apiId") Integer apiId,
                                                       @RequestParam("con") String con,
                                                       @RequestParam Integer shipperId,
                                                       @RequestParam(required = false) Integer saleType,
                                                       @RequestParam(required = false) String consigneeSsoId
//                                                       @RequestParam String startDate,
//                                                       @RequestParam String endDate
    );

    @ApiOperation(value="查询财务已审批销售订单信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "apiId(409)", value = "表头", required = false, dataType = "Interger")
    })
    @PostMapping("/api/v1/ams/amssaleorders/getAmsSaleOrderApprovedes")
    Map<String, Object> getAmsSaleOrderApprovedes(@RequestBody(required = false) Map<String, Object> mapValue,
                                                  @RequestParam("pageNum") Integer pageNum,
                                                  @RequestParam("pageSize") Integer pageSize,
                                                  @RequestParam("apiId") Integer apiId,
                                                  @RequestParam("con") String con);

    @ApiOperation(value="查询销售订单物资信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "apiId(410)", value = "表头", required = false, dataType = "Interger")
    })
    @PostMapping("/api/v1/ams/amssaleorders/getSaleOrderAndMaterialById")
    RESTfulResult getSaleOrderAndMaterialById(@RequestBody(required = false) Map<String, Object> mapValue,
                                              @RequestParam("apiId") Integer apiId,
                                              @RequestParam("pageNum") Integer pageNum,
                                              @RequestParam("pageSize") Integer pageSize,
                                              @RequestParam("saleOrderId") BigDecimal saleOrderId);

    @ApiOperation(value="新增车序号")
    @PostMapping("/api/v1/ams/amssaleordermaterials/addTruckNo")
    Map<String, Object> addTruckNo(@RequestBody List<Map<String, Object>> mapList);

    @ApiOperation(value="下发车序号")
    @PostMapping("/api/v1/ams/amssaleordermaterials/issueTruckNo")
    Map<String, Object> issueTruckNo(@RequestBody List<Map<String, Object>> mapList);

    @ApiOperation(value="定向派单选择承运商并下发")
    @PostMapping("/api/v1/ams/amsdispatchsaleorders/addDispatchSaleOrder")
    Map<String, Object> addDispatchSaleOrder(@RequestBody Map<String, Object> mapValue);


    //发布通知==============================================================================================
    /*

    //公告获取列表
    @PostMapping(value = "/api/v1/rms/dilnotices/getNoticeList")
    Map<String, Object> getNoticeList(@RequestBody(required = false) Map<String, Object> mapValue,
                                        @RequestParam("apiId") Integer apiId,
                                        @RequestParam("pageNum") Integer pageNum,
                                        @RequestParam("pageSize") Integer pageSize,
                                        @RequestParam("con") String con);
*/

    //承运商公告获取列表
    @PostMapping(value = "/api/v1/ams/dilnotices/getCarrierNoticeList")
    Map<String, Object> getCarrierNoticeList(@RequestBody(required = false) Map<String, Object> mapValue,
                                             @RequestParam("apiId") Integer apiId,
                                             @RequestParam("pageNum") Integer pageNum,
                                             @RequestParam("pageSize") Integer pageSize,
                                             @RequestParam("con") String con);



    //销售公司公告获取列表
    @PostMapping(value = "/api/v1/ams/dilnotices/getMarketingNoticeList")
    Map<String, Object> getMarketingNoticeList(@RequestBody(required = false) Map<String, Object> mapValue,
                                               @RequestParam("apiId") Integer apiId,
                                               @RequestParam("pageNum") Integer pageNum,
                                               @RequestParam("pageSize") Integer pageSize,
                                               @RequestParam("con") String con);

    //收货用户公告获取列表
    @PostMapping(value = "/api/v1/ams/dilnotices/getClientNoticeList")
    Map<String, Object> getClientNoticeList(@RequestBody(required = false) Map<String, Object> mapValue,
                                            @RequestParam("apiId") Integer apiId,
                                            @RequestParam("pageNum") Integer pageNum,
                                            @RequestParam("pageSize") Integer pageSize,
                                            @RequestParam("con") String con);


    //新增公告
    @PostMapping(value = "api/v1/ams/dilnotices/insertNotice")
    Map<String,Object> insertNotice(@RequestBody(required = false) Map<String,Object> map);

    //删除公告
    @PostMapping(value = "api/v1/ams/dilnotices/deleteNotice/{id}")
    Map<String, Object> deleteNotice(@PathVariable("id") BigDecimal id);

    //更新公告
    @PostMapping(value = "api/v1/ams/dilnotices/updateNotice")
    Map<String, Object> updateNotice(@RequestBody(required = false) Map<String, Object> map);

    //根据id获取公告
    @PostMapping(value = "api/v1/ams/dilnotices/getNoticeById/{id}")
    Map<String, Object> getNoticeById(@PathVariable("id") BigDecimal id);

    //根据权限获取最新公告
    @PostMapping(value = "api/v1/ams/dilnotices/getNewNoticeByPermission/{permissions}")
    Map<String, Object> getNewNoticeByPermission(@PathVariable("permissions")String permissions);


    //******************************************下拉框*******************************


    //公告下拉框,须摸清实现原理
    @GetMapping(value = "api/v1/ams/dilnotices/getNoticeTypeId")
    Map<String,Object> getNoticeTypeId();

    @PostMapping(value = "api/v1/ams/amssaleordermaterials/getTruckNoMaterialList")
    RESTfulResult getTruckNoMaterialList(@RequestParam Integer saleOrderMaterialId);

    @PostMapping(value = "api/v1/ams/amssaleordermaterials/getSaleMaterialList")
    RESTfulResult getSaleMaterialList(@RequestParam Integer saleOrderId);

    @PostMapping(value = "api/v1/ams/amsdispatchsaleorders/getDispatchMaterialList")
    RESTfulResult getDispatchMaterialList(@RequestParam Integer dispatchId);

    @PostMapping(value = "api/v1/ams/amssaleordermaterials/dispatchTruckOrderBySale")
    Map<String, Object> dispatchTruckOrderBySale(Map<String, Object> mapValue);

    @PostMapping(value = "api/v1/ams/amssaleorders/getCokeSaleOrderList")
    RESTfulResult getCokeSaleOrderList(@RequestBody(required = false) Map<String, Object> mapValue,
                                                   @RequestParam("pageNum") Integer pageNum,
                                                   @RequestParam("pageSize") Integer pageSize,
                                                   @RequestParam("apiId") Integer apiId,
                                                   @RequestParam("con") String con);

    @PostMapping(value = "api/v1/ams/amssaleordermaterials/dispatchTruckOrderByCarrier")
    Map<String, Object> dispatchTruckOrderByCarrier(@RequestBody Map<String, Object> mapValue);

    @PostMapping(value = "api/v1/ams/amssaleordermaterials/closeSaleOrder")
    Map<String, Object> closeSaleOrder(@RequestParam Integer saleOrderId);

    @PostMapping(value = "/api/v1/ams/amsdispatchsaleorders/lockDispatchSaleOrderList")
    Map<String, Object> lockDispatchSaleOrderList(@RequestBody Map<String, Object> mapValue);

    //新增采购内转需求
    @PostMapping(value = "/api/v1/ams/amstruckinwardrequirement/addPurInwardRequirement")
    Map<String, Object> addPurInwardRequirement(@RequestBody  Map<String, Object> mapval);

    @PostMapping(value = "/api/v1/ams/amstruckinwardrequirement/getPurRequirementList")
    Map<String, Object> getPurRequirementList(@RequestBody Map<String, Object> mapValue,
                                              @RequestParam Integer pageNum,
                                              @RequestParam Integer pageSize,
                                              @RequestParam Integer apiId,
                                              @RequestParam Integer requirementStatus,
                                              @RequestParam String con,
                                              @RequestParam String userId,
                                              @RequestParam String carrierSsoId,
                                              @RequestParam String enableStatus,
                                              @RequestParam String planStatus);

    @PostMapping(value = "/api/v1/ams/amscontracttruckprices/getRealAddressByLike")
    Map<String, Object> getRealAddressByLike(@RequestParam Integer addressId,@RequestParam String index);

    @PostMapping("/api/v1/ams/amssaleorders/saleOrderEmpowerCarrier")
    public RESTfulResult saleOrderEmpowerCarrier(@RequestBody(required = false) Map<String,Object> mapValue);

    @PostMapping("/api/v1/ams/amssaleorders/getSaleOrderListByCarrierSsoId")
    public RESTfulResult getSaleOrderListByCarrierSsoId(@RequestBody(required = false) Map<String,Object> mapValue,
                                                        @RequestParam String carrierSsoId,
                                                        @RequestParam Integer pageNum,
                                                        @RequestParam Integer pageSize,
                                                        @RequestParam Integer apiId,
                                                        @RequestParam String con);
    @PostMapping(value = "/api/v1/ams/amssaleordermaterials/getPriceMap")
    Map<String, Object> getPriceMap(@RequestBody Map<String, Object> map);

    @PostMapping(value = "/api/v1/ams/amstruckinwardrequirement/getRequirementMaterial/{requirementId}")
    Map<String,Object> getRequirementMaterial(@PathVariable("requirementId") Integer requirementId);

    @PostMapping(value = "/api/v1/ams/amssaleordermaterials/getBenPrice")
    Map<String, Object> getBenPrice(@RequestBody Map<String, Object> map);

    @PostMapping(value = "/api/v1/ams/amsdispatchsaleorders/refuseDispatchSaleOrderList")
    Map<String, Object> refuseDispatchSaleOrderList(List<Map<String, Object>> mapList);

    @PostMapping(value = "/api/v1/ams/amssaleorders/addSteelSaleOrder")
    Map<String, Object> addSteelSaleOrder(@RequestBody Map<String, Object> mapValue);

    @PostMapping(value = "/api/v1/ams/amssaleorders/getTruckNoAndMaterialList")
    RESTfulResult getTruckNoAndMaterialList(@RequestParam Integer saleOrderId);

    @PostMapping(value = "/api/v1/ams/amssaleorders/dispatchSteelOrder")
    Map<String, Object> dispatchSteelOrder(@RequestBody List<Map<String, Object>> mapList);

    @GetMapping(value = "/api/v1/ams/amssaleorders/getCarrierByPlace")
    RESTfulResult getCarrierByPlace(@RequestParam Integer placeId);

    @PostMapping(value = "/api/v1/ams/amssaleorders/getPriceByCarrierAndPlace")
    Map<String, Object> getPriceByCarrierAndPlace(@RequestBody Map<String, Object> mapValue);

    @PostMapping(value = "/api/v1/ams/amssaleorders/dispatchToCarrier")
    RESTfulResult dispatchToCarrier(@RequestBody List<Map<String, Object>> mapList);

    @PostMapping(value = "/api/v1/ams/amssaleorders/getSaleOrderListToCarrier")
    RESTfulResult getSaleOrderListToCarrier(@RequestBody(required = false) Map<String, Object> mapValue,
                                            @RequestParam Integer pageNum,
                                            @RequestParam Integer pageSize,
                                            @RequestParam Integer apiId,
                                            @RequestParam String carrierSsoId,
                                            @RequestParam(required = false) String con);

    @PostMapping(value = "/api/v1/ams/amssaleorders/getSteelTruckNoList")
    RESTfulResult getSteelTruckNoList(@RequestBody(required = false) Map<String, Object> mapValue,
                                      @RequestParam Integer apiId,
                                      @RequestParam Integer pageNum,
                                      @RequestParam Integer pageSize,
                                      @RequestParam String con);

    @PostMapping(value = "/api/v1/ams/amssaleorders/getTruckNoMaterial")
    RESTfulResult getTruckNoMaterial(@RequestParam Integer saleOrderMaterialId);

    @PostMapping(value = "/api/v1/ams/amssaleorders/getNoCarTruckNoList")
    RESTfulResult getNoCarTruckNoList(@RequestBody(required = false) Map<String, Object> mapValue,
                                      @RequestParam Integer apiId,
                                      @RequestParam Integer pageNum,
                                      @RequestParam Integer pageSize,
                                      @RequestParam String con);

    @PostMapping(value = "/api/v1/ams/amssaleorders/getHaveCarTruckNoList")
    RESTfulResult getHaveCarTruckNoList(@RequestBody(required = false) Map<String, Object> mapValue,
                                        @RequestParam Integer apiId,
                                        @RequestParam Integer pageNum,
                                        @RequestParam Integer pageSize,
                                        @RequestParam String con);
    @PostMapping(value = "/api/v1/ams/amstrucksporadicorders/getSporadic")
    Map<String, Object> getSporadic(@RequestParam Integer sporadicId);


    @PostMapping("/api/v1/ams/amstrucksporadicorders/getSporadicOfOrder")
    Map<String, Object> getSporadicOfOrder(@RequestBody(required = false) Map<String,Object> mapValue,
                                                        @RequestParam Integer apiId,
                                                        @RequestParam Integer pageNum,
                                                        @RequestParam Integer pageSize,
                                                        @RequestParam Integer sporadicId);

    /*
    新增内转运输单价
     */
    @PostMapping(value = "/api/v1/ams/amscontracttruckprices/insertInwardPrice")
    Map<String, Object> insertInwardPrice(Map<String, Object> mapVal);


    @ApiOperation(value="查询汽运单价信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "apiId(109)", value = "表头", required = false, dataType = "Interger")
    })
    @PostMapping(value = "/api/v1/ams/amscontracttruckprices/getInwardContractPrice")
    Map<String, Object> getInwardContractPrice(@RequestBody(required = false) Map<String, Object> mapValue,
                                                      @RequestParam("pageNum") Integer pageNum,
                                                      @RequestParam("pageSize") Integer pageSize,
                                                      @RequestParam("apiId") Integer apiId,
                                                      @RequestParam("deleted") Integer deleted);
    //根据物资查询运输物资单价
    @PostMapping(value = "/api/v1/ams/amscontracttruckprices/getInwardPriceBy")
    Map<String, Object> getInwardPriceBy(@RequestBody(required = false)Map<String, Object> mapvalue);


    //删除销售订单
    @PostMapping(value = "/api/v1/ams/amssaleorders/deleteSaleOrderById")
    Map<String,Object> deleteSaleOrderById(@RequestParam Integer saleOrderId);

    //查询出销售订单下的所有数据
    @PostMapping(value = "/api/v1/ams/amssaleorders/getAllSaleMessages")
    RESTfulResult getAllSaleMessages(@RequestParam Integer saleOrderId);

    // 修改承运商授权
    @PostMapping(value = "/api/v1/ams/amssaleorders/updateTruckNoCarrier")
    Map<String, Object> updateTruckNoCarrier(@RequestBody Map<String, Object> mapValue);

    // 批量上传销售订单到金蝶
    @PostMapping(value = "/api/v1/ams/amssaleorders/uploadSaleOrderList")
    Map<String, Object> uploadSaleOrderList(@RequestBody List<Map<String, Object>> saleOrderIdList);

    // 自动匹配出最近的一个地址
    @PostMapping(value = "/api/v1/ams/amssaleorders/matchingAddressRecently")
    RESTfulResult matchingAddressRecently(@RequestParam BigDecimal receiveId);

    // 自动匹配上一条运单的司机电话
    @PostMapping(value = "/api/v1/ams/amssaleorders/matchingDriverTelRecently")
    RESTfulResult matchingDriverTelRecently(@RequestParam String capacityNumber);

    // 展示副产品销售订单列表
    @PostMapping(value = "/api/v1/ams/amssaleorders/getFuSaleOrderList")
    Map<String, Object> getFuSaleOrderList(@RequestBody(required = false) Map<String, Object> mapValue,
                                           @RequestParam Integer pageNum,
                                           @RequestParam Integer pageSize,
                                           @RequestParam Integer apiId,
                                           @RequestParam String con);
}