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

import com.prolog.framework.dao.mapper.BaseMapper;
import com.prolog.rdc.tms.model.dto.ArCloseAccountBillDTO;
import com.prolog.rdc.tms.model.dto.DriverledgerBillDTO;
import com.prolog.rdc.tms.model.entity.BmsLoadingBillHeaderModel;
import com.prolog.rdc.tms.model.vo.ArFeeSettlementPageVO;
import com.prolog.rdc.tms.model.vo.DriverledgerBillPageVO;
import com.prolog.rdc.tms.model.vo.DriverledgerBillViewVO;
import com.prolog.rdc.tms.model.vo.settlement.driver.DriverFeeSettlementPageVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 *
 * 派车单Mapper
 *
 * @className    :LoadingBillHeadMapper
 * @author       :fanzw
 * @date         :2023/4/25
 * @description  :
 *
 * @version      :1.2.1
 *
 */
@Mapper
public interface LoadingBillHeadMapper extends BaseMapper<BmsLoadingBillHeaderModel> {

    /**
     * 司机台账查询
     *
     * @param driverledgerBillPageVO
     * @return
     */
    List<DriverledgerBillDTO> pageDriverledgerBillSql(@Param("vo") DriverledgerBillPageVO driverledgerBillPageVO);

    /**
     * 司机台账查看
     *
     * @param driverledgerBillViewVO
     * @return
     */
    List<DriverledgerBillDTO> viewDriverledgerBillSql(@Param("vo") DriverledgerBillViewVO driverledgerBillViewVO);

    /**
     * 司机结算派车单台账查询
     *
     * @param vo
     * @return
     */
    List<DriverledgerBillDTO> pageForDriverSettlement(@Param("vo") DriverFeeSettlementPageVO vo);

    /**
     * 应收结算派车单台账查询
     *
     * @param vo
     * @return
     */
    List<ArCloseAccountBillDTO> pageForArSettlement(@Param("vo") ArFeeSettlementPageVO vo);

    /**
     * 司机的费用查询
     *
     * @param driverledgerBillPageVO
     * @return
     */
    List<DriverledgerBillDTO> queryDriverFeeByBillNos(@Param("vo") DriverledgerBillPageVO driverledgerBillPageVO);

}
