using CmsQueryExtensions.Extension; using System.Linq.Expressions; using Volo.Abp; using Volo.Abp.Domain.Repositories; using Volo.Abp.Specifications; namespace CMS.Plugin.HIAWms.Domain.WmsMaterialStocks; /// /// WmsMaterialStock仓储 /// public interface IWmsMaterialStockRepository : IBasicRepository { /// /// Finds the by name asynchronous. /// /// The name. /// The cancellation token. /// Task FindByNameAsync(string name, CancellationToken cancellationToken = default); /// /// 根据型号查找库存 /// /// /// /// Task FindByModelAsync(string materiaModel, CancellationToken cancellationToken = default); /// /// Names the exist asynchronous. /// /// The name. /// The identifier. /// Task NameExistAsync(string name, Guid? id = null); /// /// Gets the maximum sort asynchronous. /// /// Task GetMaxSortAsync(); /// /// Gets the list asynchronous. /// /// The sorting. /// The maximum result count. /// The skip count. /// The filter. /// The specification. /// if set to true [include details]. /// The cancellation token. /// Task> GetListAsync(FunReturnResultModel>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default); /// /// 获取所有的库存信息 /// /// /// Task> GetStockListAsync(WmsMaterialStock? stock); /// /// 查询库存明细 /// /// /// /// /// /// /// /// Task> GetStockDetailListAsync(FunReturnResultModel>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default); /// /// 获取库存总数 /// /// /// /// Task GetDetailCountAsync(FunReturnResultModel>> whereConditions, CancellationToken cancellationToken = default); /// /// Gets the count asynchronous. /// /// The filter. /// The specification. /// The cancellation token. /// Task GetCountAsync(FunReturnResultModel>> whereConditions, CancellationToken cancellationToken = default); /// /// 物理删除出入库单据详情 /// /// 主键ID /// /// Task DeletePermanentlyAsync(Guid id, CancellationToken cancellationToken = default); /// /// 批量物理删除出入库单据详情(直接删除,不软删除) /// /// 要删除的主键ID列表 /// /// Task BatchDeletePermanentlyAsync(IEnumerable ids, CancellationToken cancellationToken = default); /// /// 根据条件获取出入库单据详情列表 /// /// /// /// Task> GetListByFilterAsync(Expression> whereConditions, CancellationToken cancellationToken = default); /// /// 根据条件获取单个出入库单据详情 /// /// /// 是否查询出多条就报错 /// /// /// Task GetSingleByFilterAsync(Expression> whereConditions, bool is​MultipleThrowException = false, CancellationToken cancellationToken = default); }