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

import java.util.List;

import com.prolog.rdc.tms.app.model.dto.PendingDeliveryTaskQueryDTO;
import com.prolog.rdc.tms.app.model.vo.PendingDeliveryAbnormalReportVO;
import com.prolog.rdc.tms.app.model.vo.PendingDeliveryConfirmVO;
import com.prolog.rdc.tms.app.model.vo.PendingDeliverySignInVO;
import com.prolog.rdc.tms.app.model.vo.PendingDeliveryTaskQueryVO;
import com.prolog.rdc.tms.app.model.vo.ShipbillServiceEvaluationVO;

/**
 *
 * 司机APP-待配送服务层
 *
 * @className :PendingDeliveryService
 * @author :qian.yh
 * @date :2022/7/7
 * @description :
 * @version :1.0.0
 */
public interface PendingDeliveryService {

	// 配送任务查询
	List<PendingDeliveryTaskQueryDTO> pendingDeliveryTaskQuery(PendingDeliveryTaskQueryVO pendingDeliveryTaskQueryVO) throws Exception;

	/**
	 * 待送达收货方模式
	 * @param pendingDeliveryTaskQueryVO
	 * @return
	 */
	List<PendingDeliveryTaskQueryDTO> pendingDeliveryTaskQueryGroupByConsignee(PendingDeliveryTaskQueryVO pendingDeliveryTaskQueryVO);

	// 配送签到
	void pendingDeliverySignIn(PendingDeliverySignInVO pendingDeliverySignInVO);

	// 送达确认
	void pendingDeliveryConfirm(PendingDeliveryConfirmVO pendingDeliveryConfirmVO) throws Exception;

	// 异常上报
	void pendingDeliveryAbnormalReport(PendingDeliveryAbnormalReportVO pendingDeliveryAbnormalReportVO) throws Exception;

	// 服务评价
	void shipbillServiceEvaluation(ShipbillServiceEvaluationVO shipbillServiceEvaluationVO) throws Exception;
}
