You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.8 KiB
C#

using DS.Module.Core;
using DS.WMS.Core.Application.Dtos;
using DS.WMS.Core.Application.Entity;
namespace DS.WMS.Core.Application.Interface
{
/// <summary>
/// 申请单基础服务定义
/// </summary>
/// <typeparam name="TEntity">实体的类型声明</typeparam>
public interface IApplicationService<TEntity> where TEntity : ApplicationBase, new()
{
/// <summary>
/// 提交申请单
/// </summary>
/// <param name="application"></param>
/// <returns></returns>
Task<DataResult<TEntity>> SaveAsync(TEntity application);
/// <summary>
/// 提交申请单
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
Task<DataResult<TEntity>> SaveAsync(ApplicationRequest<TEntity> request);
/// <summary>
/// 删除申请单明细
/// </summary>
/// <param name="ids">申请单明细ID</param>
/// <returns></returns>
Task<DataResult> DeleteDetailAsync(params long[] ids);
/// <summary>
/// 删除申请单
/// </summary>
/// <param name="ids">申请单ID</param>
/// <returns></returns>
Task<DataResult> DeleteAsync(params long[] ids);
/// <summary>
/// 发起审批工作流
/// </summary>
/// <param name="auditType">审批类型</param>
/// <param name="remark">审批备注</param>
/// <param name="idArray">申请单ID</param>
/// <returns></returns>
Task<DataResult> SubmitApprovalAsync(AuditType auditType, string remark, params long[] idArray);
/// <summary>
/// 撤销审批
/// </summary>
/// <param name="ids">申请单ID</param>
/// <returns></returns>
Task<DataResult> WithdrawAsync(params long[] ids);
}
}