using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Hotline.FlowEngine.Workflows;
using Hotline.Orders;
using Hotline.Share.Dtos;
using Hotline.Share.Dtos.Bi;
using Hotline.Share.Dtos.DataSharing.PusherHotlineDto;
using Hotline.Share.Dtos.FlowEngine.Workflow;
using Hotline.Share.Dtos.Order;
using Hotline.Share.Enums.Order;
using Hotline.Share.Enums.Settings;
using Hotline.Share.Requests;
using SqlSugar;
using XF.Domain.Authentications;
using XF.Domain.Entities;
namespace Hotline.Application.Orders
{
public interface IOrderApplication
{
///
/// 更新工单办理期满时间
/// 1.更新工单 2.更新流程
///
///
Task DelayOrderExpiredTimeAsync(string orderId, int timeCount, ETimeType timeType, CancellationToken cancellationToken);
///
/// 新增工单办理流程记录
///
Task AddOrderTracesAsync(string orderId, ICollection traces, CancellationToken cancellationToken);
///
/// 撤销工单
///
Task CancelOrderAsync(string orderId, string opinion, CancellationToken cancellationToken);
ISugarQueryable GetToExpireAsync(AboutToExpireListDto dto);
//Task> GetToExpireNodeAsync(AboutToExpireListDto dto, CancellationToken cancellationToken);
ISugarQueryable GetAboutToExpireAsync(AboutToExpireListDto dto);
//Task> GetAboutToExpireNodeAsync(AboutToExpireListDto dto, CancellationToken cancellationToken);
Task OrderParticiple(string inputStr, string orderId, CancellationToken cancellationToken);
Task OrderSensitiveParticiple(string inputStr, string orderId, CancellationToken cancellationToken);
///
/// 接收外部平台工单
///
Task ReceiveOrderFromExternalAsync(AddOrderDto dto, ISessionContext current, CancellationToken cancellationToken);
///
/// 接收外部平台修改工单附件
///
Task UpdateOrderFilesAnonymousAsync(UpdateOrderFilesDto dto, CancellationToken cancellationToken);
///
/// 工单回访
///
///
///
///
Task OrderVisitWeb(OrderVisitWebDto dto, CancellationToken cancellationToken);
#region 工单办理
ISugarQueryable QueryOrders(QueryOrderDto dto);
#endregion
///
/// 未签收统计
///
///
///
ISugarQueryable QueryUnsignedOrders(QueryUnsignedOrdersRequest dto);
///
/// 信件来源统计
///
///
///
ISugarQueryable QueryOrderSource(QueryOrderSourceRequest dto);
///
/// 信件来源统计列表
///
///
///
Task> QueryOrderSourceList(QueryOrderSourceRequest dto);
///
/// 信件来源统计
///
///
///
ISugarQueryable QueryOrderSourceDetail(QueryOrderSourceDetailRequest dto);
///
/// 信件来源分时统计列表
///
///
///
Task> QueryOrderSourceHoursList(QueryOrderSourceRequest dto);
///
/// 部门超期统计
///
///
///
ISugarQueryable QueryOrgDataList(ReportPagedRequest dto);
///
/// 部门超期统计明细
///
///
///
ISugarQueryable QueryOrgDataListDetail(OrgDataListDetailRequest dto);
///
/// 回退错件统计
///
///
///
ISugarQueryable OrderReTransact(QueryOrderReTransactRequest dto);
///
/// 回退错件明细统计
///
///
///
ISugarQueryable QueryOrderSourceDetail(QueryOrderReTransactDetailRequest dto);
///
/// 部门满意度统计
///
///
Task> VisitAndOrgSatisfactionStatistics(PagedKeywordSonRequest dto);
///
/// 子部门满意度
///
///
///
Task> VisitAndOrgStatisfactionOrgDetail(PagedKeywordSonRequest dto);
///
/// 部门满意度明细
///
///
///
ISugarQueryable VisitAndOrgSatisfactionDetail(VisitAndOrgSatisfactionDetailDto dto);
}
}