package com.prolog.rdc.tms.service;

import java.util.List;

import com.prolog.product.core.framework.entity.UserEntity;
import com.prolog.rdc.tms.model.dto.ShipbillNodeTrackingDTO;
import com.prolog.rdc.tms.model.vo.ShipbillNodeTrackingListVO;
import com.prolog.rdc.tms.model.vo.ShipbillNodeTrackingRollbackVO;
import com.prolog.rdc.tms.model.vo.ShipbillNodeTrackingSaveNewVO;
import com.prolog.rdc.tms.model.vo.ShipbillNodeTrackingSaveVO;

/**
 * 运单节点跟踪服务层
 *
 * @author zhangsj
 * @since 2022-03-31 14:49:08
 */
public interface ShipbillNodeTrackingService {

	/**
	 * 运单节点查看
	 * 
	 * @param shipbillNodeTrackingListVO
	 * @return
	 */
	List<ShipbillNodeTrackingDTO> listShipbillNodeTrackingData(ShipbillNodeTrackingListVO shipbillNodeTrackingListVO);

	/**
	 * 运单节点新增
	 * 
	 * @param vo
	 */
	void addShipbillNodeTrackingData(ShipbillNodeTrackingSaveVO vo, UserEntity user);
	void addShipbillNodeTrackingData(ShipbillNodeTrackingSaveVO vo);

	/**
	 * 运单节点新增(新)
	 *
	 * @param vo
	 */
	void addShipbillNodeTrackingNewData(ShipbillNodeTrackingSaveNewVO vo);

	/**
	 * 运单节点回退
	 *
	 * @param vo
	 */
	void rollbackShipbillNodeTracking(ShipbillNodeTrackingRollbackVO vo);
}
