package com.prolog.rdc.tms.app.service.business;

import com.prolog.framework.core.pojo.Page;
import com.prolog.rdc.tms.app.model.dto.business.AppointmentQueryDTO;
import com.prolog.rdc.tms.app.model.dto.business.PickUpAppointmentDTO;
import com.prolog.rdc.tms.app.model.vo.business.AppointmentShipbillQueryVO;
import com.prolog.rdc.tms.app.model.vo.business.BusinessAppointmentQueryVO;
import com.prolog.rdc.tms.app.model.vo.business.PickUpAppointmentConfirmVO;
import com.prolog.rdc.tms.app.model.vo.business.PickUpAppointmentVO;

/**
 * 运输管理-待预约服务层
 *
 * @author lhb
 * @since 2022-04-11 14:45:00
 */
public interface AppointmentService {

	/**
	 * 待预约运单模式查询
	 *
	 * @param appointmentQueryVO
	 * @return
	 */
	Page<AppointmentQueryDTO> queryAppointmentShipbill(BusinessAppointmentQueryVO appointmentQueryVO);

	/**
	 * 待预约派车单模式查询
	 *
	 * @param appointmentQueryVO
	 * @return
	 */
	Page<AppointmentQueryDTO> queryAppointmentLoadBill(BusinessAppointmentQueryVO appointmentQueryVO);

	/**
	 * 提货预约
	 *
	 * @param appointmentVO
	 * @return
	 */
	PickUpAppointmentDTO pickUpAppointmentQuery(PickUpAppointmentVO appointmentVO)throws Exception;

	/**
	 * 提货预约确认
	 *
	 * @param confirmVO
	 * @return
	 */
	void pickUpAppointmentConfirm(PickUpAppointmentConfirmVO confirmVO) throws Exception;

	// STD-DEVELOP20220823 lhb 预约运单详情 20220831 start
	/**
	 * 预约运单详情查询
	 *
	 * @param appointmentQueryVO
	 * @return
	 */
	Page<AppointmentQueryDTO> queryShipbillInfo(AppointmentShipbillQueryVO appointmentQueryVO);
	// STD-DEVELOP20220823 lhb 预约运单详情 20220831 end
}
