package com.steerinfo.dil.feign;
import com.steerinfo.framework.controller.RESTfulResult;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

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

@FeignClient(value = "DIL-RMS-API-DEV", url = "${openfeign.RmsFeign.url}")
public interface RmsFeign {
    /**
     * @author huk
     * @return
     */
    //新增作业环节
    @ApiOperation(value="新增作业环节")
    @PostMapping("api/v1/rms/rmslinks/LinkInsertSelective")
    Map<String,Object> LinkInsertSelective(@RequestBody(required = false) Map<String,Object> mapValue);

    /**
     * @author huk
     * @return
     */
    @PostMapping("/api/v1/rms/rmslinks/getLink")
    Map<String, Object> getlink();

    /**
     * @author huk
     * @return
     */
    //新增运输路线
    @ApiOperation(value="新增运输路线")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "mapValue", value = "运输路线", required = false, dataType = "Map"),
    })
    @PostMapping("/api/v1/rms/rmslines/insertSelective")
    Map<String, Object> insertSelective(@RequestBody(required = false) Map<String,Object> mapVal);

    @PostMapping(value = "/api/v1/rms/rmslines/getAllLineDesk")
    Map<String, Object> getAllLineDesk(@RequestBody(required = false) Map<String,Object> mapValue,
                                        @RequestParam("pageNum") Integer pageNum,
                                        @RequestParam("pageSize")Integer pageSize,
                                        @RequestParam("apiId")Integer apiId,
                                        @RequestParam("lineType")Integer lineType,
                                        @RequestParam("con")String con);

    @ApiOperation(value = "根据主键查询出数据以供修改")
    @PostMapping("/api/v1/rms/rmslines/getLinkToUpdate")
    Map<String, Object> getLinkToUpdate(@RequestParam Integer lineId);

    @ApiOperation(value = "根据运输线路主表ID修改数据")
    @PostMapping("/api/v1/rms/rmslines/updateByPrimaryKeySelective")
    Map<String, Object> updateByPrimaryKeySelective(@RequestBody(required = false) Map<String,Object> mapVal);

    @ApiOperation(value = "根据运输线路主表ID修改数据,为逻辑删除")
    @PostMapping("/api/v1/rms/rmslines/updateRmsLine")
    Map<String, Object> updateRmsLine(@RequestBody(required = false) Map<String,Object> mapVal);

    @ApiOperation(value = "根据运输路线的主表id查询运输订单是否相关联")
    @PostMapping("/api/v1/rms/rmslines/getCountNumber")
    Map<String, Object> getCountNumber(@RequestParam Integer lineId);

    //********************************************************************************************************


    //新增司机信息
    @PostMapping(value = "api/v1/rms/rmscardriver/insertCarDriver")
    Map<String, Object> insertCarDriver(@RequestBody(required = false) Map<String, Object> map);

    //修改司机信息
    @PostMapping(value = "api/v1/rms/rmscardriver/updateCarDriver")
    Map<String, Object> updateCarDriver(Map<String, Object> map);
    //通过id查询司机信息
    @PostMapping(value = "api/v1/rms/rmscardriver/getCarDriverById/{id}")
    Map<String, Object> getCarDriverById(@PathVariable("id") BigDecimal id);
    //删除司机信息
    @PostMapping(value = "api/v1/rms/rmscardriver/deleteCarDriver/{id}")
    Map<String, Object> deleteCarDriver(@PathVariable("id") BigDecimal id);
    //模糊查询司机
    @PostMapping(value = "/api/v1/rms/rmscardriver/getCarDriverList")
    Map<String, Object> getCarDriverList(@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/rms/rmscarrier/getCarrierList")
    Map<String,Object>     getCarrierList(@RequestBody(required = false) Map<String,Object> mapValue,
                                          @RequestParam("apiId") Integer apiId,
                                          @RequestParam("pageNum") Integer pageNum,
                                          @RequestParam("pageSize") Integer pageSize,
                                          @RequestParam String con);

    //新增承运商
    @PostMapping(value = "api/v1/rms/rmscarrier/insertCarrier")
    Map<String,Object> insertCarrier(@RequestBody(required = false) Map<String,Object> map);
    //删除承运商
    @PostMapping(value = "api/v1/rms/rmscarrier/deleteCarrier/{id}")
    Map<String, Object> deleteCarrier(@PathVariable("id") BigDecimal id);
    //    更新承运商信息
    @PostMapping(value = "api/v1/rms/rmscarrier/updateCarrier")
    Map<String, Object> updateCarrier(@RequestBody(required = false) Map<String, Object> map);
    //    根据id获取承运商信息
    @PostMapping(value = "api/v1/rms/rmscarrier/getCarrierById/{id}")
    Map<String, Object> getCarrierById(@PathVariable("id") BigDecimal id);
//    展示中标区域
    @PostMapping(value = "api/v1/rms/rmscarrier/getCarrierBidAreaList")
    Map<String, Object> getCarrierBidAreaList(@RequestBody(required = false) Map<String,Object> mapValue,
                                          @RequestParam("apiId") Integer apiId,
                                          @RequestParam("pageNum") Integer pageNum,
                                          @RequestParam("pageSize") Integer pageSize,
                                          @RequestParam String con);

    //获取物资列表
    @PostMapping(value = "api/v1/rms/rmsmaterial/getMaterialList")
    Map<String,Object> getMaterialList(@RequestBody(required = false) Map<String,Object> mapValue,
                                       @RequestParam("apiId") Integer apiId,
                                       @RequestParam("pageNum") Integer pageNum,
                                       @RequestParam("pageSize") Integer pageSize,
                                       @RequestParam String con);


    //新增物资
    @PostMapping(value = "api/v1/rms/rmsmaterial/insertMaterial")
    Map<String, Object> insertMaterial(@RequestBody(required = false) Map<String, Object> map);
    //删除物资
    @PostMapping(value = "api/v1/rms/rmsmaterial/deleteMaterial/{id}")
    Map<String, Object> deleteMaterial(@PathVariable("id") BigDecimal id);
    //    更新物资信息
    @PostMapping(value = "api/v1/rms/rmsmaterial/updateMaterial")
    Map<String, Object> updateMaterial(@RequestBody(required = false) Map<String, Object> map);
    //    根据id获取物资信息
    @PostMapping(value = "api/v1/rms/rmsmaterial/getMaterialById/{id}")
    Map<String, Object> getMaterialById(@PathVariable("id") BigDecimal id);


    @PostMapping(value = "api/v1/rms/rmspersonnel/insertPersonnel")
    Map<String, Object> insertPersonnel(@RequestBody(required = false) Map<String, Object> map);
    //删除人员信息
    @PostMapping(value = "api/v1/rms/rmspersonnel/deletePersonnel/{id}")
    Map<String, Object> deletePersonnel(@PathVariable("id") BigDecimal id);
    //    更新人员信息
    @PostMapping(value = "api/v1/rms/rmspersonnel/updatePersonnel")
    Map<String, Object> updatePersonnel(@RequestBody(required = false) Map<String, Object> map);
    //    根据id获取人员信息
    @PostMapping(value = "api/v1/rms/rmspersonnel/getPersonnelById/{personnelId}")
    Map<String, Object> getPersonnelById(@PathVariable("personnelId") BigDecimal personnelId);
    //    模糊查询人员信息
    @PostMapping(value = "/api/v1/rms/rmspersonnel/getPersonnelList")
    Map<String, Object> getPersonnelList(@RequestBody(required = false) Map<String,Object> mapVal,
                                         @RequestParam("apiId")Integer apiId,
                                         @RequestParam("pageNum") Integer pageNum,
                                         @RequestParam("pageSize") Integer pageSize,
                                         @RequestParam("con") String con);


    //获得托运人列表
    @PostMapping(value = "api/v1/rms/rmsshipper/getShipperList")
    Map<String,Object>   getShipperList (@RequestBody(required = false) Map<String,Object> mapValue,
                                         @RequestParam("apiId") Integer apiId,
                                         @RequestParam("pageNum") Integer pageNum,
                                         @RequestParam("pageSize") Integer pageSize,
                                         @RequestParam String con);
    //新增托运人信息
    @PostMapping(value = "api/v1/rms/rmsshipper/insertShipper")
    Map<String, Object> insertShipper(@RequestBody(required = false) Map<String, Object> map);
    //删除托运人
    @PostMapping(value = "api/v1/rms/rmsshipper/deleteShipper/{id}")
    Map<String, Object> deleteShipper(@PathVariable("id") BigDecimal id);
    //修改托运人信息
    @PostMapping(value = "api/v1/rms/rmsshipper/updateShipper")
    Map<String, Object> updateShipper(@RequestBody(required = false) Map<String, Object> map);
    //根据id获取托运人信息
    @PostMapping(value = "api/v1/rms/rmsshipper/getShipperById/{id}")
    Map<String, Object> getShipperById(@PathVariable("id") BigDecimal id);

    //展示供应商列表
    @PostMapping(value = "api/v1/rms/rmssupplier/getSupplierList")
    Map<String,Object>   getSupplierList (@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/rms/rmssupplier/insertSupplier")
    Map<String, Object> insertSupplier(@RequestBody(required = false) Map<String, Object> map);
    //删除供应商
    @PostMapping(value = "api/v1/rms/rmssupplier/deleteSupplier/{id}")
    Map<String, Object> deleteSupplier(@PathVariable("id") BigDecimal id);
    //    更新供应商信息
    @PostMapping(value = "api/v1/rms/rmssupplier/updateSupplier")
    Map<String, Object> updateSupplier(@RequestBody(required = false) Map<String, Object> map);
    //    根据id获取供应商信息
    @PostMapping(value = "api/v1/rms/rmssupplier/getSupplierById/{id}")
    Map<String, Object> getSupplierById(@PathVariable("id") BigDecimal id);

    //新增运力
    @PostMapping(value = "api/v1/rms/rmscapacity/insertCapacity")
    Map<String, Object> insertCapacity(@RequestBody(required = false) Map<String, Object> map);
    //删除运力
    @PostMapping(value = "api/v1/rms/rmscapacity/deleteCapacity/{id}")
    Map<String, Object> deleteCapacity(@PathVariable("id") BigDecimal id);
    //修改运力
    @PostMapping(value = "api/v1/rms/rmscapacity/updateCapacity")
    Map<String, Object> updateCapacity(Map<String, Object> map);


    //模糊查询运力
    @PostMapping(value = "/api/v1/rms/rmscapacity/getCapacityList")
    Map<String, Object> getCapacityList(@RequestBody(required = false) Map<String, Object> mapValue,
                                        @RequestParam Integer pageNum,
                                        @RequestParam Integer pageSize,
                                        @RequestParam Integer apiId,
                                        @RequestParam String con);

    //根据id获取运力详细信息
    @PostMapping(value = "api/v1/rms/rmscapacity/getCapacityById/{id}")
    Map<String,Object> getCapacityById(@PathVariable("id") BigDecimal id);

    //新增汽车衡
    @PostMapping(value = "api/v1/rms/rmstruckcalculate/insertTruckCalculate")
    Map<String, Object> insertTruckCalculate(@RequestBody(required = false) Map<String, Object> map);

    //新增汽车衡下的物资
    @PostMapping(value = "api/v1/rms/rmstruckcalculate/insertTruckCalculateOfMaterial")
    Map<String, Object> insertTruckCalculateOfMaterial(@RequestBody(required = false) Map<String, Object> map);
    //更新汽车衡
    @PostMapping(value = "api/v1/rms/rmstruckcalculate/updateTruckCalculate")
    Map<String, Object> updateTruckCalculate(@RequestBody Map<String, Object> map);
    //根据id查询汽车衡
    @PostMapping(value = "api/v1/rms/rmstruckcalculate/getTruckCalculateById/{id}")

    Map<String, Object> getTruckCalculateById(@PathVariable("id") BigDecimal id);


    //根据id删除汽车衡
    @PostMapping(value = "api/v1/rms/rmstruckcalculate/deleteTruckCalculate/{id}")
    Map<String, Object> deleteTruckCalculate(@PathVariable("id") BigDecimal id);

    //根据id删除汽车衡与物资中间表
    @PostMapping(value = "api/v1/rms/rmstruckcalculate/deleteTruckCalculateMaterial/{id}")
    Map<String, Object> deleteTruckCalculateMaterial(@PathVariable("id") BigDecimal id);
    //模糊查询汽车衡
    @PostMapping(value = "api/v1/rms/rmstruckcalculate/getTruckCalculateList")
    Map<String, Object> getTruckCalculateList(@RequestBody(required = false) Map<String, Object> mapValue,
                                              @RequestParam Integer pageNum,
                                              @RequestParam Integer pageSize,
                                              @RequestParam Integer apiId,
                                              @RequestParam String con);
    //汽车衡物资展示表
    @PostMapping(value = "api/v1/rms/rmstruckcalculate/getCalculateOfMaterialList")
    Map<String, Object> getCalculateOfMaterialList(@RequestBody(required = false) Map<String, Object> mapValue,
                                                   @RequestParam Integer pageNum,
                                                   @RequestParam Integer pageSize,
                                                   @RequestParam Integer apiId,
                                                   @RequestParam BigDecimal truckCalculateId);

    //新增仓库
    @PostMapping(value = "api/v1/rms/rmswarehouse/insertWarehouse")
    Map<String, Object> insertWarehouse(@RequestBody(required = false) Map<String, Object> map);
    //删除仓库
    @PostMapping(value = "api/v1/rms/rmswarehouse/deleteWarehouse/{id}")
    Map<String, Object> deleteWarehouse(@PathVariable("id") BigDecimal id);
    //修改仓库
    @PostMapping(value="api/v1/rms/rmswarehouse/updateWarehouse")
    Map<String, Object> updateWarehouse(Map<String, Object> map);
    //根据id获取原料仓库详细信息

    @PostMapping(value = "api/v1/rms/rmswarehouse/getWarehouseById/{id}")
    Map<String, Object> getWarehouseById(@PathVariable("id") BigDecimal id);

    //模糊查询原料仓库
    @PostMapping(value = "api/v1/rms/rmswarehouse/getWarehouseList")
    Map<String, Object> getWarehouseList(@RequestBody(required = false) Map<String, Object> mapValue,
                                         @RequestParam Integer pageNum,
                                         @RequestParam Integer pageSize,
                                         @RequestParam Integer apiId,
                                         @RequestParam String con);

    //获取司机排队信息
    @PostMapping(value = "api/v1/rms/rmsdrivercapacity/getDriverCapacityList")
    Map<String, Object> getDriverCapacityList(@RequestBody(required = false) Map<String, Object> mapValue,
                                              @RequestParam("apiId") Integer apiId,
                                              @RequestParam("pageNum") Integer pageNum,
                                              @RequestParam("pageSize") Integer pageSize);

    //新增司机排队信息
    @PostMapping(value = "api/v1/rms/rmsdrivercapacity/insertDriverCapacity")
    Map<String, Object> insertDriverCapacity(@RequestBody(required = false) Map<String, Object> map);

    //更新司机排队信息
    @PostMapping(value = "api/v1/rms/rmsdrivercapacity/updateDriverCapacity")
    Map<String, Object> updateDriverCapacity(@RequestBody(required = false) Map<String, Object> map);

    //删除司机排队信息
    @PostMapping(value = "api/v1/rms/rmsdrivercapacity/deleteDriverCapacity/{id}")
    Map<String, Object> deleteDriverCapacity(@PathVariable("id") BigDecimal id);

    //根据id获取司机排队信息
    @PostMapping(value = "api/v1/rms/rmsdrivercapacity/getDriverCapacityById/{id}")
    Map<String, Object> getDriverCapacityById(@PathVariable("id") BigDecimal id);


    //获取门岗信息列表
    @PostMapping(value = "api/v1/rms/rmsgatepost/getGatepostList")
    Map<String,Object>     getGatepostList(@RequestBody(required = false) Map<String,Object> mapValue,
                                           @RequestParam("apiId") Integer apiId,
                                           @RequestParam("pageNum") Integer pageNum,
                                           @RequestParam("pageSize") Integer pageSize,
                                           @RequestParam String con);
    //新增门岗
    @PostMapping(value = "api/v1/rms/rmsgatepost/insertGatepost")
    Map<String,Object> insertGatepost(@RequestBody(required = false) Map<String,Object> map);
    //删除门岗
    @PostMapping(value = "api/v1/rms/rmsgatepost/deleteGatepost/{id}")
    Map<String, Object> deleteGatepost(@PathVariable("id") BigDecimal id);
    //    更新门岗信息
    @PostMapping(value = "api/v1/rms/rmsgatepost/updateGatepost")
    Map<String, Object> updateGatepost(@RequestBody(required = false) Map<String, Object> map);
    //    根据id获取门岗信息
    @PostMapping(value = "api/v1/rms/rmsgatepost/getGatepostById/{id}")
    Map<String, Object> getGatepostById(@PathVariable("id") BigDecimal id);
    //    根据id获取门岗规则信息
    @PostMapping(value = "api/v1/rms/rmsgatepost/getGatepostRulesById/{id}")
    Map<String, Object> getGatepostRulesById(@PathVariable("id") BigDecimal id,@RequestParam("apiId") Integer apiId);
    //    展示门岗规则信息
    @PostMapping(value = "api/v1/rms/rmsgatepost/getGatepostRulesList")
    Map<String, Object> getGatepostRulesList(@RequestBody(required = false) Map<String,Object> mapValue,
                                             @RequestParam("apiId") Integer apiId,
                                             @RequestParam("pageNum") Integer pageNum,
                                             @RequestParam("pageSize") Integer pageSize,
                                             @RequestParam String con);

    //    根据规则Id删除规则
    @PostMapping(value ="api/v1/rms/rmsgatepost/deleteGatepostRules/{rulesId}")
    Map<String, Object> deleteGatepostRules(@RequestParam("rulesId") BigDecimal rulesId);
    //    新增门岗规则
    @PostMapping(value ="api/v1/rms/rmsgatepost/insertGatepostRule")
    Map<String, Object> insertGatepostRule(@RequestBody(required = false) Map<String, Object> mapValue);
    //    根据门岗id获取门岗名
    @PostMapping(value ="api/v1/rms/rmsgatepost/getGatepostName/{gatepostId}")
    Map<String,Object> getGatepostName(@PathVariable("gatepostId")BigDecimal gatepostId);

    //获取物资种类
    @PostMapping(value = "api/v1/rms/rmsmaterialtype/getMaterialTypeList")
    Map<String, Object> getMaterialTypeList(@RequestBody(required = false) Map<String, Object> mapValue,
                                            @RequestParam Integer pageNum,
                                            @RequestParam Integer pageSize,
                                            @RequestParam Integer apiId,
                                            @RequestParam String con);


    //******************************************下拉框*******************************
    @GetMapping(value = "api/v1/rms/rmscapacity/getCapacityTypeId")
    Map<String, Object> getCapacityTypeId();

    @GetMapping(value = "api/v1/rms/rmswarehouse/getWarehouseTypeId" )
    Map<String, Object> getWarehouseTypeId();

    @GetMapping(value= "api/v1/rms/rmswarehouse/getPortId")
    Map<String, Object> getPortId();

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


    //******************************************下拉框*******************************
//    根据id下拉获取运力列表
    @GetMapping(value = "/api/v1/rms/rmscapacity/getCapacityId")
    Map<String, Object> getCapacityId();
    //    根据id下拉框获取原料类型
    @GetMapping(value = "api/v1/rms/rmsmaterial/getMaterialTypeId")
    Map<String, Object> getMaterialTypeId();
    //    根据id下拉框获取计量类型
    @GetMapping(value = "api/v1/rms/rmsmaterial/getUnitOfMeasureId")
    Map<String, Object> getUnitOfMeasureId();
    //    根据id下拉框获取托运人
    @GetMapping(value = "api/v1/rms/rmspersonnel/getShipperId")
    Map<String, Object> getShipperId();

    //获取司机下拉框
    @GetMapping(value = "api/v1/rms/rmsdrivercapacity/getDriverId")
    Map<String, Object> getDriverId();

    //    根据id下拉框获取门岗规则
    @GetMapping(value = "api/v1/rms/rmsgatepost/getShipperId")
    Map<String, Object> getGatepostRulesId();

    //运输类型下拉框
    @GetMapping(value = "api/v1/rms/rmscardriver/getTransportTypeId")
    Map<String,Object> getTransportTypeId();
    //    根据id下拉框获取车辆类型
    @GetMapping(value = "api/v1/rms/rmsgatepost/getVehicleTypeId")
    Map<String,Object> getVehicleTypeId();



    @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/rms/dilnotices/insertNotice")
    Map<String,Object> insertNotice(@RequestBody(required = false) Map<String,Object> map);

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

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

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


    //油价
    @PostMapping(value = "/api/v1/rms/rmsoilprice/getOilPriceResultList")
    Map<String, Object> getOilPriceResultList(@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/rms/rmsoilprice/insertOilPrice")
    Map<String,Object> insertOilPrice(@RequestBody(required = false) Map<String,Object> map);

    //删除油价
    @PostMapping(value = "api/v1/rms/rmsoilprice/deleteOilPrice/{id}")
    Map<String, Object> deleteOilPrice(@PathVariable("id") BigDecimal id);

    //更新油价
    @PostMapping(value = "api/v1/rms/rmsoilprice/updateOilPrice")
    Map<String, Object> updateOilPrice(@RequestBody(required = false) Map<String, Object> map);

    //根据id获取油价
    @PostMapping(value = "api/v1/rms/rmsoilprice/getOilPriceById/{id}")
    Map<String, Object> getOilPriceById(@PathVariable("id") BigDecimal id);

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


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

  //展示收货客户信息
  @PostMapping(value = "/api/v1/rms/rmsconsignee/getConsigneeList")
  Map<String, Object> getConsigneeList(@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/rms/rmsconsignee/insertConsignee")
    Map<String, Object> insertConsignee(@RequestBody(required = false) Map<String, Object> map);
    //删除收货客户信息
    @PostMapping(value = "/api/v1/rms/rmsconsignee/deleteConsignee/{id}")
    Map<String, Object> deleteConsignee(@PathVariable("id") BigDecimal id);
    //修改收货客户信息
    @PostMapping(value = "/api/v1/rms/rmsconsignee/updateConsignee")
    Map<String, Object> updateConsignee(Map<String, Object> map);

    //根据id获取收货客户信息详细信息
    @PostMapping(value = "/api/v1/rms/rmsconsignee/getConsigneeById/{id}")
    Map<String,Object> getConsigneeById(@PathVariable("id") BigDecimal id);



    //边输入边搜索承运商
    @PostMapping(value = "/api/v1/rms/rmscardriver/getCarrierName")
    Map<String, Object> getCarrierName(@RequestParam(value = "state")String state);


    //港口
    @PostMapping(value = "api/v1/rms/rmsPort/insertPort")
    Map<String,Object> insertPort(@RequestBody(required = false) Map<String,Object> map);

    //删除港口
    @PostMapping(value = "api/v1/rms/rmsPort//deletePort/{portId}")
    Map<String, Object> deletePort(@PathVariable("portId") BigDecimal portId);

    //删除码头
    @PostMapping(value = "api/v1/rms/rmsPier//deletePier/{pierId}")
    Map<String, Object> deletePier(@PathVariable("pierId") BigDecimal pierId);

    @PostMapping(value = "/api/v1/rms/rmsPort/getPort")
    Map<String, Object> getPortList(@RequestBody(required = false) Map<String , Object> mapVal,
                                    @RequestParam Integer apiId,
                                    @RequestParam Integer pageNum,
                                    @RequestParam Integer pageSize,
                                    @RequestParam String con);

    @PostMapping(value = "/api/v1/rms/rmsPier/getPier")
    Map<String, Object> getPierList(@RequestBody(required = false) Map<String, Object> mapVal,
                                    @RequestParam Integer apiId,
                                    @RequestParam Integer pageNum,
                                    @RequestParam Integer pageSize,
                                    @RequestParam String con);

    @PostMapping(value = "/api/v1/rms/rmsPortYard/getPortYard")
    Map<String, Object> getPortYardList(@RequestBody(required = false) Map<String, Object> mapVal,
                                        @RequestParam Integer apiId,
                                        @RequestParam Integer pageNum,
                                        @RequestParam Integer pageSize,
                                        @RequestParam String con);

    @GetMapping(value = "api/v1/rms/rmsPort/getPortType")
    Map<String, Object> getPortType();


    @PostMapping(value = "api/v1/rms/rmsPier/insertPier")
    Map<String, Object> insertPier(@RequestBody(required = false) Map<String, Object> map);

    @PostMapping(value = "api/v1/rms/rmsPortYard/insertPortYard")
    Map<String, Object> insertPortYard(@RequestBody(required = false) Map<String, Object> map);

    //删除港存堆场
    @PostMapping(value = "api/v1/rms/rmsPortYard/deletePortYard/{warehouseId}")
    Map<String, Object> deletePortYard(@PathVariable("warehouseId") BigDecimal warehouseId);

    //上传图片
    @PostMapping(value = "api/v1/rms/rmscardriver/upload")
    Map<String,Object> upLoadPhoto(@RequestParam("file") MultipartFile file);
}