Browse Source

fixed: 退回重复主键

xfe 1 month ago
parent
commit
f3e0355264

+ 1 - 1
src/Hotline.Api/Controllers/OrderController.cs

@@ -5568,7 +5568,7 @@ public class OrderController : BaseController
 
                 audit.WorkflowStepSendBackCrTime = currentStep.CreationTime;
                 audit.TraceId = currentStep.Id;
-                await _orderSendBackAuditRepository.AddAsync(audit, HttpContext.RequestAborted);
+                //await _orderSendBackAuditRepository.AddAsync(audit, HttpContext.RequestAborted);
             }
             else
             {

+ 240 - 238
src/Hotline.Application/Orders/OrderApplication.cs

@@ -201,7 +201,6 @@ public class OrderApplication : IOrderApplication, IScopeDependency
         _knowledgeQuoteRepository = knowledgeQuoteRepository;
         _orderSpecialRepository = orderSpecialRepository;
         _workflowApplication = workflowApplication;
-
     }
 
     /// <summary>
@@ -377,9 +376,9 @@ public class OrderApplication : IOrderApplication, IScopeDependency
             .WhereIF(!string.IsNullOrEmpty(dto.ActualHandleOrgName), d => d.ActualHandleOrgName.Contains(dto.ActualHandleOrgName)) //接办部门
             .WhereIF(!string.IsNullOrEmpty(dto.CurrentStepCode), d => d.CurrentStepCode == dto.CurrentStepCode) //当前办理节点
             .WhereIF(!string.IsNullOrEmpty(dto.OrgLevelOneName), d => d.OrgLevelOneName.Contains(dto.OrgLevelOneName)) //一级部门
-                                                                                                                       //&& stTime >= d.ExpiredTime.Value && stTime2 <= d.ExpiredTime.Value
-                                                                                                                       //.Where(d => d.ExpiredTime != null &&
-                                                                                                                       //         d.Status != EOrderStatus.Filed && d.Status != EOrderStatus.Published && d.Status != EOrderStatus.Visited && stTime >= d.ExpiredTime.Value && stTime2 <= d.ExpiredTime.Value)
+            //&& stTime >= d.ExpiredTime.Value && stTime2 <= d.ExpiredTime.Value
+            //.Where(d => d.ExpiredTime != null &&
+            //         d.Status != EOrderStatus.Filed && d.Status != EOrderStatus.Published && d.Status != EOrderStatus.Visited && stTime >= d.ExpiredTime.Value && stTime2 <= d.ExpiredTime.Value)
             .Where(d => d.Status < EOrderStatus.Filed && dateTime > d.NearlyExpiredTime && dateTime < d.ExpiredTime)
             .OrderByIF(dto is { SortField: "no", SortRule: 0 }, x => x.No, OrderByType.Asc) //工单编号升序
             .OrderByIF(dto is { SortField: "no", SortRule: 1 }, x => x.No, OrderByType.Desc) //工单编号降序
@@ -773,10 +772,10 @@ public class OrderApplication : IOrderApplication, IScopeDependency
             .WhereIF(!string.IsNullOrEmpty(dto.Hotspot), d => d.HotspotSpliceName != null && d.HotspotSpliceName.Contains(dto.Hotspot))
             .WhereIF(!string.IsNullOrEmpty(dto.OrgLevelOneName), d => d.OrgLevelOneName.Contains(dto.OrgLevelOneName)) //一级部门
             .WhereIF(!string.IsNullOrEmpty(dto.FromPhone), d => d.FromPhone == dto.FromPhone) //来电号码
-                                                                                              //.WhereIF(!string.IsNullOrEmpty(dto.PubMan),
-                                                                                              //    d => d.AcceptorName.Contains(dto.PubMan!) || d.AcceptorStaffNo.Contains(dto.PubMan!))
-                                                                                              //.WhereIF(dto.PubRange == EPublicState.Pub, d => d.OrderPublish.PublishState)
-                                                                                              //.WhereIF(dto.PubRange == EPublicState.NoPub, d => !d.OrderPublish.PublishState)
+            //.WhereIF(!string.IsNullOrEmpty(dto.PubMan),
+            //    d => d.AcceptorName.Contains(dto.PubMan!) || d.AcceptorStaffNo.Contains(dto.PubMan!))
+            //.WhereIF(dto.PubRange == EPublicState.Pub, d => d.OrderPublish.PublishState)
+            //.WhereIF(dto.PubRange == EPublicState.NoPub, d => !d.OrderPublish.PublishState)
             .WhereIF(dto.IsProvinceOrder.HasValue && dto.IsProvinceOrder == true, d => d.IsProvince == true)
             .WhereIF(dto.IsProvinceOrder.HasValue && dto.IsProvinceOrder == false, d => d.IsProvince == false)
             //.WhereIF(dto.FiledType != null && dto.FiledType == FiledType.CenterFiled, d => d.ProcessType == EProcessType.Zhiban)
@@ -903,16 +902,16 @@ public class OrderApplication : IOrderApplication, IScopeDependency
         }
 
         var res = (from t1 in items
-                   join t2 in orders on t1.Name equals t2.Name into t1_t2
-                   from item in t1_t2.DefaultIfEmpty()
-                   select new PublishedOrderStatisticsDto
-                   {
-                       Name = t1.Name,
-                       PublishTime = t1.PublishTime,
-                       WaitCount = t1_t2.Select(x => x.WaitCount).FirstOrDefault(),
-                       PublicCount = t1.PublicCount,
-                       PrivateCount = t1.PrivateCount
-                   }).ToList();
+            join t2 in orders on t1.Name equals t2.Name into t1_t2
+            from item in t1_t2.DefaultIfEmpty()
+            select new PublishedOrderStatisticsDto
+            {
+                Name = t1.Name,
+                PublishTime = t1.PublishTime,
+                WaitCount = t1_t2.Select(x => x.WaitCount).FirstOrDefault(),
+                PublicCount = t1.PublicCount,
+                PrivateCount = t1.PrivateCount
+            }).ToList();
 
         return (total, res);
     }
@@ -962,16 +961,16 @@ public class OrderApplication : IOrderApplication, IScopeDependency
         }
 
         var res = (from t1 in items
-                   join t2 in orders on t1.Name equals t2.Name into t1_t2
-                   from item in t1_t2.DefaultIfEmpty()
-                   select new PublishedOrderStatisticsDto
-                   {
-                       Name = t1.Name,
-                       PublishTime = t1.PublishTime,
-                       WaitCount = t1_t2.Select(x => x.WaitCount).FirstOrDefault(),
-                       PublicCount = t1.PublicCount,
-                       PrivateCount = t1.PrivateCount
-                   }).ToList();
+            join t2 in orders on t1.Name equals t2.Name into t1_t2
+            from item in t1_t2.DefaultIfEmpty()
+            select new PublishedOrderStatisticsDto
+            {
+                Name = t1.Name,
+                PublishTime = t1.PublishTime,
+                WaitCount = t1_t2.Select(x => x.WaitCount).FirstOrDefault(),
+                PublicCount = t1.PublicCount,
+                PrivateCount = t1.PrivateCount
+            }).ToList();
 
         return (total, res);
     }
@@ -1273,6 +1272,7 @@ public class OrderApplication : IOrderApplication, IScopeDependency
         {
             visit.EmployeeId = _sessionContextProvider.SessionContext.UserId;
         }
