using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialType;
using Volo.Abp.Application.Services;
using CmsQueryExtensions.Entitys;
using System.Linq.Expressions;
using CMS.Plugin.HIAWms.Domain.WmsMaterialType;
namespace CMS.Plugin.HIAWms.Application.Contracts.Services;
///
/// 物料l类型信息应用服务接口
///
public interface IWmsMaterialTypeAppService : ICrudAppService
{
///
/// 克隆物料l类型信息
///
///
///
Task> CloneAsync(IEnumerable ids, MyCurrentUser myCurrentUser);
///
/// 删除物料l类型信息
///
///
///
Task DeleteManyAsync(IEnumerable ids, MyCurrentUser myCurrentUser);
///
/// 物理删除物料l类型信息
///
/// 主键ID
///
///
Task DeletePermanentlyAsync(Guid id, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default);
///
/// 批量物理删除物料l类型信息(直接删除,不软删除)
///
/// 要删除的主键ID列表
///
///
Task BatchDeletePermanentlyAsync(IEnumerable ids, MyCurrentUser myCurrentUser, CancellationToken cancellationToken = default);
///
/// 调整排序物料l类型信息
///
///
///
///
Task AdjustSortAsync(Guid id, int sort);
///
/// 导入物料l类型信息
///
///
///
Task ImportAsync(WmsMaterialTypesImportModel input, MyCurrentUser myCurrentUser);
///
/// 导出物料l类型信息
///
///
///
Task<(Dictionary Sheets, string FileName)> ExportAsync(GetWmsMaterialTypeInput input);
///
/// 根据条件获取物料l类型信息列表
///
///
///
///
Task> GetListByFilterAsync(Expression> whereConditions, CancellationToken cancellationToken = default);
///
/// 根据条件获取单个物料l类型信息
///
///
/// 是否查询出多条就报错
///
///
///
Task GetSingleByFilterAsync(Expression> whereConditions, bool isMultipleThrowException = false, CancellationToken cancellationToken = default);
}