package com.ruoyi.quotation.mapper;

import com.ruoyi.quotation.domain.TSeaprice;
import com.ruoyi.quotation.domain.TSeapriceitem;

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

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

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

    /**
     * 新增海运价主
     * 
     * @param tSeaprice 海运价主
     * @return 结果
     */
    public int insertTSeaprice(TSeaprice tSeaprice);

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

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

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

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

    /**
     * 校验是否存在相同规则
     * @param seaprice  条件
     * @return  结果
     */
    public int checkSeapriceByValiddate(TSeaprice seaprice);

    /**
     *  获取明细费用合计
     * @param tSeaprice 条件
     * @return  结果
     */
    public BigDecimal selectSeapriceItemAmt(TSeaprice tSeaprice);

    /**
     *  查询计算的费用明细
     * @param tSeaprice 条件
     * @return  结果
     */
    public List<Map<String, Object>> selectSeapriceItem(TSeaprice tSeaprice);

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