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.

54 lines
1.7 KiB
C#

using DS.Module.Core;
using DS.WMS.Core.Application.Entity;
using DS.WMS.Core.Settlement.Dtos;
using DS.WMS.Core.Settlement.Entity;
namespace DS.WMS.Core.Settlement.Interface
{
/// <summary>
/// 结算单基础服务定义
/// </summary>
/// <typeparam name="TEntity">实体的类型声明</typeparam>
public interface ISettlementService<TEntity> where TEntity : SettlementBase, new()
{
/// <summary>
/// 提交结算单
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
Task<DataResult<TEntity>> SaveAsync(SettlementRequest<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="isLocked">是否锁定</param>
/// <param name="ids">结算ID</param>
/// <returns></returns>
Task<DataResult> SetLockAsync(bool isLocked, params long[] ids);
/// <summary>
/// 获取待结算的自由结算费用明细
/// 参数为选中的业务或费用明细
/// 返回值为结算明细
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
Task<DataResult<List<SettlementDocument>>> GetExchangesAsync(SettlementRequest<TEntity> request);
}
}