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.

90 lines
2.8 KiB
C#

using DS.Module.Core;
using DS.WMS.Core.Fee.Dtos;
using DS.WMS.Core.Fee.Entity;
using DS.WMS.Core.Op.Entity;
namespace DS.WMS.Core.Fee.Interface
{
/// <summary>
/// 付费申请
/// </summary>
public interface IFeeApplicationService
{
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
Task<DataResult<List<FeeApplicationDto>>> GetListAsync(PageRequest request);
/// <summary>
/// 获取待付费的业务列表
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
Task<DataResult<List<FeeApplicationBiz>>> GetBizListAsync(PageRequest request);
/// <summary>
/// 获取申请单详情
/// </summary>
/// <param name="id">申请单ID</param>
/// <returns></returns>
Task<DataResult<FeeApplicationDto>> GetAsync(long id);
/// <summary>
/// 根据业务编号及类型获取关联费用记录
/// </summary>
/// <param name="id">业务ID</param>
/// <param name="businessType">业务类型</param>
/// <returns></returns>
Task<DataResult<List<FeeRecordDto>>> GetFeesAsync(long id, BusinessType businessType);
/// <summary>
/// 提交申请单
/// </summary>
/// <param name="application">申请单</param>
/// <returns></returns>
Task<DataResult> SaveAsync(FeeApplication application);
/// <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> SubmitForApprovalAsync(AuditType auditType, string remark, params long[] idArray);
/// <summary>
/// 撤销审批
/// </summary>
/// <param name="ids">申请单ID</param>
/// <returns></returns>
Task<DataResult> WithdrawAsync(params long[] ids);
/// <summary>
/// 申请单审核
/// </summary>
/// <param name="status"></param>
/// <param name="reason"></param>
/// <param name="ids">申请单ID</param>
/// <returns></returns>
//Task<DataResult> AuditAsync(int status, string reason, params long[] ids);
}
}