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.

87 lines
2.9 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using DS.Module.Core;
using DS.WMS.Core.Fee.Dtos;
using DS.WMS.Core.Flow.Dtos;
using DS.WMS.Core.Op.Entity;
namespace DS.WMS.Core.Fee.Interface
{
/// <summary>
/// 费用审核
/// </summary>
public interface IFeeAuditService
{
/// <summary>
/// 获取列表分页数据
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
Task<DataResult<List<FeeAuditBusiness>>> GetListAsync(PageRequest<bool> request);
/// <summary>
/// 获取整票审核列表
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
Task<DataResult<List<FeeAuditBusiness>>> GetBizListAsync(PageRequest<bool> request);
/// <summary>
/// 根据查询条件获取费用明细
/// </summary>
/// <param name="request">请求参数</param>
/// <returns></returns>
Task<DataResult<PendingAuditFee>> GetFeesAsync(AuditDetailRequest request);
/// <summary>
/// 获取业务相关联的费用统计
/// </summary>
/// <param name="id">业务ID</param>
/// <param name="businessType">业务类型</param>
/// <param name="feeId">费用ID可空</param>
/// <returns></returns>
Task<DataResult<FeeAuditStatistics>> GetStatAsync(long id, BusinessType businessType, long? feeId);
/// <summary>
/// 按费用批量审批
/// </summary>
/// <param name="yesOrNo">审批结果</param>
/// <param name="remark">备注</param>
/// <param name="idArray">待审批的费用ID</param>
/// <returns></returns>
Task<DataResult> AuditAsync(int yesOrNo, string remark, params long[] idArray);
/// <summary>
/// 按业务批量审核
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
Task<DataResult> AuditAsync(BizAuditRequest request);
/// <summary>
/// 一键审核当前登录用户的所有待审核项
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
Task<DataResult> AuditAsync(AuditConditionRequest request);
/// <summary>
/// 整票审核
/// </summary>
/// <param name="request"></param>
Task<DataResult> AuditBusinessAsync(BizAuditRequest request);
/// <summary>
/// 设置业务费用锁定状态
/// </summary>
/// <param name="items">业务信息</param>
/// <returns></returns>
Task<DataResult> SetFeeLockingAsync(IEnumerable<BusinessFeeStatus> items);
/// <summary>
/// 根据审批结果更新审批状态
/// </summary>
///<param name="callback">回调信息</param>
/// <returns></returns>
Task<DataResult> UpdateStatusAsync(FlowCallback callback);
}
}