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

import java.util.List;

import com.prolog.rdc.tms.app.model.dto.WaitDeliveredQueryByShipbillDTO;
import com.prolog.rdc.tms.app.model.vo.WaitDeliveredQueryByShipbillVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.prolog.framework.dao.mapper.BaseMapper;
import com.prolog.rdc.tms.app.model.dto.DispatchOrderQueryDTO;
import com.prolog.rdc.tms.app.model.dto.business.QueryTypeByReceiverDTO;
import com.prolog.rdc.tms.app.model.dto.business.WaitPickUpGoodsQueryByShipbillDTO;
import com.prolog.rdc.tms.app.model.entity.TmsLoadingBillHeaderModel;
import com.prolog.rdc.tms.app.model.vo.DispatchOrderQueryVO;
import com.prolog.rdc.tms.app.model.vo.business.QueryTypeByReceiverVO;
import com.prolog.rdc.tms.app.model.vo.business.WaitPickUpGoodsQueryByShipbillVO;

/**
 * 装车单汇总表数据库访问层
 *
 * @author qian.yh
 * @since 2022-04-13 14:13:36
 */
@Repository
public interface TmsLoadingBillHeaderMapper extends BaseMapper<TmsLoadingBillHeaderModel> {
	/**
	 * 装车单明细查询
	 *
	 * @param vo
	 * @return
	 */
	List<DispatchOrderQueryDTO> dispatchOrderQuery(@Param("vo") DispatchOrderQueryVO vo);

	/**
	 * 待提货-运单模式查询
	 * 
	 * @param waitPickUpGoodsQueryByShipbillVO
	 * @return
	 */
	List<WaitPickUpGoodsQueryByShipbillDTO> waitPickUpGoodsQueryByShipbillPage(@Param("vo") WaitPickUpGoodsQueryByShipbillVO waitPickUpGoodsQueryByShipbillVO);

	/**
	 * 运单模式查询
	 * 
	 * @param queryTypeByShipbillVO
	 * @return
	 */
	// List<QueryTypeByShipbillDTO> queryTypeByShipbillPage(@Param("vo")
	// QueryTypeByShipbillVO queryTypeByShipbillVO);

	/**
	 * 收货方模式查询
	 * 
	 * @param queryTypeByReceiverVO
	 * @return
	 */
	List<QueryTypeByReceiverDTO> queryTypeByReceiverPage(@Param("vo") QueryTypeByReceiverVO queryTypeByReceiverVO);

	/**
	 * 待送达-运单模式查询
	 *
	 * @param waitDeliveredQueryByShipbillVO
	 * @return
	 */
	List<WaitDeliveredQueryByShipbillDTO> waitDeliveredQueryByShipbillPage(@Param("vo") WaitDeliveredQueryByShipbillVO waitDeliveredQueryByShipbillVO);


}
