using Hotline.Share.Requests;
using SqlSugar;
using XF.Domain.Repository;

namespace Hotline.Orders
{
    public interface IOrderRepository : IRepositoryWorkflow<Order>
    {
        Task<string> AddOrderNavAsync(Order order, CancellationToken cancellationToken);
        Task RemoveOrderWrodBatchAsync(List<string> ids, CancellationToken cancellationToken);
        Task RemoveOrderObserveBatchAsync(List<string> ids, CancellationToken cancellationToken);
        Task RemoveOrderFinalityBatchAsync(List<string> ids, CancellationToken cancellationToken);
        Task OrderScreenRevisionVisit(string VisitId, bool canHandle, CancellationToken cancellationToken);
        Task FileAsync(Order order, CancellationToken cancellationToken);

        Task<object> HotPortJoinOrgStatistics(DateTime StartTime, DateTime EndTime, bool IsCenter, string? OrgCode);

        ISugarQueryable<DepartmentalProcessingStatisticsDataDto> OrderUnionAll(ISugarQueryable<DepartmentalProcessingStatisticsDataDto> t1,
         ISugarQueryable<DepartmentalProcessingStatisticsDataDto> t2,
         ISugarQueryable<DepartmentalProcessingStatisticsDataDto> t3,
         ISugarQueryable<DepartmentalProcessingStatisticsDataDto> t4,
         ISugarQueryable<DepartmentalProcessingStatisticsDataDto> t5,
         ISugarQueryable<DepartmentalProcessingStatisticsDataDto> t6);

        ISugarQueryable<SelectOrderId> OrderListUnionAll(ISugarQueryable<SelectOrderId> t1, ISugarQueryable<SelectOrderId> t2);



    }

    public interface IOrderScreenRepository : IRepositoryWorkflow<OrderScreen>
    {

    }

    public interface IOrderDelayRepository : IRepositoryWorkflow<OrderDelay>
    {

    }
}
