using Hotline.Orders;
using Hotline.Share.Dtos.Order;
using Hotline.Share.Requests;
using SqlSugar;

namespace Hotline.Application.OrderApp
{
	public interface IOrderSecondaryHandlingApplication
	{
		Task AddAsync(AddOrderSecondaryHandlingDto dto, CancellationToken cancellationToken);

		Task SendBackAsync(SendBackOrderSecondaryHandlingDto dto, CancellationToken cancellationToken);
		Task AuditAsync(AuditOrderSecondaryHandlingDto dto, OrderSecondaryHandling model, CancellationToken cancellationToken);
		ISugarQueryable<OrderVisitDetail> ApplyQuery(MayScreenListDto dto, CancellationToken cancellationToken);
		Task<OrderSecondaryHandling> Entity(string id, CancellationToken cancellationToken);
		ISugarQueryable<OrderSecondaryHandling> Query(SecondaryHandlingListDto dto, CancellationToken cancellationToken);
		ISugarQueryable<SecondaryHandlingVo> SecondaryHandlingReport(QuerySecondaryHandlingRequest dto, CancellationToken cancellationToken);
		ISugarQueryable<OrderSecondaryHandling> SecondaryHandlingDetailReport(QuerySecondaryHandlingRequest dto, CancellationToken cancellationToken);
		ISugarQueryable<SecondaryHandlingSatisfactionVo> SecondaryHandlingSatisfactionReport(QuerySecondaryHandlingRequest dto, CancellationToken cancellationToken);
		ISugarQueryable<OrderSecondaryHandling> SecondaryHandlingSatisfactionDetailReport(QuerySecondaryHandlingRequest dto, CancellationToken cancellationToken);
	}
}
