package com.prolog.rdc.tms.dao.mapper;

import com.prolog.framework.dao.mapper.BaseMapper;
import com.prolog.rdc.tms.model.dto.carrier.reconciliation.CarrierReconciliationFeeDetailDTO;
import com.prolog.rdc.tms.model.dto.carrier.reconciliation.CarrierReconciliationShipBillDTO;
import com.prolog.rdc.tms.model.dto.carrier.settlement.CarrierSettlementFeeDetailDTO;
import com.prolog.rdc.tms.model.dto.pay.BmsLoadingBillPayFeeDTO;
import com.prolog.rdc.tms.model.dto.pay.BmsShipBillPayFeeDTO;
import com.prolog.rdc.tms.model.entity.BmsBillPayFeeHeaderModel;
import com.prolog.rdc.tms.model.vo.carrier.reconciliation.CarrierReconciliationQueryVO;
import com.prolog.rdc.tms.model.vo.carrier.settlement.CarrierSettlementQueryVO;
import com.prolog.rdc.tms.model.vo.carrier.settlement.CarrierSettlementVO;
import com.prolog.rdc.tms.model.vo.pay.BmsPayQueryVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface BmsBillPayFeeHeaderMapper extends BaseMapper<BmsBillPayFeeHeaderModel> {


    /**
     * findShipBillFee
     * @param vo
     * @return
     */
    List<BmsShipBillPayFeeDTO> findShipBillFee(@Param("vo") BmsPayQueryVO vo);

    /**
     * findLoadingBillFee
     * @param vo
     * @return
     */
    List<BmsLoadingBillPayFeeDTO> findLoadingBillFee(@Param("vo") BmsPayQueryVO vo);

    /**
     * findReconciliationShipBill
     * @param vo
     * @return
     */
    List<CarrierReconciliationShipBillDTO> findReconciliationShipBill(@Param("vo") CarrierReconciliationQueryVO vo);


    /**
     * findReconciliationFeeDetail
     * @param vo
     * @return
     */
    List<CarrierReconciliationFeeDetailDTO> findReconciliationFeeDetail(@Param("vo") CarrierReconciliationQueryVO vo);

    /**
     * findSettlementFeeDetail
     * @param vo
     * @return
     */
    List<CarrierSettlementFeeDetailDTO> findSettlementFeeDetail(@Param("vo") CarrierSettlementQueryVO vo);

}