+
         visit.CallId = dto.CallId;
         if (first != null)
         {
@@ -1483,15 +1483,15 @@ public class OrderApplication : IOrderApplication, IScopeDependency
                 .WhereIF(dto.IsReTransact.HasValue && dto.IsReTransact.Value == false, d => d.ReTransactNum == null || d.ReTransactNum == 0)
                 .WhereIF(!string.IsNullOrEmpty(dto.No), d => d.No.Contains(dto.No)) //工单编码
                 .WhereIF(!string.IsNullOrEmpty(dto.AcceptType), d => d.AcceptTypeCode == dto.AcceptType) //受理类型
-                                                                                                         //.WhereIF(dto.AcceptTypes.Any(), d => dto.AcceptTypes.Contains(d.AcceptTypeCode)) //受理类型
+                //.WhereIF(dto.AcceptTypes.Any(), d => dto.AcceptTypes.Contains(d.AcceptTypeCode)) //受理类型
                 .WhereIF(!string.IsNullOrEmpty(dto.Channel), d => d.SourceChannelCode == dto.Channel)
                 //.WhereIF(dto.Channels.Any(), d => dto.Channels.Contains(d.SourceChannelCode)) //来源渠道
                 //.WhereIF(dto.HotspotIds.Any(), d => dto.HotspotIds.Contains(d.HotspotId)) //热点类型
                 .WhereIF(!string.IsNullOrEmpty(dto.Hotspot), d => d.HotspotSpliceName != null && d.HotspotSpliceName.Contains(dto.Hotspot))
                 .WhereIF(!string.IsNullOrEmpty(dto.TransferPhone), d => d.TransferPhone == dto.TransferPhone!) //转接号码
-                                                                                                               //.WhereIF(dto.OrgCodes.Any(), d => d.Workflow.Assigns.Any(s => dto.OrgCodes.Contains(s.OrgCode)))
-                                                                                                               //.WhereIF(dto.OrgCodes.Any(), d => dto.OrgCodes.Contains(d.ActualHandleOrgCode)) //接办部门
-                                                                                                               //.WhereIF(!string.IsNullOrEmpty(dto.OrgId), d => d.CurrentHandleOrgId == dto.OrgId)//接办部门
+                //.WhereIF(dto.OrgCodes.Any(), d => d.Workflow.Assigns.Any(s => dto.OrgCodes.Contains(s.OrgCode)))
+                //.WhereIF(dto.OrgCodes.Any(), d => dto.OrgCodes.Contains(d.ActualHandleOrgCode)) //接办部门
+                //.WhereIF(!string.IsNullOrEmpty(dto.OrgId), d => d.CurrentHandleOrgId == dto.OrgId)//接办部门
                 .WhereIF(!string.IsNullOrEmpty(dto.OrgLevelOneName), d => d.OrgLevelOneName.Contains(dto.OrgLevelOneName)) //一级部门
                 .WhereIF(!string.IsNullOrEmpty(dto.ActualHandleOrgName), d => d.ActualHandleOrgName.Contains(dto.ActualHandleOrgName)) //接办部门(综合查询模糊)
                 .WhereIF(!string.IsNullOrEmpty(dto.NameOrNo), d => d.AcceptorName == dto.NameOrNo! || d.AcceptorStaffNo == dto.NameOrNo!) //受理人/坐席
@@ -1499,16 +1499,16 @@ public class OrderApplication : IOrderApplication, IScopeDependency
                 .WhereIF(dto.CreationTimeEnd.HasValue, d => d.CreationTime <= dto.CreationTimeEnd) //受理时间结束
                 .WhereIF(dto.StartTimeStart.HasValue, d => d.StartTime >= dto.StartTimeStart) //流程开启时间开始
                 .WhereIF(dto.StartTimeEnd.HasValue, d => d.StartTime <= dto.StartTimeEnd) //流程开启时间结束
-                                                                                          //.WhereIF(dto.EmergencyLevels.Any(), d => dto.EmergencyLevels.Contains(d.EmergencyLevel))  //紧急程度
+                //.WhereIF(dto.EmergencyLevels.Any(), d => dto.EmergencyLevels.Contains(d.EmergencyLevel))  //紧急程度
                 .WhereIF(!string.IsNullOrEmpty(dto.FromPhone), d => d.FromPhone.Contains(dto.FromPhone)) //来电号码
                 .WhereIF(!string.IsNullOrEmpty(dto.PhoneNo), d => d.Contact.Contains(dto.PhoneNo)) //联系电话
-                                                                                                   //.WhereIF(!string.IsNullOrEmpty(dto.PushTypeCode), d => d.PushTypeCode == dto.PushTypeCode) //推送分类
+                //.WhereIF(!string.IsNullOrEmpty(dto.PushTypeCode), d => d.PushTypeCode == dto.PushTypeCode) //推送分类
                 .WhereIF(!string.IsNullOrEmpty(dto.PushTypeCode), x => x.OrderPushTypes.Any(opt => opt.PushTypeCode == dto.PushTypeCode)) //推送分类
                 .WhereIF(dto.ExpiredTimeStart.HasValue, d => d.ExpiredTime >= dto.ExpiredTimeStart) //超期时间开始
                 .WhereIF(dto.ExpiredTimeEnd.HasValue, d => d.ExpiredTime <= dto.ExpiredTimeEnd) //超期时间结束
-                                                                                                //.WhereIF(dto.Statuses.Any(), d => dto.Statuses.Contains(d.Status))  //工单状态
+                //.WhereIF(dto.Statuses.Any(), d => dto.Statuses.Contains(d.Status))  //工单状态
                 .WhereIF(dto.Status.HasValue, d => d.Status == dto.Status) //工单状态
-                                                                           //.WhereIF(dto.Statuses.Any(d => d == EOrderStatus.SpecialToUnAccept), d => d.Status <= EOrderStatus.SpecialToUnAccept)
+                //.WhereIF(dto.Statuses.Any(d => d == EOrderStatus.SpecialToUnAccept), d => d.Status <= EOrderStatus.SpecialToUnAccept)
                 .WhereIF(!string.IsNullOrEmpty(dto.ActualHandlerName), d => d.ActualHandlerName == dto.ActualHandlerName) //接办人
                 .WhereIF(dto.IsScreen == true, d => d.OrderScreens.Any(x => x.Status != EScreenStatus.Refuse)) //有甄别
                 .WhereIF(dto.IsScreen == false, d => !d.OrderScreens.Any(x => x.Status != EScreenStatus.Refuse)) //无甄别
@@ -1523,8 +1523,8 @@ public class OrderApplication : IOrderApplication, IScopeDependency
                          (d.ExpiredTime > d.FiledTime && d.Status >= EOrderStatus.Filed)) //否 超期
                 .WhereIF(dto.IdentityType != null, d => d.IdentityType == dto.IdentityType) //来电主体
                 .WhereIF(!string.IsNullOrEmpty(dto.FromName), d => d.FromName == dto.FromName) //来电人姓名
-                                                                                               //.WhereIF(dto.AreaCodes.Any(), d => dto.AreaCodes.Contains(d.AreaCode)) //区域
-                                                                                               //.WhereIF(!string.IsNullOrEmpty(dto.AreaCode), d => d.AreaCode == dto.AreaCode)//区域
+                //.WhereIF(dto.AreaCodes.Any(), d => dto.AreaCodes.Contains(d.AreaCode)) //区域
+                //.WhereIF(!string.IsNullOrEmpty(dto.AreaCode), d => d.AreaCode == dto.AreaCode)//区域
                 .WhereIF(!string.IsNullOrEmpty(dto.AreaCode) && dto.AreaCode.LastIndexOf("00") > 0,
                     d => d.AreaCode.StartsWith(SqlFunc.Substring(dto.AreaCode, 0, 4)))
                 .WhereIF(!string.IsNullOrEmpty(dto.AreaCode) && dto.AreaCode.LastIndexOf("00") <= 0, d => d.AreaCode.StartsWith(dto.AreaCode))
@@ -1540,16 +1540,18 @@ public class OrderApplication : IOrderApplication, IScopeDependency
                     d.SourceChannelCode == "SZMHD" && d.IsProvince == true) //政民互动
                 .WhereIF(!string.IsNullOrEmpty(dto.ProvinceChannel) && dto.ProvinceChannel == "3", d => d.Source == ESource.ProvinceStraight &&
                     d.SourceChannelCode == "S12345" && d.IsProvince == true) //省12345
