package com.ruoyi.quotation.service;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.quotation.domain.TSeaprice;

import java.util.List;
import java.util.Map;

/**
 * 海运价主Service接口
 * 
 * @author ruoyi
 * @date 2021-06-01
 */
public interface ITSeapriceService 
{
    /**
     * 查询海运价主
     * 
     * @param fId 海运价主ID
     * @return 海运价主
     */
    public AjaxResult selectTSeapriceById(Long fId);

    /**
     * 查询海运价主列表
     * 
     * @param tSeaprice 海运价主
     * @return 海运价主集合
     */
    public List<TSeaprice> selectTSeapriceList(TSeaprice tSeaprice);

    /**
     * 保存海运价主
     *
     * @param tSeaprice 海运价主
     * @return 结果
     */
    public AjaxResult saveTSeaprice(String tSeaprice, String tSeapriceItem, String tSeapriceFlees);

    /**
     * 新增海运价主
     *
     * @param tSeaprice 海运价主
     * @return 结果
     */
    public AjaxResult insertTSeaprice(String tSeaprice, String tSeapriceItem, String tSeapriceFlees);

    /**
     * 修改海运价主
     * 
     * @param tSeaprice 海运价主
     * @return 结果
     */
    public int updateTSeaprice(TSeaprice tSeaprice);

    /**
     * 批量删除海运价主
     * 
     * @param fIds 需要删除的海运价主ID
     * @return 结果
     */
    public AjaxResult deleteTSeapriceByIds(Long[] fIds);

    /**
     * 删除海运价主信息
     * 
     * @param fId 海运价主ID
     * @return 结果
     */
    public int deleteTSeapriceById(Long fId);

    /**
     *  查询海运报价列表信息
     * @param tSeaprice 条件
     * @return  结果
     */
    public List<Map<String, Object>> selectTSeapriceMapList(TSeaprice tSeaprice);

    /**
     *  查询海运报价列表信息
     * @param tSeaprice 条件
     * @return  结果
     */
    public List<Map<String, Object>> selectTSeapriceMapListApp(TSeaprice tSeaprice);

    /**
     * 计算海运费
     */
    public AjaxResult calculateOceanFreight(TSeaprice tSeaprice);

    /**
     * 动态查询海运费、汇率
     * @param tSeaprice 条件
     * @return  结果
     */
    public AjaxResult changeSelectShippingFee(TSeaprice tSeaprice);

    /**
     *  查询所需基础资料
     * @return
     */
    public AjaxResult getAppBasicInformation();
}
