using NXWMS.Client.Model.AppModels.Condition.Balance;
using NXWMS.Client.Model.AppModels.Condition.OutStock;
using NXWMS.Client.Model.AppModels.Result.Balance;
using NXWMS.Client.Model.AppModels.Result.OutStock;
using NXWMS.Client.Model.CoreModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace NXWMS.Client.Interface.OutStock
{
public interface IWmsOutInvoiceService
{
///
/// 分页获取发货单数据
///
/// 发货单查询条件实体类对象
///
OperateResultInfo> GetWmsOutInvoiceListForPage(WmsOutInvoiceSearchMd info);
///
/// 根据发货单ID获取发货单详细数据
///
/// 发货单实体类对象
///
OperateResultInfo GetWmsOutInvoiceDtlListForId(WmsOutInvoiceResult wmsOutInvoiceResult);
///
/// 添加发货单数据
///
/// 发货单实体类对象
///
OperateResultInfo AddWmsOutInvoiceData(WmsOutInvoiceResult wmsOutInvoiceResult);
///
/// 编辑发货单
///
/// 发货单实体类对象
///
OperateResultInfo EditWmsOutInvoiceData(WmsOutInvoiceResult wmsOutInvoiceResult);
///
/// 删除发货单数据
///
/// 发货单实体类对象
///
OperateResultInfo DeleteWmsOutInvoiceData(WmsOutInvoiceResult wmsOutInvoiceResult);
///
/// 分页获取发货记录数据
///
/// 发货记录查询条件实体类对象
///
OperateResultInfo> GetWmsOutInvoiceRecordListForPage(WmsOutInvoiceRecordSearchMd info);
///
/// 获取可以发货的库存数据
///
/// 库存查询实体类对象
///
OperateResultInfo> GetBalanceForInvoice(WmsStkBalanceDtlSearchMd SearchMd);
///
/// 发货单审核
/// 查询满足发货单需求的所有库存数据
///
/// 发货单实体类对象
///
OperateResultInfo InvoiceAllocationBalanceAuto(WmsOutInvoiceResult wmsOutInvoice);
///
/// 发货单审核 -- 手动分配
/// 查询满足发货单需求的所有库存数据
///
/// 库存明细查询实体类对象
///
OperateResultInfo> InvoiceAllovationBalanceManual(WmsStkBalanceDtlSearchMd SearchMd);
///
/// 发货审核数据提交
///
/// 发货审核实体类对象
///
OperateResultInfo SubmitInvoiceCheckResult(WmsOutInvoiceCheckResult checkResult);
///
/// 获取托盘到货确认数据
///
/// 下架单实体类对象
///
OperateResultInfo> QueryInvoiceSortData(WmsOutPutDownResult putDownResult);
///
/// 提交到货确认数据
///
/// 发货记录拓展数据列表
///
OperateResultInfo SubmitInvoiceSortData(List wmsOutInvoiceRecordExts);
}
}