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

import com.prolog.framework.core.pojo.Page;
import com.prolog.product.core.framework.entity.UserEntity;
import com.prolog.rdc.tms.app.model.dto.business.DispatchCheckQueryDTO;
import com.prolog.rdc.tms.app.model.dto.business.TrailerQueryDTO;
import com.prolog.rdc.tms.app.model.vo.business.ShipbillQueryVO;
import com.prolog.rdc.tms.app.model.vo.business.TrailerDeleteDetailVO;
import com.prolog.rdc.tms.app.model.vo.business.TrailerQueryVO;

import java.util.Date;
import java.util.List;

/**
 * 已托运服务层
 *
 * Company: 湖北普罗格科技股份有限公司
 *
 * @author zhangsj
 * @since 2022/4/18 12:43
 */
public interface TrailerService {

	/**
	 * 已托运查询
	 * 
	 * @param trailerQueryVO
	 * @return
	 */
	Page<TrailerQueryDTO> loadingBillQuery(TrailerQueryVO trailerQueryVO);

	/**
	 * 已托运审核
	 * 
	 * @param ids
	 */
	void trailerAuditData(List<String> ids);

	/**
	 * 自动已托运审核
	 *
	 * @param ids
	 */
	void autoTrailerAuditData(List<String> ids, UserEntity user, Date date);

	/**
	 * 运单查询
	 *
	 * @param shipbillQueryVO
	 */
	Page<DispatchCheckQueryDTO> shipbillQuery(ShipbillQueryVO shipbillQueryVO);

	/**
	 * 已托运运单撤销
	 * 
	 * @param ids
	 */
	void trailerUndoData(List<String> ids);

	/**
	 * 已托运配载运单剔除
	 *
	 * @param trailerDeleteDetailVO
	 */
	void deleteDetailTrailerData(TrailerDeleteDetailVO trailerDeleteDetailVO);

}
