/**
 * @filename:PurchaseOrderLogisticsInformationService 2024-09-10
 * @project KJT v1.0.0 Copyright(c) 2024 wanglang Co. Ltd. All right reserved.
 */
package com.trade.service.trade.purchaseorder.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.trade.service.trade.purchaseorder.domain.PurchaseOrderLogistics;
import com.trade.service.trade.purchaseorder.dto.PurchaseOrderLogisticsDocumentSearchDto;
import com.trade.service.trade.purchaseorder.dto.PurchaseOrderLogisticsSearchDto;
import com.trade.service.trade.purchaseorder.vo.PurchaseOrderLogisticsDocumentVo;
import com.trade.service.trade.purchaseorder.vo.PurchaseOrderLogisticsPageVo;
import com.trade.service.trade.purchaseorder.vo.PurchaseOrderLogisticsVo;

import java.util.List;

/**
 * @Description:采购订单物流信息服务层
 * @version: v1.0.0
 * @author: wanglang
 */
public interface PurchaseOrderLogisticsService extends IService<PurchaseOrderLogistics> {

    /**
     * 根据采购订单id查询物流信息
     *
     * @param purchaseOrderId 采购订单id
     * @return 物流信息
     */
    PurchaseOrderLogisticsVo queryByPurchaseOrderId(Long purchaseOrderId);

    /**
     * 分页查询物流信息
     *
     * @param orderLogisticsSearch 物流信息查询条件
     * @return 物流信息分页结果
     */
    List<PurchaseOrderLogisticsPageVo> queryOrderLogisticsByPage(PurchaseOrderLogisticsSearchDto orderLogisticsSearch);

    /**
     * 查询物流单据
     * 
     * @param documentSearchDto 物流单据查询条件
     * @return 物流单据列表
     */
    List<PurchaseOrderLogisticsDocumentVo> queryPurchaseOrderLogisticsDocument(
            PurchaseOrderLogisticsDocumentSearchDto documentSearchDto);

    /**
     * 根据采购合同编号查询物流信息
     *
     * @param purchaseContractNo 采购合同编号
     * @return 物流信息列表
     */
    List<PurchaseOrderLogisticsVo> queryByPurchaseContractNo(String purchaseContractNo);
}