-                                                                             //.WhereIF(!string.IsNullOrEmpty(dto.ContentRetrieval),d => d.Title.Contains(dto.ContentRetrieval) || d.Content.Contains(dto.ContentRetrieval) || d.FileOpinion.Contains(dto.ContentRetrieval) || d.ActualOpinion.Contains(dto.ContentRetrieval))
+                //.WhereIF(!string.IsNullOrEmpty(dto.ContentRetrieval),d => d.Title.Contains(dto.ContentRetrieval) || d.Content.Contains(dto.ContentRetrieval) || d.FileOpinion.Contains(dto.ContentRetrieval) || d.ActualOpinion.Contains(dto.ContentRetrieval))
                 .WhereIF(!string.IsNullOrEmpty(dto.ContentRetrieval), d => d.Content.Contains(dto.ContentRetrieval!))
                 .WhereIF(!string.IsNullOrEmpty(dto.FileOption), d => d.FileOpinion.Contains(dto.FileOption!))
                 .WhereIF(dto.IsSgin.HasValue && dto.IsSgin == true, d => d.CurrentStepAcceptTime != null)
                 .WhereIF(dto.IsSgin.HasValue && dto.IsSgin == false, d => d.CurrentStepAcceptTime == null)
                 .WhereIF(dto.FiledType is FiledType.CenterFiled, d => d.FileOrgIsCenter == true) //d => d.ProcessType == EProcessType.Zhiban
                 .WhereIF(dto.FiledType is FiledType.OrgFiled, d => d.FileOrgIsCenter == false) //d => d.ProcessType == EProcessType.Jiaoban
-                                                                                               //.WhereIF(!string.IsNullOrEmpty(dto.OrderTagCode), d => d.OrderTagCode == dto.OrderTagCode)// 工单标签
+                //.WhereIF(!string.IsNullOrEmpty(dto.OrderTagCode), d => d.OrderTagCode == dto.OrderTagCode)// 工单标签
                 .WhereIF(!string.IsNullOrEmpty(dto.OrderTagCode), d => d.OrderTags.Any(ot => ot.DicDataValue == dto.OrderTagCode)) //工单标签
-                .WhereIF(!string.IsNullOrEmpty(dto.FocusOnEvents), d => d.FocusOnEvents.Contains(dto.FocusOnEvents))//!string.IsNullOrEmpty(d.FocusOnEvents) && SqlFunc.SplitIn(d.FocusOnEvents, dto.FocusOnEvents))
+                .WhereIF(!string.IsNullOrEmpty(dto.FocusOnEvents),
+                    d => d.FocusOnEvents.Contains(dto
+                        .FocusOnEvents)) //!string.IsNullOrEmpty(d.FocusOnEvents) && SqlFunc.SplitIn(d.FocusOnEvents, dto.FocusOnEvents))
                 .OrderByIF(string.IsNullOrEmpty(dto.SortField), d => d.CreationTime, OrderByType.Desc) //默认排序时间为创建时间
                 .OrderByIF(dto is { SortField: "no", SortRule: 0 }, d => d.No, OrderByType.Asc) //工单编号升序
                 .OrderByIF(dto is { SortField: "no", SortRule: 1 }, d => d.No, OrderByType.Desc) //工单编号降序
