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
{
///
/// 结算单基础服务定义
///
/// 实体的类型声明
public interface ISettlementService where TEntity : SettlementBase, new()
{
///
/// 提交结算单
///
///
///
Task> SaveAsync(SettlementRequest request);
///
/// 删除结算明细
///
/// 明细ID
///
Task DeleteDetailAsync(params long[] ids);
///
/// 删除结算单
///
/// 结算单ID
///
Task DeleteAsync(params long[] ids);
///
/// 设置结算单的锁定状态
///
/// 是否锁定
/// 结算ID
///
Task SetLockAsync(bool isLocked, params long[] ids);
///
/// 获取待结算的自由结算费用明细
/// 参数为选中的业务或费用明细
/// 返回值为结算明细
///
///
///
Task>> GetExchangesAsync(SettlementRequest request);
}
}