using DapperORMCore.Model.CoreModel;
using NXWMS.Model.AppModels.Condition.Balance;
using NXWMS.Model.AppModels.Condition.OutStock;
using NXWMS.Model.AppModels.Result.Balance;
using NXWMS.Model.AppModels.Result.OutStock;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace NXWMS.IService.NXWMS.OutStock
{
public interface IWmsOutInvoiceService
{
///
/// 分页查询发货单主表数据
///
/// 发货单查询条件实体类对象
///
OperateResultInfo> GetWmsOutInvoiceListForPage(WmsOutInvoiceSearchMd invoiceSearchMd);
///
/// 根据发货单主键Id查询发货单明细数据
///
/// 发货单实体类对象
///
OperateResultInfo GetWmsOutInvoiceDtlListForID(WmsOutInvoiceResult wmsOutInvoice);
///
/// 新增发货单数据
///
/// 发货单主表对象
///
OperateResultInfo AddWmsOutInvoiceData(WmsOutInvoiceResult wmsOutInvoice);
///
/// 修改发货单数据
///
/// 发货单主表对象
///
OperateResultInfo EditWmsOutInvoiceData(WmsOutInvoiceResult wmsOutInvoice);
///
/// 删除发货单数据
///
/// 发货单主表对象
///
OperateResultInfo DeleteWmsOutInvoiceData(WmsOutInvoiceResult wmsOutInvoice);
///
/// 分页查询发货记录数据
///
/// 发货记录查询条件实体类对象
///
OperateResultInfo> GetWmsOutInvoiceRecordListForPage(WmsOutInvoiceRecordSearchMd receiptRecordSearchMd);
///
/// 获取可以发货的库存数据
///
/// 库存查询实体类对象
///
OperateResultInfo> GetBalanceForInvoice(WmsStkBalanceDtlSearchMd SearchMd);
///
/// 发货单审核
/// 查询满足发货单需求的所有库存数据
///
/// 发货单实体类对象
///
OperateResultInfo InvoiceAllocationBalance(WmsOutInvoiceResult wmsOutInvoice);
///
/// 发货单审核 -- 手动分配
/// 查询满足发货单需求的所有库存数据
///
/// 库存明细查询实体类对象
///
OperateResultInfo> InvoiceAllovationBalance(WmsStkBalanceDtlSearchMd SearchMd);
///
/// 发货审核数据提交
///
/// 发货审核实体类对象
///
OperateResultInfo SubmitInvoiceCheckResult(WmsOutInvoiceCheckResult checkResult);
///
/// 获取托盘到货确认数据
///
/// 下架单实体类对象
///
OperateResultInfo> QueryInvoiceSortData(WmsOutPutDownResult putDownResult);
///
/// 提交到货确认数据
///
/// 发货记录拓展数据列表
///
OperateResultInfo SubmitInvoiceSortData(List wmsOutInvoiceRecordExts);
}
}