@@ -1963,9 +1965,9 @@ public class OrderApplication : IOrderApplication, IScopeDependency
         if (IsCenter && list != null)
         {
             data = await list.GroupBy(x => new
-            {
-                VisitOrgCode = x.VisitOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6"))
-            })
+                {
+                    VisitOrgCode = x.VisitOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6"))
+                })
                 .Select(x => new VisitAndOrgSatisfactionStatisticsDto()
                 {
                     OrgCode = x.VisitOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6")),
@@ -2022,9 +2024,9 @@ public class OrderApplication : IOrderApplication, IScopeDependency
         else
         {
             data = await list.GroupBy(x => new
-            {
-                VisitOrgCode = x.VisitOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>(orgLevelStr))
-            })
+                {
+                    VisitOrgCode = x.VisitOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>(orgLevelStr))
+                })
                 .Select(x => new VisitAndOrgSatisfactionStatisticsDto()
                 {
                     OrgCode = x.VisitOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>(orgLevelStr)),
@@ -2091,20 +2093,20 @@ public class OrderApplication : IOrderApplication, IScopeDependency
             if (IsCenter)
             {
                 oldData = await query.GroupBy((x, so) => new
-                {
-                    VisitOrgCode = so.Id.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6"))
-                }).Select((x, so) => new VisitAndOrgSatisfactionStatisticsDto()
-                {
-                    OrgCode = so.Id.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6")),
-                    TotalSumCount = SqlFunc.AggregateSum(x.Total),
-                    VerySatisfiedCount = SqlFunc.AggregateSum(x.VerySatisfaction), //非常满意数
-                    SatisfiedCount = SqlFunc.AggregateSum(x.Satisfaction), //满意数
-                    RegardedAsSatisfiedCount = SqlFunc.AggregateSum(x.TreatSatisfaction), //视为满意
-                    DefaultSatisfiedCount = SqlFunc.AggregateSum(x.DefaultSatisfaction), //默认满意
-                    NoSatisfiedCount = SqlFunc.AggregateSum(x.Dissatisfaction), //不满意
-                    NoEvaluateCount = SqlFunc.AggregateSum(x.NotEvaluated), //未做评价
-                    NoPutThroughCount = SqlFunc.AggregateSum(x.BlockCall), //未接通
-                })
+                    {
+                        VisitOrgCode = so.Id.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6"))
+                    }).Select((x, so) => new VisitAndOrgSatisfactionStatisticsDto()
+                    {
+                        OrgCode = so.Id.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6")),
+                        TotalSumCount = SqlFunc.AggregateSum(x.Total),
+                        VerySatisfiedCount = SqlFunc.AggregateSum(x.VerySatisfaction), //非常满意数
+                        SatisfiedCount = SqlFunc.AggregateSum(x.Satisfaction), //满意数
+                        RegardedAsSatisfiedCount = SqlFunc.AggregateSum(x.TreatSatisfaction), //视为满意
+                        DefaultSatisfiedCount = SqlFunc.AggregateSum(x.DefaultSatisfaction), //默认满意
+                        NoSatisfiedCount = SqlFunc.AggregateSum(x.Dissatisfaction), //不满意
+                        NoEvaluateCount = SqlFunc.AggregateSum(x.NotEvaluated), //未做评价
+                        NoPutThroughCount = SqlFunc.AggregateSum(x.BlockCall), //未接通
+                    })
                     .MergeTable()
                     .LeftJoin<SystemOrganize>((it, o) => it.OrgCode == o.Id)
                     .Select((it, o) => new VisitAndOrgSatisfactionStatisticsDto()
@@ -2127,20 +2129,20 @@ public class OrderApplication : IOrderApplication, IScopeDependency
             else
             {
                 oldData = await query.GroupBy((x, so) => new
-                {
-                    VisitOrgCode = so.Id
-                }).Select((x, so) => new VisitAndOrgSatisfactionStatisticsDto()
-                {
-                    OrgCode = so.Id, //.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>(orgLevelStr)),
-                    TotalSumCount = SqlFunc.AggregateSum(x.Total),
-                    VerySatisfiedCount = SqlFunc.AggregateSum(x.VerySatisfaction), //非常满意数
-                    SatisfiedCount = SqlFunc.AggregateSum(x.Satisfaction), //满意数
-                    RegardedAsSatisfiedCount = SqlFunc.AggregateSum(x.TreatSatisfaction), //视为满意
-                    DefaultSatisfiedCount = SqlFunc.AggregateSum(x.DefaultSatisfaction), //默认满意
-                    NoSatisfiedCount = SqlFunc.AggregateSum(x.Dissatisfaction), //不满意
-                    NoEvaluateCount = SqlFunc.AggregateSum(x.NotEvaluated), //未做评价
-                    NoPutThroughCount = SqlFunc.AggregateSum(x.BlockCall), //未接通
-                })
+                    {
+                        VisitOrgCode = so.Id
+                    }).Select((x, so) => new VisitAndOrgSatisfactionStatisticsDto()
+                    {
+                        OrgCode = so.Id, //.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>(orgLevelStr)),
+                        TotalSumCount = SqlFunc.AggregateSum(x.Total),
+                        VerySatisfiedCount = SqlFunc.AggregateSum(x.VerySatisfaction), //非常满意数
+                        SatisfiedCount = SqlFunc.AggregateSum(x.Satisfaction), //满意数
+                        RegardedAsSatisfiedCount = SqlFunc.AggregateSum(x.TreatSatisfaction), //视为满意
+                        DefaultSatisfiedCount = SqlFunc.AggregateSum(x.DefaultSatisfaction), //默认满意
+                        NoSatisfiedCount = SqlFunc.AggregateSum(x.Dissatisfaction), //不满意
+                        NoEvaluateCount = SqlFunc.AggregateSum(x.NotEvaluated), //未做评价
+                        NoPutThroughCount = SqlFunc.AggregateSum(x.BlockCall), //未接通
+                    })
                     .MergeTable().LeftJoin<SystemOrganize>((it, o) => it.OrgCode == o.Id && (o.Level == orgLevel || o.Level == (orgLevel + 1)))
                     .Select((it, o) => new VisitAndOrgSatisfactionStatisticsDto()
                     {
@@ -2160,22 +2162,22 @@ public class OrderApplication : IOrderApplication, IScopeDependency
             }
 
             data = (from t1 in data
-                    join t2 in oldData on t1.OrgCode equals t2.OrgCode into t1_t2
-                    from item in t1_t2.DefaultIfEmpty()
-                    select new VisitAndOrgSatisfactionStatisticsDto()
-                    {
-                        OrgName = t1.OrgName,
-                        OrgCode = t1.OrgCode,
-                        OrgType = t1.OrgType,
-                        TotalSumCount = t1.TotalSumCount + t1_t2.Select(x => x.TotalSumCount).FirstOrDefault(),
-                        VerySatisfiedCount = t1.VerySatisfiedCount + t1_t2.Select(x => x.VerySatisfiedCount).FirstOrDefault(), //非常满意数
-                        SatisfiedCount = t1.SatisfiedCount + t1_t2.Select(x => x.SatisfiedCount).FirstOrDefault(), //满意数
-                        RegardedAsSatisfiedCount = t1.RegardedAsSatisfiedCount + t1_t2.Select(x => x.RegardedAsSatisfiedCount).FirstOrDefault(), //视为满意
-                        DefaultSatisfiedCount = t1.DefaultSatisfiedCount + t1_t2.Select(x => x.DefaultSatisfiedCount).FirstOrDefault(), //默认满意
-                        NoSatisfiedCount = t1.NoSatisfiedCount + t1_t2.Select(x => x.NoSatisfiedCount).FirstOrDefault(), //不满意
-                        NoEvaluateCount = t1.NoEvaluateCount + t1_t2.Select(x => x.NoEvaluateCount).FirstOrDefault(), //未做评价
-                        NoPutThroughCount = t1.NoPutThroughCount + t1_t2.Select(x => x.NoPutThroughCount).FirstOrDefault(), //未接通
-                    }).ToList();
+                join t2 in oldData on t1.OrgCode equals t2.OrgCode into t1_t2
+                from item in t1_t2.DefaultIfEmpty()
+                select new VisitAndOrgSatisfactionStatisticsDto()
+                {
+                    OrgName = t1.OrgName,
+                    OrgCode = t1.OrgCode,
+                    OrgType = t1.OrgType,
+                    TotalSumCount = t1.TotalSumCount + t1_t2.Select(x => x.TotalSumCount).FirstOrDefault(),
+                    VerySatisfiedCount = t1.VerySatisfiedCount + t1_t2.Select(x => x.VerySatisfiedCount).FirstOrDefault(), //非常满意数
+                    SatisfiedCount = t1.SatisfiedCount + t1_t2.Select(x => x.SatisfiedCount).FirstOrDefault(), //满意数
+                    RegardedAsSatisfiedCount = t1.RegardedAsSatisfiedCount + t1_t2.Select(x => x.RegardedAsSatisfiedCount).FirstOrDefault(), //视为满意
+                    DefaultSatisfiedCount = t1.DefaultSatisfiedCount + t1_t2.Select(x => x.DefaultSatisfiedCount).FirstOrDefault(), //默认满意
+                    NoSatisfiedCount = t1.NoSatisfiedCount + t1_t2.Select(x => x.NoSatisfiedCount).FirstOrDefault(), //不满意
+                    NoEvaluateCount = t1.NoEvaluateCount + t1_t2.Select(x => x.NoEvaluateCount).FirstOrDefault(), //未做评价
+                    NoPutThroughCount = t1.NoPutThroughCount + t1_t2.Select(x => x.NoPutThroughCount).FirstOrDefault(), //未接通
+                }).ToList();
         }
 
         #endregion
@@ -2288,20 +2290,20 @@ public class OrderApplication : IOrderApplication, IScopeDependency
                 .Where((x, so) => x.Time >= dto.StartTime.Value && x.Time <= dto.EndTime.Value);
 
             oldData = await query.GroupBy((x, so) => new
-            {
-                VisitOrgCode = so.Id
-            }).Select((x, so) => new VisitAndOrgSatisfactionStatisticsDto()
-            {
-                OrgCode = so.Id, //.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>(orgLevelStr)),
-                TotalSumCount = SqlFunc.AggregateSum(x.Total),
-                VerySatisfiedCount = SqlFunc.AggregateSum(x.VerySatisfaction), //非常满意数
-                SatisfiedCount = SqlFunc.AggregateSum(x.Satisfaction), //满意数
-                RegardedAsSatisfiedCount = SqlFunc.AggregateSum(x.TreatSatisfaction), //视为满意
-                DefaultSatisfiedCount = SqlFunc.AggregateSum(x.DefaultSatisfaction), //默认满意
-                NoSatisfiedCount = SqlFunc.AggregateSum(x.Dissatisfaction), //不满意
-                NoEvaluateCount = SqlFunc.AggregateSum(x.NotEvaluated), //未做评价
-                NoPutThroughCount = SqlFunc.AggregateSum(x.BlockCall), //未接通
-            })
+                {
+                    VisitOrgCode = so.Id
+                }).Select((x, so) => new VisitAndOrgSatisfactionStatisticsDto()
+                {
+                    OrgCode = so.Id, //.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>(orgLevelStr)),
+                    TotalSumCount = SqlFunc.AggregateSum(x.Total),
+                    VerySatisfiedCount = SqlFunc.AggregateSum(x.VerySatisfaction), //非常满意数
+                    SatisfiedCount = SqlFunc.AggregateSum(x.Satisfaction), //满意数
+                    RegardedAsSatisfiedCount = SqlFunc.AggregateSum(x.TreatSatisfaction), //视为满意
+                    DefaultSatisfiedCount = SqlFunc.AggregateSum(x.DefaultSatisfaction), //默认满意
+                    NoSatisfiedCount = SqlFunc.AggregateSum(x.Dissatisfaction), //不满意
+                    NoEvaluateCount = SqlFunc.AggregateSum(x.NotEvaluated), //未做评价
+                    NoPutThroughCount = SqlFunc.AggregateSum(x.BlockCall), //未接通
+                })
                 .MergeTable().LeftJoin<SystemOrganize>((it, o) => it.OrgCode == o.Id && (o.Level == org.Level || o.Level == (org.Level + 1)))
                 .Select((it, o) => new VisitAndOrgSatisfactionStatisticsDto()
                 {
@@ -2319,22 +2321,22 @@ public class OrderApplication : IOrderApplication, IScopeDependency
                 })
                 .ToListAsync();
             mainList = (from t1 in mainList
-                        join t2 in oldData on t1.OrgCode equals t2.OrgCode into t1_t2
-                        from item in t1_t2.DefaultIfEmpty()
-                        select new VisitAndOrgSatisfactionStatisticsDto()
-                        {
-                            OrgName = t1.OrgName,
-                            OrgCode = t1.OrgCode,
-                            OrgType = t1.OrgType,
-                            TotalSumCount = t1.TotalSumCount + t1_t2.Select(x => x.TotalSumCount).FirstOrDefault(),
-                            VerySatisfiedCount = t1.VerySatisfiedCount + t1_t2.Select(x => x.VerySatisfiedCount).FirstOrDefault(), //非常满意数
-                            SatisfiedCount = t1.SatisfiedCount + t1_t2.Select(x => x.SatisfiedCount).FirstOrDefault(), //满意数
-                            RegardedAsSatisfiedCount = t1.RegardedAsSatisfiedCount + t1_t2.Select(x => x.RegardedAsSatisfiedCount).FirstOrDefault(), //视为满意
-                            DefaultSatisfiedCount = t1.DefaultSatisfiedCount + t1_t2.Select(x => x.DefaultSatisfiedCount).FirstOrDefault(), //默认满意
-                            NoSatisfiedCount = t1.NoSatisfiedCount + t1_t2.Select(x => x.NoSatisfiedCount).FirstOrDefault(), //不满意
-                            NoEvaluateCount = t1.NoEvaluateCount + t1_t2.Select(x => x.NoEvaluateCount).FirstOrDefault(), //未做评价
-                            NoPutThroughCount = t1.NoPutThroughCount + t1_t2.Select(x => x.NoPutThroughCount).FirstOrDefault(), //未接通
-                        }).ToList();
+                join t2 in oldData on t1.OrgCode equals t2.OrgCode into t1_t2
+                from item in t1_t2.DefaultIfEmpty()
+                select new VisitAndOrgSatisfactionStatisticsDto()
+                {
+                    OrgName = t1.OrgName,
+                    OrgCode = t1.OrgCode,
+                    OrgType = t1.OrgType,
+                    TotalSumCount = t1.TotalSumCount + t1_t2.Select(x => x.TotalSumCount).FirstOrDefault(),
+                    VerySatisfiedCount = t1.VerySatisfiedCount + t1_t2.Select(x => x.VerySatisfiedCount).FirstOrDefault(), //非常满意数
+                    SatisfiedCount = t1.SatisfiedCount + t1_t2.Select(x => x.SatisfiedCount).FirstOrDefault(), //满意数
+                    RegardedAsSatisfiedCount = t1.RegardedAsSatisfiedCount + t1_t2.Select(x => x.RegardedAsSatisfiedCount).FirstOrDefault(), //视为满意
+                    DefaultSatisfiedCount = t1.DefaultSatisfiedCount + t1_t2.Select(x => x.DefaultSatisfiedCount).FirstOrDefault(), //默认满意
+                    NoSatisfiedCount = t1.NoSatisfiedCount + t1_t2.Select(x => x.NoSatisfiedCount).FirstOrDefault(), //不满意
+                    NoEvaluateCount = t1.NoEvaluateCount + t1_t2.Select(x => x.NoEvaluateCount).FirstOrDefault(), //未做评价
+                    NoPutThroughCount = t1.NoPutThroughCount + t1_t2.Select(x => x.NoPutThroughCount).FirstOrDefault(), //未接通
+                }).ToList();
         }
 
         #endregion
