using System.Data; using Hotline.FlowEngine.Definitions; using Hotline.FlowEngine.Workflows; using Hotline.Orders; using Hotline.Repository.SqlSugar.Orders; using Hotline.Settings; using Hotline.Share.Dtos; using Hotline.Share.Dtos.DataSharing.PusherHotlineDto; using Hotline.Share.Dtos.FlowEngine; using Hotline.Share.Dtos.FlowEngine.Workflow; using Hotline.Share.Dtos.Order; using Hotline.Share.Dtos.Order.Publish; using Hotline.Share.Enums.FlowEngine; using Hotline.Share.Enums.Order; using Hotline.Share.Enums.Settings; using Hotline.Share.Requests; using SqlSugar; using XF.Domain.Authentications; namespace Hotline.Application.Orders { public interface IOrderApplication { /// /// 派单量统计 /// /// /// Task> SendOrderReportAsync(QuerySendOrderRequest dto); /// /// 更新工单办理期满时间 /// 1.更新工单 2.更新流程 /// /// Task DelayOrderExpiredTimeAsync(string orderId, int timeCount, ETimeType timeType, bool IsProDelay, 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); /// /// 即将超期列表优化V1版本 /// /// /// ISugarQueryable GetAboutToExpireAsync(AboutToExpireListDto dto); //Task> GetAboutToExpireNodeAsync(AboutToExpireListDto dto, CancellationToken cancellationToken); Task OrderParticiple(string inputStr, string orderId, string no, string title, DateTime time, CancellationToken cancellationToken); Task OrderSensitiveParticiple(string inputStr, string orderId, CancellationToken cancellationToken); /// /// 接收外部平台工单 /// Task ReceiveOrderFromExternalAsync(AddOrderDto dto, CancellationToken cancellationToken); /// /// 接收外部平台修改工单附件 /// Task UpdateOrderFilesAnonymousAsync(UpdateOrderFilesDto dto, CancellationToken cancellationToken); /// /// 工单回访 /// /// /// /// Task OrderVisitWeb(OrderVisitWebDto dto, CancellationToken cancellationToken); /// /// 回访保存 /// 调用本方法前, 先调用 _callApplication.GetOrSetCallIdAsync 转换 CallId /// /// /// /// Task SaveOrderVisit(VisitDto dto, CancellationToken cancellationToken); /// /// 发送回访短信 /// /// /// Task VisitPushSMSAsync(VisitSmsInDto dto, CancellationToken cancellationToken); /// /// 回访来源统计 /// /// /// Task> QueryOrderVisitSourceChannelAsync(QueryOrderVisitSourceChannelDto dto); /// /// 发布量统计 /// /// /// Task<(int, IList)> QueryPublishedOrderAsync(QueryOrderPublishStatisticsDto dto, bool isFull); /// /// 部门发布量统计 /// /// /// /// Task<(int, IList)> QueryPublishedOrderDepartmentAsync(QueryOrderPublishStatisticsAllDto dto, bool isFull); #region 工单办理 ISugarQueryable QueryOrders(QueryOrderDto dto); /// /// 保存工单办理时页面填写的数据 /// /// /// Task SaveOrderWorkflowInfo(NextWorkflowDto dto, CancellationToken cancellationToken); #endregion /// /// 未签收统计 /// /// /// ISugarQueryable QueryUnsignedOrders(QueryUnsignedOrdersRequest dto); /// /// 信件来源统计 /// /// /// ISugarQueryable QueryOrderSource(QueryOrderSourceRequest dto); /// /// 信件来源统计 /// /// /// ISugarQueryable QueryOrderSourceDetail(QueryOrderSourceDetailRequest dto); /// /// 部门超期统计 /// /// /// ISugarQueryable QueryOrgDataList(ReportPagedRequest dto); /// /// 部门超期统计明细 /// /// /// ISugarQueryable QueryOrgDataListDetail(OrgDataListDetailRequest dto); /// /// 部门全量超期统计明细 /// /// /// ISugarQueryable QueryOrgDataListDetail(OrgDataListAllDetailRequest dto); /// /// 回退错件统计 /// /// /// ISugarQueryable OrderReTransact(QueryOrderReTransactRequest dto); /// /// 回退错件明细统计 /// /// /// ISugarQueryable QueryOrderSourceDetail(QueryOrderReTransactDetailRequest dto); /// /// 部门满意度统计 /// /// Task> VisitAndOrgSatisfactionStatistics(PagedKeywordSonRequest dto); /// /// 子部门满意度 /// /// /// Task> VisitAndOrgStatisfactionOrgDetail(PagedKeywordSonRequest dto); /// /// 热点-区域统计 /// /// /// Task<(List area, object items)> HotspotAndAreaStatistics(HotspotAndAreaStatisticsReq dto); /// /// 热点-区域统计导出 /// /// /// Task HotspotAndAreaStatisticsExport(HotspotAndAreaStatisticsReq dto); /// /// 热点-区域统计 /// /// /// /// /// DataTable InitHotspotTable(DataTable dt, List AddColumnName, int HotspotLevel); /// /// 热点类型满意度统计 /// /// /// Task> VisitAndHotspotSatisfactionStatistics(VisitAndHotspotPagedKeywordRequest dto); /// /// 热点满意度明细统计 /// /// /// ISugarQueryable VisitAndHotspotSatisfactionDetail(VisitAndHotspotPagedKeywordRequest dto); /// /// 话务员办件统计 /// /// /// ISugarQueryable CentreDataList(ReportPagedRequest dto); /// /// 热点受理类型统计 /// /// /// Task<(List acceptTypes, object items)> HotspotAndAcceptTypeStatistics(HotspotAndAcceptTypeStatisticsReq dto); /// /// 热点受理类型统计--导出 /// /// /// Task HotspotAndAcceptTypeStatisticsExport(HotspotAndAcceptTypeStatisticsReq dto); /// /// 热点受理类型明细 /// /// /// ISugarQueryable HotspotAndAcceptTypeStatisticsDetail(HotspotAndAcceptTypeStatisticsDetailReq dto); /// /// 甄别申请统计 /// /// /// ISugarQueryable OrderScreenApply(OrderScreenApplyPagedRequest dto); /// /// 甄别审批统计 /// /// /// ISugarQueryable OrderScreenAudit(OrderScreenAuditPagedRequest dto); /// /// 中心受理统计(日期) /// /// /// ISugarQueryable OrderCenterAccept(OrderCenterAcceptPagedRequest dto); /// /// 中心受理统计(值班坐席) /// /// ISugarQueryable OrderCenterAcceptUser(OrderCenterAcceptPagedRequest dto); /// /// 扭转信件统计 /// /// /// ISugarQueryable OrderVisitJudeStatistics(OrderVisitJudeStatisticsReq dto); /// /// 观察关注列表 /// /// /// ISugarQueryable OrderObserveList(OrderObserveListDto dto); /// /// 终止列表 /// /// /// ISugarQueryable OrderTerminateList(OrderTerminateListDto dto); /// /// 甄别列表 /// /// /// ISugarQueryable OrderScreenList(ScreenListDto dto); /// /// 待申请列表 /// /// /// ISugarQueryable MayScreenList(MayScreenListDto dto); ISugarQueryable QueryWaitedForSeat(QueryOrderWaitedDto dto); ISugarQueryable QueryWaited(QueryOrderWaitedDto dto); /// /// 受理类型前10 /// /// /// Task<(List acceptTypes, object items, DataTable data)> AcceptTypeTop10List(ReportPagedRequest dto, bool isExport); Task SpecialVerify(OrderSpecialAddDto dto, Order order, CancellationToken cancellationToken); Task EndCountersignAsync(EndCountersignDto dto, CancellationToken cancellationToken); ISugarQueryable GetPublishedOrder(PublishedPagedRequest dto); ISugarQueryable GetPublishOrderList(QueryOrderPublishDto dto); /// /// 回访列表 /// /// /// ISugarQueryable QueryOrderVisitList(QueryOrderVisitDto dto); /// /// 热点类型小类统计明细 /// /// /// ISugarQueryable HotspotStatisticsDetail(HotspotStatisticsRep dto); /// /// 坐席总体满意度分析 /// /// /// ISugarQueryable SeatSatisfactionStatistics(PagedKeywordRequest dto); /// /// 坐席满意度明细表 /// /// /// ISugarQueryable SeatSatisfactionStatisticsListDetail(PagedKeywordRequest dto); /// /// 坐席满意度工单明细 /// /// /// ISugarQueryable QuerySeatSatisfactionOrderVisitList(SeatSatisfactionOrderVisitRequest dto); /// /// 工单热词分析 /// /// /// ISugarQueryable QueryOrderTsDetailsList(PagedKeywordRequest dto); /// /// 知识库引用 /// /// /// /// /// /// Task AddKnowledgeQuote(string orderId, string title, string no, List knowledgeQuote, CancellationToken cancellationToken); /// /// 知识库引用 /// /// /// ISugarQueryable QueryKnowledgeQuoteList(PagedKeywordRequest dto); /// /// 将工单从网格员节点办理至工单标记节点 /// /// Task HandleFromWanggeyuanToMaskAsync(string orderId, CancellationToken cancellation); /// /// 查询退回操作目标节点的指派对象 /// Task GetOrderPreviousAssignInfoAsync(Workflow workflow, StepDefine prevStepDefine, WorkflowStep prevStep, CancellationToken cancellationToken); /// /// 查询特提操作目标节点的指派对象 /// Task GetOrderRecallAssignInfoAsync(Workflow workflow, StepDefine targetStepDefine, WorkflowStep targetStep, BasicWorkflowDto dto, CancellationToken cancellationToken); /// /// 工单特提 /// Task<(Workflow, StepDefine, WorkflowStep, WorkflowStep, WorkflowStep, bool)> RecallAsync (AuditOrderSpecialDto dto, OrderSpecial special, Order? order, CancellationToken cancellation); /// /// 超期退回统计 /// /// /// ISugarQueryable ExtendedSendBackStatistics(PagedKeywordRequest dto); /// /// 超期退回统计明细 /// /// /// ISugarQueryable ExtendedSendBackDetail(ExtendedSendBackRequest dto); /// /// 延期列表 /// /// ISugarQueryable DelayList(DelayListDto dto); /// /// 延期列表 /// /// ISugarQueryable WaitDelayList(DelayListDto dto); Task OrderPrevious(OrderSendBackAudit sendBack, Order order, CancellationToken cancellationToken); } }