using DS.Module.Core;
using DS.WMS.Core.Application.Dtos;
using DS.WMS.Core.Application.Entity;
namespace DS.WMS.Core.Application.Interface
{
///
/// 申请单基础服务定义
///
/// 实体的类型声明
public interface IApplicationService where TEntity : ApplicationBase, new()
{
///
/// 根据业务编号及类型获取该票业务的币别
///
/// 业务ID与业务类型
///
Task>> GetCurrenciesAsync(params FeeClient[] items);
///
/// 提交申请单
///
///
///
Task> SaveAsync(TEntity application);
///
/// 提交申请单
///
///
///
Task> SaveAsync(ApplicationRequest request);
///
/// 删除申请单明细
///
/// 申请单明细ID
///
Task DeleteDetailAsync(params long[] ids);
///
/// 删除申请单
///
/// 申请单ID
///
Task DeleteAsync(params long[] ids);
///
/// 发起审批工作流
///
/// 审批类型
/// 审批备注
/// 申请单ID
///
Task SubmitApprovalAsync(TaskBaseTypeEnum auditType, string remark, params long[] idArray);
///
/// 撤销审批
///
/// 申请单ID
///
Task WithdrawAsync(params long[] ids);
}
}