using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks;
using CMS.Plugin.HIAWms.Domain.WmsMaterialStocks;
using System.Linq.Expressions;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
namespace CMS.Plugin.HIAWms.Application.Contracts.Services;
///
/// WmsMaterialStock应用服务
///
public interface IWmsMaterialStockAppService : ICrudAppService
{
///
/// Clones the asynchronous.
///
/// The ids.
///
Task> CloneAsync(IEnumerable ids);
///
/// 获取库存明细
///
///
///
Task> GetStockDetailAsync(GetWmsMaterialStockInput input);
///
/// Deletes the many asynchronous.
///
/// The ids.
///
Task DeleteManyAsync(IEnumerable ids);
///
/// 通过物料编号删除库存
///
///
///
Task DeleteByMaterialAsync(string materialNo);
///
/// Adjusts the sort asynchronous.
///
/// The identifier.
/// The sort.
///
Task AdjustSortAsync(Guid id, int sort);
///
/// Imports the asynchronous.
///
/// The input.
///
Task ImportAsync(WmsMaterialStocksImportModel input);
///
/// Exports the asynchronous.
///
/// The input.
///
Task<(Dictionary Sheets, string FileName)> ExportAsync(GetWmsMaterialStockInput input);
///
/// 根据条件获取出入库单据详情列表
///
///
///
///
Task> GetListByFilterAsync(Expression> whereConditions, CancellationToken cancellationToken = default);
///
/// 根据条件获取单个出入库单据详情
///
///
/// 是否查询出多条就报错
///
///
///
Task GetSingleByFilterAsync(Expression> whereConditions, bool isMultipleThrowException = false, CancellationToken cancellationToken = default);
///
/// 根据条件获取出入库单据详情列表
///
///
///
Task> FindListByFilterAsync(GetWmsMaterialStockInput input, CancellationToken cancellationToken = default);
///
/// 根据条件获取单个出入库单据详情
///
///
///
Task FindSingleByFilterAsync(GetWmsMaterialStockInput input, CancellationToken cancellationToken = default);
}