using CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.CallMaterialOrderRecord;
using Volo.Abp.Application.Services;
using CmsQueryExtensions.Entitys;
using System.Linq.Expressions;
using CMS.Plugin.PipeLineLems.Domain.CallMaterialOrderRecord;
namespace CMS.Plugin.PipeLineLems.Application.Contracts.Services;
///
/// 叫料记录表应用服务接口
///
public interface ICallMaterialOrderRecordAppService : 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(CallMaterialOrderRecordsImportModel input, MyCurrentUser myCurrentUser);
///
/// 导出叫料记录表
///
///
///
Task<(Dictionary Sheets, string FileName)> ExportAsync(GetCallMaterialOrderRecordInput input);
///
/// 根据条件获取叫料记录表列表
///
///
///
///
Task> GetListByFilterAsync(Expression> whereConditions, CancellationToken cancellationToken = default);
///
/// 根据条件获取单个叫料记录表
///
///
/// 是否查询出多条就报错
///
///
///
Task GetSingleByFilterAsync(Expression> whereConditions, bool isMultipleThrowException = false, CancellationToken cancellationToken = default);
}