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