using DS.Module.Core;
using DS.WMS.Core.Invoice.Dtos;
namespace DS.WMS.Core.Invoice.Interface
{
///
/// 开票基础服务定义
///
/// 实体的类型声明
public interface IInvoiceService where TEntity : Entity.Invoice, new()
{
///
/// 获取分页列表
///
///
///
Task> GetListAsync(PageRequest request);
///
/// 获取发票详情
///
/// 发票ID
///
Task> GetAsync(long id);
///
/// 提交发票开票
///
/// 请求参数
///
Task> SaveAsync(InvoiceRequest request);
///
/// 删除发票明细
///
/// 发票明细ID
///
Task DeleteInvoiceDetailAsync(params long[] ids);
///
/// 删除发票明细
///
/// 明细ID
///
Task DeleteDetailAsync(params long[] ids);
///
/// 删除发票
///
/// 发票ID
///
Task DeleteAsync(params long[] ids);
///
/// 设置发票的锁定状态
///
/// 是否锁定
/// 发票ID
///
Task SetLockAsync(bool isLocked, params long[] ids);
///
/// 设置发票的作废状态
///
/// 是否锁定
/// 发票ID
///
Task SetCancelAsync(bool isCancelled, params long[] ids);
}
}