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

import com.prolog.rdc.tms.app.model.dto.ScanDispatchBillDTO;
import com.prolog.rdc.tms.app.model.dto.business.ScanDispatchOrderInfoDTO;
import com.prolog.rdc.tms.app.model.dto.business.ScanDispatchShipbillInfoDTO;
import com.prolog.rdc.tms.app.model.vo.BillScanVO;
import com.prolog.rdc.tms.app.model.vo.ScanShipbillDetailConfirmVO;
import com.prolog.rdc.tms.app.model.vo.business.PendingDispatchVO;

import java.util.List;

/**
 * 扫描派车服务层
 *
 * @author lhb
 * @since 2022-04-26 14:45:00
 */
public interface ScanDispatchService {

	/**
	 * 单号扫描
	 *
	 * @param vo
	 * @return
	 */
	ScanDispatchBillDTO scanBill(BillScanVO vo);

	ScanDispatchOrderInfoDTO getScanDispatchInfo(BillScanVO vo);

	ScanDispatchShipbillInfoDTO getScanShipbillDetailInfo(BillScanVO vo);

	ScanDispatchShipbillInfoDTO getScanShipbillInfo(BillScanVO vo);

	void scanShipbillConfirm(List<ScanShipbillDetailConfirmVO> vos);

	/**
	 * 扫描派车调度
	 *
	 * @param vo
	 * @return
	 */
	void dispatch(PendingDispatchVO vo);

	void shipBillOut(BillScanVO vo);

}