@@ -2660,10 +2662,10 @@ public class OrderApplication : IOrderApplication, IScopeDependency
         if (IsCenter && list != null)
         {
             data = await list.GroupBy((x, h) => new
-            {
-                HotspotName = h.HotSpotName,
-                HotspotId = h.Id
-            })
+                {
+                    HotspotName = h.HotSpotName,
+                    HotspotId = h.Id
+                })
                 .Select((x, h) => new VisitAndHotspotSatisfactionStatisticsDto()
                 {
                     HotspotName = h.HotSpotName,
@@ -2698,10 +2700,10 @@ public class OrderApplication : IOrderApplication, IScopeDependency
         else
         {
             data = await list.GroupBy((x, h) => new
-            {
-                HotspotName = h.HotSpotName,
-                HotspotId = h.Id
-            })
+                {
+                    HotspotName = h.HotSpotName,
+                    HotspotId = h.Id
+                })
                 .Select((x, h) => new VisitAndHotspotSatisfactionStatisticsDto()
                 {
                     HotspotName = h.HotSpotName,
@@ -2763,21 +2765,21 @@ public class OrderApplication : IOrderApplication, IScopeDependency
                 .ToListAsync();
 
             data = (from t1 in data
-                    join t2 in oldList on t1.HotspotId equals t2.HotspotId into t1_t2
-                    from item in t1_t2.DefaultIfEmpty()
-                    select new VisitAndHotspotSatisfactionStatisticsDto()
-                    {
-                        HotspotName = t1.HotspotName,
-                        HotspotId = t1.HotspotId,
-                        TotalSumCount = t1.TotalSumCount + t1_t2.Select(x => x.TotalSumCount).FirstOrDefault(),
-                        VerySatisfiedCount = t1.VerySatisfiedCount + t1_t2.Select(x => x.VerySatisfiedCount).FirstOrDefault(), //非常满意数
-                        SatisfiedCount = t1.SatisfiedCount + t1_t2.Select(x => x.SatisfiedCount).FirstOrDefault(), //满意数
-                        RegardedAsSatisfiedCount = t1.RegardedAsSatisfiedCount + t1_t2.Select(x => x.RegardedAsSatisfiedCount).FirstOrDefault(), //视为满意
-                        DefaultSatisfiedCount = t1.DefaultSatisfiedCount + t1_t2.Select(x => x.DefaultSatisfiedCount).FirstOrDefault(), //默认满意
-                        NoSatisfiedCount = t1.NoSatisfiedCount + t1_t2.Select(x => x.NoSatisfiedCount).FirstOrDefault(), //不满意
-                        NoEvaluateCount = t1.NoEvaluateCount + t1_t2.Select(x => x.NoEvaluateCount).FirstOrDefault(), //未做评价
-                        NoPutThroughCount = t1.NoPutThroughCount + t1_t2.Select(x => x.NoPutThroughCount).FirstOrDefault(), //未接通
-                    }).ToList();
+                join t2 in oldList on t1.HotspotId equals t2.HotspotId into t1_t2
+                from item in t1_t2.DefaultIfEmpty()
+                select new VisitAndHotspotSatisfactionStatisticsDto()
+                {
+                    HotspotName = t1.HotspotName,
+                    HotspotId = t1.HotspotId,
+                    TotalSumCount = t1.TotalSumCount + t1_t2.Select(x => x.TotalSumCount).FirstOrDefault(),
+                    VerySatisfiedCount = t1.VerySatisfiedCount + t1_t2.Select(x => x.VerySatisfiedCount).FirstOrDefault(), //非常满意数
+                    SatisfiedCount = t1.SatisfiedCount + t1_t2.Select(x => x.SatisfiedCount).FirstOrDefault(), //满意数
+                    RegardedAsSatisfiedCount = t1.RegardedAsSatisfiedCount + t1_t2.Select(x => x.RegardedAsSatisfiedCount).FirstOrDefault(), //视为满意
+                    DefaultSatisfiedCount = t1.DefaultSatisfiedCount + t1_t2.Select(x => x.DefaultSatisfiedCount).FirstOrDefault(), //默认满意
+                    NoSatisfiedCount = t1.NoSatisfiedCount + t1_t2.Select(x => x.NoSatisfiedCount).FirstOrDefault(), //不满意
+                    NoEvaluateCount = t1.NoEvaluateCount + t1_t2.Select(x => x.NoEvaluateCount).FirstOrDefault(), //未做评价
+                    NoPutThroughCount = t1.NoPutThroughCount + t1_t2.Select(x => x.NoPutThroughCount).FirstOrDefault(), //未接通
+                }).ToList();
         }
 
         return data;
@@ -3222,7 +3224,7 @@ public class OrderApplication : IOrderApplication, IScopeDependency
             .Includes(x => x.OrderScreens)
             .Where(x => x.OrderScreens.Any(s => s.Status == EScreenStatus.SendBack && s.ScreenType == dto.ScreenType && s.SendBackApply == true) ||
                         x.OrderScreens.Any() == false
-            //|| x.OrderScreens.Any(s => (s.Status != EScreenStatus.SendBack && s.SendBackApply != true)) == false
+                //|| x.OrderScreens.Any(s => (s.Status != EScreenStatus.SendBack && s.SendBackApply != true)) == false
             )
             .Where(x => x.OrderVisit.Order.ReceiveProvinceNo.StartsWith("ZGZFW") == false ||
                         string.IsNullOrEmpty(x.OrderVisit.Order.ReceiveProvinceNo))
@@ -3462,7 +3464,8 @@ public class OrderApplication : IOrderApplication, IScopeDependency
             .WhereIF(dto.IsAiVisit.HasValue && dto.IsAiVisit == true, d => d.AiVisitCount <= 0) //(未建立过)
             .WhereIF(!string.IsNullOrEmpty(dto.Channel), d => d.Order.SourceChannelCode == dto.Channel)
             .WhereIF(!string.IsNullOrEmpty(dto.OrderTagCode),
-            d => SqlFunc.Subqueryable<OrderRelationTag>().InnerJoin<SystemDicData>((s, p) => s.TagId == p.Id).Where((s, p) => p.DicDataValue == dto.OrderTagCode && d.OrderId == s.OrderId).Any())//工单标签
+                d => SqlFunc.Subqueryable<OrderRelationTag>().InnerJoin<SystemDicData>((s, p) => s.TagId == p.Id)
+                    .Where((s, p) => p.DicDataValue == dto.OrderTagCode && d.OrderId == s.OrderId).Any()) //工单标签
             .OrderByIF(dto.VisitStateQuery != EVisitStateQuery.Visited, d => d.Order.IsUrgent, OrderByType.Desc)
             .OrderByDescending(d => d.PublishTime);
         return query;
@@ -4430,20 +4433,20 @@ public class OrderApplication : IOrderApplication, IScopeDependency
             }).ToListAsync();
 
         var res = (from t1 in items
-                   join t2 in items2 on t1.UserId equals t2.UserId into t1_t2
-                   from item in t1_t2.DefaultIfEmpty()
-                   select new SendOrderReportOutDto
-                   {
-                       UserId = t1.UserId,
-                       UserName = t1.UserName,
-                       SendOrderNum = t1.SendOrderNum,
-                       NoSendOrderNum = t1.NoSendOrderNum,
-                       ReSendOrderNum = t1_t2.Select(x => x.ReSendOrderNum).FirstOrDefault(),
-                       ChainRate = t1_t2.Select(x => x.ReSendOrderNum).FirstOrDefault() > 0
-                           ? ((double.Parse(t1.SendOrderNum.ToString()) - double.Parse(t1_t2.Select(x => x.ReSendOrderNum).FirstOrDefault().ToString())) /
-                               double.Parse(t1.SendOrderNum.ToString()) * 100).ToString("F2") + "%"
-                           : "100.00%",
-                   }).ToList();
+            join t2 in items2 on t1.UserId equals t2.UserId into t1_t2
+            from item in t1_t2.DefaultIfEmpty()
+            select new SendOrderReportOutDto
+            {
+                UserId = t1.UserId,
+                UserName = t1.UserName,
+                SendOrderNum = t1.SendOrderNum,
+                NoSendOrderNum = t1.NoSendOrderNum,
+                ReSendOrderNum = t1_t2.Select(x => x.ReSendOrderNum).FirstOrDefault(),
+                ChainRate = t1_t2.Select(x => x.ReSendOrderNum).FirstOrDefault() > 0
+                    ? ((double.Parse(t1.SendOrderNum.ToString()) - double.Parse(t1_t2.Select(x => x.ReSendOrderNum).FirstOrDefault().ToString())) /
+                        double.Parse(t1.SendOrderNum.ToString()) * 100).ToString("F2") + "%"
+                    : "100.00%",
+            }).ToList();
         return res;
     }
 
