package com.prolog.rdc.tms.service;

import com.prolog.framework.core.pojo.Page;
import com.prolog.rdc.tms.model.dto.WholeCarDeliveryItemDTO;
import com.prolog.rdc.tms.model.dto.WholeCarDeliveryPackDTO;
import com.prolog.rdc.tms.model.dto.WholeCarDeliveryPageDTO;
import com.prolog.rdc.tms.model.dto.WholeCarDeliveryShibillDTO;
import com.prolog.rdc.tms.model.vo.*;

/**
 * 整车直发服务层
 *
 * Company: 湖北普罗格科技股份有限公司
 *
 * @author xyf
 * @since 2022/6/8 10:45
 */
public interface WholeCarDeliveryService {

    /**
     * 派车单分页查询
     *
     * @param vo
     * @return
     */
    Page<WholeCarDeliveryPageDTO> queryLoadingbill(WholeCarDeliveryQueryVO vo) throws Exception;

    /**
     * 派车单高级查询
     *
     * @param vo
     * @return
     */
    Page<WholeCarDeliveryPageDTO> advancedQueryLoadingbillData(WholeCarDeliveryadvancedQueryVO vo);


    /**
     * 配载运单查询
     *
     * @param
     * @return
     */
    Page<WholeCarDeliveryShibillDTO> queryShipbill(Integer pageNum,Integer pageSize,String loadingBillId) throws Exception;

    /**
     * 配载商品查询
     *
     * @param
     * @return
     */
    Page<WholeCarDeliveryItemDTO> queryItem(WholeCarDeliveryItemQueryVO vo) throws Exception;

    /**
     * 配载包裹查询
     *
     * @param
     * @return
     */
    Page<WholeCarDeliveryPackDTO> queryPack(WholeCarDeliveryPackQueryVO vo) throws Exception;

    /**
     * 派车单启运登记
     *
     * @param
     * @return
     */
    void loadingStartShipRegister(StartShipRegisterVO vo) throws Exception;

    /**
     * 派车单送达确认
     *
     * @param
     * @return
     */
    void loadingDeliveryConfirm(DeliveryConfirmVO vo) throws Exception;

    /**
     * 派车单客服反馈
     *
     * @param
     * @return
     */
    void loadingFeedback(WholeCarFeedbackVO vo) throws Exception;

    /**
     * 派车单异常登记
     *
     * @param
     * @return
     */
    void loadingAbnormalRegister(WholeCarAbnormalRegisterVO vo) throws Exception;

}
