64 lines
2.0 KiB
C#
64 lines
2.0 KiB
C#
using DS.Module.Core;
|
|
using DS.WMS.Core.Application.Dtos;
|
|
using DS.WMS.Core.Invoice.Dtos;
|
|
|
|
namespace DS.WMS.Core.Invoice.Interface
|
|
{
|
|
/// <summary>
|
|
/// 开票基础服务定义
|
|
/// </summary>
|
|
/// <typeparam name="TEntity">实体的类型声明</typeparam>
|
|
public interface IInvoiceService<TEntity> where TEntity : Entity.Invoice, new()
|
|
{
|
|
/// <summary>
|
|
/// 获取分页列表
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
Task<DataResult<InvoiceList>> GetListAsync(PageRequest<NumberQuery> request);
|
|
|
|
/// <summary>
|
|
/// 获取发票详情
|
|
/// </summary>
|
|
/// <param name="id">发票ID</param>
|
|
/// <returns></returns>
|
|
Task<DataResult<InvoiceDto>> GetAsync(long id);
|
|
|
|
/// <summary>
|
|
/// 提交发票开票
|
|
/// </summary>
|
|
/// <param name="request">请求参数</param>
|
|
/// <returns></returns>
|
|
Task<DataResult<TEntity>> SaveAsync(InvoiceRequest<TEntity> request);
|
|
|
|
/// <summary>
|
|
/// 删除发票明细
|
|
/// </summary>
|
|
/// <param name="ids">发票明细ID</param>
|
|
/// <returns></returns>
|
|
Task<DataResult> DeleteInvoiceDetailAsync(params long[] ids);
|
|
|
|
/// <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);
|
|
}
|
|
}
|