@@ -4596,7 +4599,7 @@ public class OrderApplication : IOrderApplication, IScopeDependency
                     )
                     .Where(d => d.Status <= EOrderStatus.HandOverToUnAccept
                                 || d.Status == EOrderStatus.Handling //指派给班长再指派回坐席时
-                                                                     //|| d.Status == EOrderStatus.Countersigning//跨级派单业务如发起会签再回到坐席会签汇总时
+                        //|| d.Status == EOrderStatus.Countersigning//跨级派单业务如发起会签再回到坐席会签汇总时
                     )
                     ;
 
@@ -4785,8 +4788,8 @@ public class OrderApplication : IOrderApplication, IScopeDependency
             .WhereIF(dto.IsUrgent.HasValue, d => d.IsUrgent == dto.IsUrgent!.Value)
             .WhereIF(dto.Status.HasValue, d => d.Status == dto.Status) //工单状态
             .WhereIF(!string.IsNullOrEmpty(dto.CurrentStepCode), d => d.CurrentStepCode == dto.CurrentStepCode) //当前办理节点
-            .WhereIF(!string.IsNullOrEmpty(dto.OrderTagCode), d => d.OrderTags.Any(ot => ot.DicDataValue == dto.OrderTagCode))//工单标签
-                                                                                                                              //.OrderByDescending(d => d.IsUrgent)
+            .WhereIF(!string.IsNullOrEmpty(dto.OrderTagCode), d => d.OrderTags.Any(ot => ot.DicDataValue == dto.OrderTagCode)) //工单标签
+            //.OrderByDescending(d => d.IsUrgent)
             .OrderByIF(string.IsNullOrEmpty(dto.SortField), d => d.IsUrgent, OrderByType.Desc)
             .OrderByIF(string.IsNullOrEmpty(dto.SortField), d => d.StartTime, OrderByType.Desc)
             .OrderByIF(dto is { SortField: "creationTime", SortRule: 0 }, d => d.CreationTime, OrderByType.Asc) //创建时间升序
@@ -5004,17 +5007,14 @@ public class OrderApplication : IOrderApplication, IScopeDependency
     /// </summary>
     /// <param name="dto"></param>
     /// <returns></returns>
-
     public ISugarQueryable<ExtendedSendBackVo> ExtendedSendBackStatistics(PagedKeywordRequest dto)
     {
-
         var query = _orderSendBackAuditRepository.Queryable()
             .Where(x => x.ApplyOrgId.Length == 6)
             .WhereIF(dto.StartTime.HasValue && dto.EndTime.HasValue, x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
             .GroupBy(x => new { x.ApplyOrgId, x.ApplyOrgName })
             .Select(x => new ExtendedSendBackVo()
             {
-
                 OrgId = x.ApplyOrgId,
                 OrgName = x.ApplyOrgName,
                 TotalNum = SqlFunc.AggregateSum(1),
@@ -5034,37 +5034,38 @@ public class OrderApplication : IOrderApplication, IScopeDependency
     public ISugarQueryable<OrderSendBackAudit> ExtendedSendBackDetail(ExtendedSendBackRequest dto)
     {
         var query = _orderSendBackAuditRepository.Queryable()
-            .Includes(x => x.Order)
-            .Where(x => x.ApplyOrgId.Length == 6)
-            .WhereIF(dto.StartTime.HasValue && dto.EndTime.HasValue, x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
-            .WhereIF(!_sessionContext.OrgIsCenter, x => x.ApplyOrgId == _sessionContext.RequiredOrgId)
-            .WhereIF(!string.IsNullOrEmpty(dto.No), x => x.Order.No.Contains(dto.No!))
-            .WhereIF(!string.IsNullOrEmpty(dto.Titel), x => x.Order.Title.Contains(dto.Titel!))
-            .WhereIF(!string.IsNullOrEmpty(dto.OrgId), x => x.ApplyOrgId == dto.OrgId)
-            .WhereIF(dto.Type is ExtendedSendBackType.PassNum, x => x.State == ESendBackAuditState.End)
-            .WhereIF(dto.Type is ExtendedSendBackType.NoPassNum, x => x.State == ESendBackAuditState.Refuse)
-            .WhereIF(dto.Type is ExtendedSendBackType.AuditNum, x => x.State == ESendBackAuditState.Apply)
-            .WhereIF(!string.IsNullOrEmpty(dto.AcceptType), x => x.Order.AcceptTypeCode == dto.AcceptType) //受理类型
-            .WhereIF(!string.IsNullOrEmpty(dto.Channel), x => x.Order.SourceChannelCode == dto.Channel) //来源渠道
-            .WhereIF(!string.IsNullOrEmpty(dto.Hotspot), x => x.Order.HotspotSpliceName != null && x.Order.HotspotSpliceName.Contains(dto.Hotspot))//热点分类
-            .WhereIF(dto.CreationTimeStart.HasValue, x => x.Order.CreationTime >= dto.CreationTimeStart) //受理时间开始
-            .WhereIF(dto.CreationTimeEnd.HasValue, x => x.Order.CreationTime <= dto.CreationTimeEnd) //受理时间结束
-            .WhereIF(!string.IsNullOrEmpty(dto.ApplyOrgName), x => x.ApplyOrgName == dto.ApplyOrgName!) //申请部门
-            .WhereIF(!string.IsNullOrEmpty(dto.ApplyUserName), x => x.CreatorName == dto.ApplyUserName!) //申请人
-            .WhereIF(dto.State.HasValue, x => x.State == dto.State) //退回审批状态
-            .WhereIF(!string.IsNullOrEmpty(dto.AuditUser), x => x.AuditUser == dto.AuditUser!) //审批人
-            .WhereIF(dto.AuditTimeStart.HasValue && dto.AuditTimeEnd.HasValue, x => x.AuditTime >= dto.AuditTimeStart && x.AuditTime <= dto.AuditTimeEnd)// 审批时间
-            .WhereIF(!string.IsNullOrEmpty(dto.AuditContent), x => x.AuditContent.Contains(dto.AuditContent!))//审批意见
-            .OrderByIF(string.IsNullOrEmpty(dto.SortField), x => x.CreationTime, OrderByType.Desc)
-            .OrderByIF(dto is { SortField: "order.startTime", SortRule: 0 }, x => x.Order.StartTime, OrderByType.Asc)
-            .OrderByIF(dto is { SortField: "order.startTime", SortRule: 1 }, x => x.Order.StartTime, OrderByType.Desc)
-            .OrderByIF(dto is { SortField: "creationTime", SortRule: 0 }, x => x.CreationTime, OrderByType.Asc)
-            .OrderByIF(dto is { SortField: "creationTime", SortRule: 1 }, x => x.CreationTime, OrderByType.Desc)
-            .OrderByIF(dto is { SortField: "auditTime", SortRule: 0 }, x => x.AuditTime, OrderByType.Asc)
-            .OrderByIF(dto is { SortField: "auditTime", SortRule: 1 }, x => x.AuditTime, OrderByType.Desc)
+                .Includes(x => x.Order)
+                .Where(x => x.ApplyOrgId.Length == 6)
+                .WhereIF(dto.StartTime.HasValue && dto.EndTime.HasValue, x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
+                .WhereIF(!_sessionContext.OrgIsCenter, x => x.ApplyOrgId == _sessionContext.RequiredOrgId)
+                .WhereIF(!string.IsNullOrEmpty(dto.No), x => x.Order.No.Contains(dto.No!))
+                .WhereIF(!string.IsNullOrEmpty(dto.Titel), x => x.Order.Title.Contains(dto.Titel!))
+                .WhereIF(!string.IsNullOrEmpty(dto.OrgId), x => x.ApplyOrgId == dto.OrgId)
+                .WhereIF(dto.Type is ExtendedSendBackType.PassNum, x => x.State == ESendBackAuditState.End)
+                .WhereIF(dto.Type is ExtendedSendBackType.NoPassNum, x => x.State == ESendBackAuditState.Refuse)
+                .WhereIF(dto.Type is ExtendedSendBackType.AuditNum, x => x.State == ESendBackAuditState.Apply)
+                .WhereIF(!string.IsNullOrEmpty(dto.AcceptType), x => x.Order.AcceptTypeCode == dto.AcceptType) //受理类型
+                .WhereIF(!string.IsNullOrEmpty(dto.Channel), x => x.Order.SourceChannelCode == dto.Channel) //来源渠道
+                .WhereIF(!string.IsNullOrEmpty(dto.Hotspot),
+                    x => x.Order.HotspotSpliceName != null && x.Order.HotspotSpliceName.Contains(dto.Hotspot)) //热点分类
+                .WhereIF(dto.CreationTimeStart.HasValue, x => x.Order.CreationTime >= dto.CreationTimeStart) //受理时间开始
+                .WhereIF(dto.CreationTimeEnd.HasValue, x => x.Order.CreationTime <= dto.CreationTimeEnd) //受理时间结束
+                .WhereIF(!string.IsNullOrEmpty(dto.ApplyOrgName), x => x.ApplyOrgName == dto.ApplyOrgName!) //申请部门
+                .WhereIF(!string.IsNullOrEmpty(dto.ApplyUserName), x => x.CreatorName == dto.ApplyUserName!) //申请人
+                .WhereIF(dto.State.HasValue, x => x.State == dto.State) //退回审批状态
+                .WhereIF(!string.IsNullOrEmpty(dto.AuditUser), x => x.AuditUser == dto.AuditUser!) //审批人
+                .WhereIF(dto.AuditTimeStart.HasValue && dto.AuditTimeEnd.HasValue,
+                    x => x.AuditTime >= dto.AuditTimeStart && x.AuditTime <= dto.AuditTimeEnd) // 审批时间
+                .WhereIF(!string.IsNullOrEmpty(dto.AuditContent), x => x.AuditContent.Contains(dto.AuditContent!)) //审批意见
+                .OrderByIF(string.IsNullOrEmpty(dto.SortField), x => x.CreationTime, OrderByType.Desc)
+                .OrderByIF(dto is { SortField: "order.startTime", SortRule: 0 }, x => x.Order.StartTime, OrderByType.Asc)
+                .OrderByIF(dto is { SortField: "order.startTime", SortRule: 1 }, x => x.Order.StartTime, OrderByType.Desc)
+                .OrderByIF(dto is { SortField: "creationTime", SortRule: 0 }, x => x.CreationTime, OrderByType.Asc)
+                .OrderByIF(dto is { SortField: "creationTime", SortRule: 1 }, x => x.CreationTime, OrderByType.Desc)
+                .OrderByIF(dto is { SortField: "auditTime", SortRule: 0 }, x => x.AuditTime, OrderByType.Asc)
+                .OrderByIF(dto is { SortField: "auditTime", SortRule: 1 }, x => x.AuditTime, OrderByType.Desc)
             ;
         return query;
-
     }
 
 
@@ -5098,33 +5099,32 @@ public class OrderApplication : IOrderApplication, IScopeDependency
         }
 
         return query
-            .Includes(d => d.Order)
-            .Includes(d => d.Workflow)
-            //如果查询全部
-            //1.1、热线中心用户看系统中所有已申请延期的工单(需排除取消延期的工单)和自动延期的工单
-            //1.2、部门用户看部门及其下级部门已申请延期的工单(需排除取消延期的工单)和部门办理中时自动延期的工单
-            .WhereIF(dto.DataScope is 0, d => (d.AutomaticDelayNum == 0 || d.AutomaticDelayNum == null) && d.DelayState != EDelayState.Withdraw)
-            .WhereIF(dto.DataScope is 0 && !_sessionContext.OrgIsCenter, d => d.CreatorOrgId.StartsWith(_sessionContext.RequiredOrgId))
-            .WhereIF(!string.IsNullOrEmpty(dto.Keyword),
-                d => d.Order.Title.Contains(dto.Keyword!) || d.Order.No.Contains(dto.Keyword!))
-            .WhereIF(dto.IsApply == true, d => d.DelayState != EDelayState.Examining)
-            .WhereIF(dto.IsApply == false, d => d.DelayState == EDelayState.Examining)
-            .WhereIF(dto.DelayState != null, d => d.DelayState == dto.DelayState)
-            //延期列表页面数据范围快捷查询条件选中“我的“时需排除取消延期的工单
-            .WhereIF(dto.DataScope is 1, d => d.CreatorId == _sessionContext.RequiredUserId && d.DelayState != EDelayState.Withdraw)
-            .WhereIF(dto.QueryDelayState is EQueryDelayState.Examining, d => d.DelayState == EDelayState.Examining)
-            .WhereIF(dto.QueryDelayState is EQueryDelayState.Pass, d => d.DelayState == EDelayState.Pass)
-            .WhereIF(dto.QueryDelayState is EQueryDelayState.NoPass, d => d.DelayState == EDelayState.NoPass)
-            .WhereIF(!string.IsNullOrEmpty(dto.CurrentStepName),
-                d => !SqlFunc.IsNullOrEmpty(d.WorkflowId) && d.Workflow.ActualHandleStepName == dto.CurrentStepName) //当前节点
-            .WhereIF(!string.IsNullOrEmpty(dto.ActualHandlerName),
-                d => !SqlFunc.IsNullOrEmpty(d.WorkflowId) && d.Workflow.ActualHandlerName == dto.ActualHandlerName) // 审批人
-            .WhereIF(!string.IsNullOrEmpty(dto.OrgLevelOneName), d => d.Order.OrgLevelOneName == dto.OrgLevelOneName) //一级部门
-            .WhereIF(dto.StartCreationTime.HasValue && dto.EndCreationTime.HasValue,
-                d => d.CreationTime >= dto.StartCreationTime && d.CreationTime <= dto.EndCreationTime) // 申请时间
-            .OrderByDescending(d => d.ApplyDelayTime)
-           ;
-
+                .Includes(d => d.Order)
+                .Includes(d => d.Workflow)
+                //如果查询全部
+                //1.1、热线中心用户看系统中所有已申请延期的工单(需排除取消延期的工单)和自动延期的工单
+                //1.2、部门用户看部门及其下级部门已申请延期的工单(需排除取消延期的工单)和部门办理中时自动延期的工单
+                .WhereIF(dto.DataScope is 0, d => (d.AutomaticDelayNum == 0 || d.AutomaticDelayNum == null) && d.DelayState != EDelayState.Withdraw)
+                .WhereIF(dto.DataScope is 0 && !_sessionContext.OrgIsCenter, d => d.CreatorOrgId.StartsWith(_sessionContext.RequiredOrgId))
+                .WhereIF(!string.IsNullOrEmpty(dto.Keyword),
+                    d => d.Order.Title.Contains(dto.Keyword!) || d.Order.No.Contains(dto.Keyword!))
+                .WhereIF(dto.IsApply == true, d => d.DelayState != EDelayState.Examining)
+                .WhereIF(dto.IsApply == false, d => d.DelayState == EDelayState.Examining)
+                .WhereIF(dto.DelayState != null, d => d.DelayState == dto.DelayState)
+                //延期列表页面数据范围快捷查询条件选中“我的“时需排除取消延期的工单
+                .WhereIF(dto.DataScope is 1, d => d.CreatorId == _sessionContext.RequiredUserId && d.DelayState != EDelayState.Withdraw)
+                .WhereIF(dto.QueryDelayState is EQueryDelayState.Examining, d => d.DelayState == EDelayState.Examining)
+                .WhereIF(dto.QueryDelayState is EQueryDelayState.Pass, d => d.DelayState == EDelayState.Pass)
+                .WhereIF(dto.QueryDelayState is EQueryDelayState.NoPass, d => d.DelayState == EDelayState.NoPass)
+                .WhereIF(!string.IsNullOrEmpty(dto.CurrentStepName),
+                    d => !SqlFunc.IsNullOrEmpty(d.WorkflowId) && d.Workflow.ActualHandleStepName == dto.CurrentStepName) //当前节点
+                .WhereIF(!string.IsNullOrEmpty(dto.ActualHandlerName),
+                    d => !SqlFunc.IsNullOrEmpty(d.WorkflowId) && d.Workflow.ActualHandlerName == dto.ActualHandlerName) // 审批人
+                .WhereIF(!string.IsNullOrEmpty(dto.OrgLevelOneName), d => d.Order.OrgLevelOneName == dto.OrgLevelOneName) //一级部门
+                .WhereIF(dto.StartCreationTime.HasValue && dto.EndCreationTime.HasValue,
+                    d => d.CreationTime >= dto.StartCreationTime && d.CreationTime <= dto.EndCreationTime) // 申请时间
+                .OrderByDescending(d => d.ApplyDelayTime)
+            ;
     }
 
     /// <summary>
@@ -5136,17 +5136,17 @@ public class OrderApplication : IOrderApplication, IScopeDependency
         var isAdmin = _orderDomainService.IsCheckAdmin();
         var isHandled = dto.IsApply.HasValue && dto.IsApply.Value;
         var query = _orderDelayRepository
-            .Queryable(hasHandled: isHandled, isAdmin: isAdmin)
-            .Includes(d => d.Order)
-            .Includes(d => d.Workflow)
-            .WhereIF(!string.IsNullOrEmpty(dto.Keyword),
-                d => d.Order.Title.Contains(dto.Keyword!) || d.No.Contains(dto.Keyword!))
-            //.WhereIF(dto.IsApply == true, d => d.DelayState != EDelayState.Examining)
-            .WhereIF(dto.IsApply == false, d => d.DelayState == EDelayState.Examining)
-            //.WhereIF(dto.DelayState != null, x => x.DelayState == dto.DelayState)
-            //.Where(x=>x.DelayState == EDelayState.Examining)
-            .OrderByDescending(d => d.ApplyDelayTime)
-           ;
+                .Queryable(hasHandled: isHandled, isAdmin: isAdmin)
+                .Includes(d => d.Order)
+                .Includes(d => d.Workflow)
+                .WhereIF(!string.IsNullOrEmpty(dto.Keyword),
+                    d => d.Order.Title.Contains(dto.Keyword!) || d.No.Contains(dto.Keyword!))
+                //.WhereIF(dto.IsApply == true, d => d.DelayState != EDelayState.Examining)
+                .WhereIF(dto.IsApply == false, d => d.DelayState == EDelayState.Examining)
+                //.WhereIF(dto.DelayState != null, x => x.DelayState == dto.DelayState)
+                //.Where(x=>x.DelayState == EDelayState.Examining)
+                .OrderByDescending(d => d.ApplyDelayTime)
+            ;
 
         return query;
     }
@@ -5183,9 +5183,7 @@ public class OrderApplication : IOrderApplication, IScopeDependency
             userId = prevStep.HandlerId;
             orgId = prevStep.HandlerOrgId;
             roles = [prevStep.RoleId];
-        } while (
-        sendBack.AssignStepId != prevStep.Id && prevStep.StepType is not EStepType.Start && prevStep.IsOrigin
-        );
+        } while (sendBack.AssignStepId != prevStep.Id && prevStep.StepType is not EStepType.Start);
 
         sendBack.ApplyOrgId = currentStep.AcceptorOrgId;
         sendBack.ApplyOrgName = currentStep!.AcceptorOrgName;
@@ -5207,14 +5205,18 @@ public class OrderApplication : IOrderApplication, IScopeDependency
         if (prevStep.BusinessType == EBusinessType.Send)
         {
             await _orderRepository.Updateable().SetColumns(o => new Order()
-            { CenterToOrgHandlerId = newStep.HandlerId, CenterToOrgHandlerName = newStep.HandlerName, ProcessType = processType, SendBackNum = order.SendBackNum })
+                {
+                    CenterToOrgHandlerId = newStep.HandlerId, CenterToOrgHandlerName = newStep.HandlerName, ProcessType = processType,
+                    SendBackNum = order.SendBackNum
+                })
                 .Where(o => o.Id == order.Id).ExecuteCommandAsync(cancellationToken);
         }
         else
         {
             await _orderRepository.Updateable().SetColumns(o => new Order() { ProcessType = processType, SendBackNum = order.SendBackNum })
-            .Where(o => o.Id == order.Id).ExecuteCommandAsync(cancellationToken);
+                .Where(o => o.Id == order.Id).ExecuteCommandAsync(cancellationToken);
         }
     }
+
     #endregion
 }