Bladeren bron

修改部门办件明细查询

tangjiang 2 weken geleden
bovenliggende
commit
c864e7ba79
1 gewijzigde bestanden met toevoegingen van 243 en 119 verwijderingen
  1. 243 119
      src/Hotline.Application/StatisticalReport/OrderReportApplication.cs

+ 243 - 119
src/Hotline.Application/StatisticalReport/OrderReportApplication.cs

@@ -346,6 +346,9 @@ namespace Hotline.Application.StatisticalReport
             if (string.IsNullOrEmpty(dto.ParentOrgCode) && dto.OrgCode == _sessionContext.RequiredOrgId)
                 dto.ParentOrgCode = _sessionContext.RequiredOrgId;
 
+            if (string.IsNullOrEmpty(dto.ParentOrgCode) && string.IsNullOrEmpty(dto.OrgCode))
+                dto.ParentOrgCode = _sessionContext.RequiredOrgId;
+
             switch (dto.StatisticsType)
             {
                 case EStatisticsType.YBOrderCountNum:
@@ -355,10 +358,15 @@ namespace Hotline.Application.StatisticalReport
                               .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, o => o.Source == ESource.ProvinceStraight)
                               .WhereIF(dto.TypeId != null && dto.TypeId == 1, o => o.IdentityType == EIdentityType.Citizen)
                                .WhereIF(dto.TypeId != null && dto.TypeId == 2, o => o.IdentityType == EIdentityType.Enterprise)
-                               .WhereIF(dto.OrgCode == "001", o => o.ActualHandleOrgCode == dto.OrgCode)
-                               .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, o => o.ActualHandleOrgCode.StartsWith(dto.OrgCode))
-                               .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, o => o.ActualHandleOrgCode == dto.OrgCode)
-                                .Select(o => new SelectOrderId { Id = o.Id })
+                               .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), o => o.ActualHandleOrgCode == dto.OrgCode)
+                               .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, o => o.ActualHandleOrgCode.StartsWith(dto.OrgCode))
+                               .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, o => o.ActualHandleOrgCode == dto.OrgCode)
+
+                               .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                               o => o.ActualHandleOrgCode == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                               o => o.ActualHandleOrgCode.StartsWith(dto.ParentOrgCode))
+                               .Select(o => new SelectOrderId { Id = o.Id })
                              .MergeTable();
                     //会签已办
                     var hqybquery = _workflowTraceRepository.Queryable()
@@ -369,10 +377,16 @@ namespace Hotline.Application.StatisticalReport
                                 .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, (t, o) => o.Source == ESource.ProvinceStraight)
                                   .WhereIF(dto.TypeId != null && dto.TypeId == 1, (t, o) => o.IdentityType == EIdentityType.Citizen)
                              .WhereIF(dto.TypeId != null && dto.TypeId == 2, (t, o) => o.IdentityType == EIdentityType.Enterprise)
-                                .WhereIF(dto.OrgCode == "001", (t, o) => t.HandlerOrgId == dto.OrgCode)
-                             .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, (t, o) => t.HandlerOrgId.StartsWith(dto.OrgCode))
-                             .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, (t, o) => t.HandlerOrgId == dto.OrgCode)
-                                .GroupBy((t, o) => o.Id)
+                                .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), (t, o) => t.HandlerOrgId == dto.OrgCode)
+                             .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, (t, o) => t.HandlerOrgId.StartsWith(dto.OrgCode))
+                             .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, (t, o) => t.HandlerOrgId == dto.OrgCode)
+
+                             .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                               (t, o) => t.HandlerOrgId == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                              (t, o) => t.HandlerOrgId.StartsWith(dto.ParentOrgCode))
+
+                             .GroupBy((t, o) => o.Id)
                                 .Select((t, o) => new SelectOrderId { Id = o.Id })
                                 .MergeTable();
                     query = _orderRepository.UnionAll(orderybquery, hqybquery).GroupBy(p => p.Id).MergeTable();
@@ -384,10 +398,16 @@ namespace Hotline.Application.StatisticalReport
                              .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, o => o.Source == ESource.ProvinceStraight)
                              .WhereIF(dto.TypeId != null && dto.TypeId == 1, o => o.IdentityType == EIdentityType.Citizen)
                               .WhereIF(dto.TypeId != null && dto.TypeId == 2, o => o.IdentityType == EIdentityType.Enterprise)
-                              .WhereIF(dto.OrgCode == "001", o => o.CurrentHandleOrgId == dto.OrgCode)
-                              .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, o => o.CurrentHandleOrgId.StartsWith(dto.OrgCode))
-                              .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, o => o.CurrentHandleOrgId == dto.OrgCode)
-                               .Select(o => new SelectOrderId { Id = o.Id })
+                              .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), o => o.CurrentHandleOrgId == dto.OrgCode)
+                              .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, o => o.CurrentHandleOrgId.StartsWith(dto.OrgCode))
+                              .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, o => o.CurrentHandleOrgId == dto.OrgCode)
+
+                              .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                               o => o.CurrentHandleOrgId == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                               o => o.CurrentHandleOrgId.StartsWith(dto.ParentOrgCode))
+
+                              .Select(o => new SelectOrderId { Id = o.Id })
                             .MergeTable();
                     //会签在办
                     var hqzbquery = _workflowTraceRepository.Queryable()
@@ -397,10 +417,16 @@ namespace Hotline.Application.StatisticalReport
                                .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, (t, o) => o.Source == ESource.ProvinceStraight)
                                  .WhereIF(dto.TypeId != null && dto.TypeId == 1, (t, o) => o.IdentityType == EIdentityType.Citizen)
                            .WhereIF(dto.TypeId != null && dto.TypeId == 2, (t, o) => o.IdentityType == EIdentityType.Enterprise)
-                               .WhereIF(dto.OrgCode == "001", (t, o) => t.HandlerOrgId == dto.OrgCode)
-                           .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, (t, o) => t.HandlerOrgId.StartsWith(dto.OrgCode))
-                           .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, (t, o) => t.HandlerOrgId == dto.OrgCode)
-                               .GroupBy((t, o) => o.Id)
+                               .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), (t, o) => t.HandlerOrgId == dto.OrgCode)
+                           .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, (t, o) => t.HandlerOrgId.StartsWith(dto.OrgCode))
+                           .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, (t, o) => t.HandlerOrgId == dto.OrgCode)
+
+                              .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                               (t, o) => t.HandlerOrgId == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                               (t, o) => t.HandlerOrgId.StartsWith(dto.ParentOrgCode))
+
+                           .GroupBy((t, o) => o.Id)
                                .Select((t, o) => new SelectOrderId { Id = o.Id })
                                .MergeTable();
                     query = _orderRepository.UnionAll(orderzbquery, hqzbquery).GroupBy(p => p.Id).MergeTable();
@@ -412,9 +438,15 @@ namespace Hotline.Application.StatisticalReport
                         .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, (d, o) => o.Source == ESource.ProvinceStraight)
                           .WhereIF(dto.TypeId != null && dto.TypeId == 1, (d, o) => o.IdentityType == EIdentityType.Citizen)
                          .WhereIF(dto.TypeId != null && dto.TypeId == 2, (d, o) => o.IdentityType == EIdentityType.Enterprise)
-                        .WhereIF(dto.OrgCode == "001", (d, o) => d.ApplyOrgCode == dto.OrgCode)
-                        .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, (d, o) => d.ApplyOrgCode.StartsWith(dto.OrgCode))
-                        .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, (d, o) => d.ApplyOrgCode == dto.OrgCode)
+                        .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), (d, o) => d.ApplyOrgCode == dto.OrgCode)
+                        .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, (d, o) => d.ApplyOrgCode.StartsWith(dto.OrgCode))
+                        .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, (d, o) => d.ApplyOrgCode == dto.OrgCode)
+
+                         .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                               (d, o) => d.ApplyOrgCode == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                               (d, o) => d.ApplyOrgCode.StartsWith(dto.ParentOrgCode))
+
                         .OrderByDescending((d, o) => o.CreationTime)
                         .Select((d, o) => new SelectOrderId { Id = o.Id })
                        .MergeTable();
@@ -425,10 +457,16 @@ namespace Hotline.Application.StatisticalReport
                          .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, o => o.Source == ESource.ProvinceStraight)
                          .WhereIF(dto.TypeId != null && dto.TypeId == 1, o => o.IdentityType == EIdentityType.Citizen)
                           .WhereIF(dto.TypeId != null && dto.TypeId == 2, o => o.IdentityType == EIdentityType.Enterprise)
-                          .WhereIF(dto.OrgCode == "001", o => o.ActualHandleOrgCode == dto.OrgCode)
-                          .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, o => o.ActualHandleOrgCode.StartsWith(dto.OrgCode))
-                          .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, o => o.ActualHandleOrgCode == dto.OrgCode)
-                           .Select(o => new SelectOrderId { Id = o.Id })
+                          .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), o => o.ActualHandleOrgCode == dto.OrgCode)
+                          .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, o => o.ActualHandleOrgCode.StartsWith(dto.OrgCode))
+                          .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, o => o.ActualHandleOrgCode == dto.OrgCode)
+
+                          .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                               o => o.ActualHandleOrgCode == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                                o => o.ActualHandleOrgCode.StartsWith(dto.ParentOrgCode))
+
+                          .Select(o => new SelectOrderId { Id = o.Id })
                         .MergeTable();
                     break;
                 case EStatisticsType.ZBOverdue://待办超期
@@ -437,10 +475,16 @@ namespace Hotline.Application.StatisticalReport
                           .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, o => o.Source == ESource.ProvinceStraight)
                           .WhereIF(dto.TypeId != null && dto.TypeId == 1, o => o.IdentityType == EIdentityType.Citizen)
                            .WhereIF(dto.TypeId != null && dto.TypeId == 2, o => o.IdentityType == EIdentityType.Enterprise)
-                           .WhereIF(dto.OrgCode == "001", o => o.CurrentHandleOrgId == dto.OrgCode)
-                           .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, o => o.CurrentHandleOrgId.StartsWith(dto.OrgCode))
-                           .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, o => o.CurrentHandleOrgId == dto.OrgCode)
-                            .Select(o => new SelectOrderId { Id = o.Id })
+                           .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), o => o.CurrentHandleOrgId == dto.OrgCode)
+                           .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, o => o.CurrentHandleOrgId.StartsWith(dto.OrgCode))
+                           .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, o => o.CurrentHandleOrgId == dto.OrgCode)
+
+                            .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                               o => o.CurrentHandleOrgId == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                                o => o.CurrentHandleOrgId.StartsWith(dto.ParentOrgCode))
+
+                           .Select(o => new SelectOrderId { Id = o.Id })
                          .MergeTable();
                     break;
                 case EStatisticsType.HQYBOverdue://会签已办超期
@@ -452,9 +496,14 @@ namespace Hotline.Application.StatisticalReport
                          .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, (t, o) => o.Source == ESource.ProvinceStraight)
                            .WhereIF(dto.TypeId != null && dto.TypeId == 1, (t, o) => o.IdentityType == EIdentityType.Citizen)
                          .WhereIF(dto.TypeId != null && dto.TypeId == 2, (t, o) => o.IdentityType == EIdentityType.Enterprise)
-                         .WhereIF(dto.OrgCode == "001", (t, o) => t.HandlerOrgId == dto.OrgCode)
-                         .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, (t, o) => t.HandlerOrgId.StartsWith(dto.OrgCode))
-                         .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, (t, o) => t.HandlerOrgId == dto.OrgCode)
+                         .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), (t, o) => t.HandlerOrgId == dto.OrgCode)
+                         .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, (t, o) => t.HandlerOrgId.StartsWith(dto.OrgCode))
+                         .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, (t, o) => t.HandlerOrgId == dto.OrgCode)
+                        .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                             (t, o) => t.HandlerOrgId == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                                (t, o) => t.HandlerOrgId.StartsWith(dto.ParentOrgCode))
+
                          .GroupBy((t, o) => o.Id)
                          .Select((t, o) => new SelectOrderId { Id = o.Id })
                          .MergeTable();
@@ -467,9 +516,14 @@ namespace Hotline.Application.StatisticalReport
                          .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, (t, o) => o.Source == ESource.ProvinceStraight)
                            .WhereIF(dto.TypeId != null && dto.TypeId == 1, (t, o) => o.IdentityType == EIdentityType.Citizen)
                          .WhereIF(dto.TypeId != null && dto.TypeId == 2, (t, o) => o.IdentityType == EIdentityType.Enterprise)
-                         .WhereIF(dto.OrgCode == "001", (t, o) => t.HandlerOrgId == dto.OrgCode)
-                         .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, (t, o) => t.HandlerOrgId.StartsWith(dto.OrgCode))
-                         .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, (t, o) => t.HandlerOrgId == dto.OrgCode)
+                         .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), (t, o) => t.HandlerOrgId == dto.OrgCode)
+                         .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, (t, o) => t.HandlerOrgId.StartsWith(dto.OrgCode))
+                         .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, (t, o) => t.HandlerOrgId == dto.OrgCode)
+                         .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                             (t, o) => t.HandlerOrgId == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                                (t, o) => t.HandlerOrgId.StartsWith(dto.ParentOrgCode))
+
                          .GroupBy((t, o) => o.Id)
                          .Select((t, o) => new SelectOrderId { Id = o.Id })
                          .MergeTable();
@@ -481,10 +535,16 @@ namespace Hotline.Application.StatisticalReport
                         .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, o => o.Source == ESource.ProvinceStraight)
                         .WhereIF(dto.TypeId != null && dto.TypeId == 1, o => o.IdentityType == EIdentityType.Citizen)
                          .WhereIF(dto.TypeId != null && dto.TypeId == 2, o => o.IdentityType == EIdentityType.Enterprise)
-                         .WhereIF(dto.OrgCode == "001", o => o.ActualHandleOrgCode == dto.OrgCode)
-                         .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, o => o.ActualHandleOrgCode.StartsWith(dto.OrgCode))
-                         .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, o => o.ActualHandleOrgCode == dto.OrgCode)
-                          .Select(o => new SelectOrderId { Id = o.Id })
+                         .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), o => o.ActualHandleOrgCode == dto.OrgCode)
+                         .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, o => o.ActualHandleOrgCode.StartsWith(dto.OrgCode))
+                         .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, o => o.ActualHandleOrgCode == dto.OrgCode)
+
+                         .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                               o => o.ActualHandleOrgCode == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                                o => o.ActualHandleOrgCode.StartsWith(dto.ParentOrgCode))
+
+                         .Select(o => new SelectOrderId { Id = o.Id })
                           .MergeTable();
                     //待办超期
                     var dbcqquery = _orderRepository.Queryable()
@@ -492,10 +552,15 @@ namespace Hotline.Application.StatisticalReport
                           .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, o => o.Source == ESource.ProvinceStraight)
                           .WhereIF(dto.TypeId != null && dto.TypeId == 1, o => o.IdentityType == EIdentityType.Citizen)
                            .WhereIF(dto.TypeId != null && dto.TypeId == 2, o => o.IdentityType == EIdentityType.Enterprise)
-                           .WhereIF(dto.OrgCode == "001", o => o.CurrentHandleOrgId == dto.OrgCode)
-                           .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, o => o.CurrentHandleOrgId.StartsWith(dto.OrgCode))
-                           .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, o => o.CurrentHandleOrgId == dto.OrgCode)
-                            .Select(o => new SelectOrderId { Id = o.Id })
+                           .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), o => o.CurrentHandleOrgId == dto.OrgCode)
+                           .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, o => o.CurrentHandleOrgId.StartsWith(dto.OrgCode))
+                           .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, o => o.CurrentHandleOrgId == dto.OrgCode)
+                           .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                               o => o.CurrentHandleOrgId == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                                o => o.CurrentHandleOrgId.StartsWith(dto.ParentOrgCode))
+
+                           .Select(o => new SelectOrderId { Id = o.Id })
                          .MergeTable();
                     //会签已办超期
                     var hqybcqquery = _workflowTraceRepository.Queryable()
@@ -506,9 +571,14 @@ namespace Hotline.Application.StatisticalReport
                          .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, (t, o) => o.Source == ESource.ProvinceStraight)
                            .WhereIF(dto.TypeId != null && dto.TypeId == 1, (t, o) => o.IdentityType == EIdentityType.Citizen)
                          .WhereIF(dto.TypeId != null && dto.TypeId == 2, (t, o) => o.IdentityType == EIdentityType.Enterprise)
-                         .WhereIF(dto.OrgCode == "001", (t, o) => t.HandlerOrgId == dto.OrgCode)
-                         .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, (t, o) => t.HandlerOrgId.StartsWith(dto.OrgCode))
-                         .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, (t, o) => t.HandlerOrgId == dto.OrgCode)
+                         .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), (t, o) => t.HandlerOrgId == dto.OrgCode)
+                         .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, (t, o) => t.HandlerOrgId.StartsWith(dto.OrgCode))
+                         .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, (t, o) => t.HandlerOrgId == dto.OrgCode)
+                               .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                               (t, o) => t.HandlerOrgId == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                                (t, o) => t.HandlerOrgId.StartsWith(dto.ParentOrgCode))
+
                          .GroupBy((t, o) => o.Id)
                          .Select((t, o) => new SelectOrderId { Id = o.Id })
                          .MergeTable();
@@ -519,9 +589,13 @@ namespace Hotline.Application.StatisticalReport
                           .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, (t, o) => o.Source == ESource.ProvinceStraight)
                             .WhereIF(dto.TypeId != null && dto.TypeId == 1, (t, o) => o.IdentityType == EIdentityType.Citizen)
                           .WhereIF(dto.TypeId != null && dto.TypeId == 2, (t, o) => o.IdentityType == EIdentityType.Enterprise)
-                          .WhereIF(dto.OrgCode == "001", (t, o) => t.HandlerOrgId == dto.OrgCode)
-                          .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, (t, o) => t.HandlerOrgId.StartsWith(dto.OrgCode))
-                          .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, (t, o) => t.HandlerOrgId == dto.OrgCode)
+                          .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), (t, o) => t.HandlerOrgId == dto.OrgCode)
+                          .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, (t, o) => t.HandlerOrgId.StartsWith(dto.OrgCode))
+                          .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, (t, o) => t.HandlerOrgId == dto.OrgCode)
+                             .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                               (t, o) => t.HandlerOrgId == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                                (t, o) => t.HandlerOrgId.StartsWith(dto.ParentOrgCode))
                           .GroupBy((t, o) => o.Id)
                           .Select((t, o) => new SelectOrderId { Id = o.Id })
                           .MergeTable();
@@ -536,10 +610,14 @@ namespace Hotline.Application.StatisticalReport
                             .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, (t, o) => o.Source == ESource.ProvinceStraight)
                               .WhereIF(dto.TypeId != null && dto.TypeId == 1, (t, o) => o.IdentityType == EIdentityType.Citizen)
                          .WhereIF(dto.TypeId != null && dto.TypeId == 2, (t, o) => o.IdentityType == EIdentityType.Enterprise)
-                            .WhereIF(dto.OrgCode == "001", (t, o) => t.HandlerOrgId == dto.OrgCode)
-                         .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, (t, o) => t.HandlerOrgId.StartsWith(dto.OrgCode))
-                         .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, (t, o) => t.HandlerOrgId == dto.OrgCode)
-                            .GroupBy((t, o) => o.Id)
+                            .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), (t, o) => t.HandlerOrgId == dto.OrgCode)
+                         .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, (t, o) => t.HandlerOrgId.StartsWith(dto.OrgCode))
+                         .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, (t, o) => t.HandlerOrgId == dto.OrgCode)
+                             .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                               (t, o) => t.HandlerOrgId == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                                (t, o) => t.HandlerOrgId.StartsWith(dto.ParentOrgCode))
+                         .GroupBy((t, o) => o.Id)
                             .Select((t, o) => new SelectOrderId { Id = o.Id })
                             .MergeTable();
                     break;
@@ -551,10 +629,14 @@ namespace Hotline.Application.StatisticalReport
                              .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, (t, o) => o.Source == ESource.ProvinceStraight)
                                .WhereIF(dto.TypeId != null && dto.TypeId == 1, (t, o) => o.IdentityType == EIdentityType.Citizen)
                          .WhereIF(dto.TypeId != null && dto.TypeId == 2, (t, o) => o.IdentityType == EIdentityType.Enterprise)
-                             .WhereIF(dto.OrgCode == "001", (t, o) => t.HandlerOrgId == dto.OrgCode)
-                         .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, (t, o) => t.HandlerOrgId.StartsWith(dto.OrgCode))
-                         .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, (t, o) => t.HandlerOrgId == dto.OrgCode)
-                             .GroupBy((t, o) => o.Id)
+                             .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), (t, o) => t.HandlerOrgId == dto.OrgCode)
+                         .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, (t, o) => t.HandlerOrgId.StartsWith(dto.OrgCode))
+                         .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, (t, o) => t.HandlerOrgId == dto.OrgCode)
+                             .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                               (t, o) => t.HandlerOrgId == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                                (t, o) => t.HandlerOrgId.StartsWith(dto.ParentOrgCode))
+                         .GroupBy((t, o) => o.Id)
                              .Select((t, o) => new SelectOrderId { Id = o.Id })
                              .MergeTable();
                     break;
@@ -564,10 +646,15 @@ namespace Hotline.Application.StatisticalReport
                            .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, o => o.Source == ESource.ProvinceStraight)
                              .WhereIF(dto.TypeId != null && dto.TypeId == 1, o => o.IdentityType == EIdentityType.Citizen)
                          .WhereIF(dto.TypeId != null && dto.TypeId == 2, o => o.IdentityType == EIdentityType.Enterprise)
-                            .WhereIF(dto.OrgCode == "001", o => o.ActualHandleOrgCode == dto.OrgCode)
-                            .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, o => o.ActualHandleOrgCode.StartsWith(dto.OrgCode))
-                            .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, o => o.ActualHandleOrgCode == dto.OrgCode)
-                             .Select(o => new SelectOrderId { Id = o.Id })
+                            .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), o => o.ActualHandleOrgCode == dto.OrgCode)
+                            .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, o => o.ActualHandleOrgCode.StartsWith(dto.OrgCode))
+                            .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, o => o.ActualHandleOrgCode == dto.OrgCode)
+                                .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                             o => o.ActualHandleOrgCode == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                               o => o.ActualHandleOrgCode.StartsWith(dto.ParentOrgCode))
+
+                            .Select(o => new SelectOrderId { Id = o.Id })
                           .MergeTable();
                     break;
                 case EStatisticsType.Archived://已归档
@@ -576,10 +663,15 @@ namespace Hotline.Application.StatisticalReport
                          .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, o => o.Source == ESource.ProvinceStraight)
                              .WhereIF(dto.TypeId != null && dto.TypeId == 1, o => o.IdentityType == EIdentityType.Citizen)
                          .WhereIF(dto.TypeId != null && dto.TypeId == 2, o => o.IdentityType == EIdentityType.Enterprise)
-                          .WhereIF(dto.OrgCode == "001", o => o.ActualHandleOrgCode == dto.OrgCode)
-                            .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, o => o.ActualHandleOrgCode.StartsWith(dto.OrgCode))
-                            .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, o => o.ActualHandleOrgCode == dto.OrgCode)
-                           .Select(o => new SelectOrderId { Id = o.Id })
+                          .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), o => o.ActualHandleOrgCode == dto.OrgCode)
+                            .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, o => o.ActualHandleOrgCode.StartsWith(dto.OrgCode))
+                            .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, o => o.ActualHandleOrgCode == dto.OrgCode)
+                              .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                             o => o.ActualHandleOrgCode == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                               o => o.ActualHandleOrgCode.StartsWith(dto.ParentOrgCode))
+
+                            .Select(o => new SelectOrderId { Id = o.Id })
                         .MergeTable();
                     break;
                 case EStatisticsType.WaitPublished://待发布
@@ -588,10 +680,15 @@ namespace Hotline.Application.StatisticalReport
                         .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, o => o.Source == ESource.ProvinceStraight)
                              .WhereIF(dto.TypeId != null && dto.TypeId == 1, o => o.IdentityType == EIdentityType.Citizen)
                          .WhereIF(dto.TypeId != null && dto.TypeId == 2, o => o.IdentityType == EIdentityType.Enterprise)
-                         .WhereIF(dto.OrgCode == "001", o => o.ActualHandleOrgCode == dto.OrgCode)
-                            .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, o => o.ActualHandleOrgCode.StartsWith(dto.OrgCode))
-                            .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, o => o.ActualHandleOrgCode == dto.OrgCode)
-                          .Select(o => new SelectOrderId { Id = o.Id })
+                         .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), o => o.ActualHandleOrgCode == dto.OrgCode)
+                            .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, o => o.ActualHandleOrgCode.StartsWith(dto.OrgCode))
+                            .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, o => o.ActualHandleOrgCode == dto.OrgCode)
+                             .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                             o => o.ActualHandleOrgCode == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                               o => o.ActualHandleOrgCode.StartsWith(dto.ParentOrgCode))
+
+                            .Select(o => new SelectOrderId { Id = o.Id })
                        .MergeTable();
                     break;
                 case EStatisticsType.PublishedOpen://发布公开
@@ -600,10 +697,15 @@ namespace Hotline.Application.StatisticalReport
                         .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, o => o.Source == ESource.ProvinceStraight)
                              .WhereIF(dto.TypeId != null && dto.TypeId == 1, o => o.IdentityType == EIdentityType.Citizen)
                          .WhereIF(dto.TypeId != null && dto.TypeId == 2, o => o.IdentityType == EIdentityType.Enterprise)
-                         .WhereIF(dto.OrgCode == "001", o => o.ActualHandleOrgCode == dto.OrgCode)
-                            .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, o => o.ActualHandleOrgCode.StartsWith(dto.OrgCode))
-                            .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, o => o.ActualHandleOrgCode == dto.OrgCode)
-                          .Select(o => new SelectOrderId { Id = o.Id })
+                         .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), o => o.ActualHandleOrgCode == dto.OrgCode)
+                            .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, o => o.ActualHandleOrgCode.StartsWith(dto.OrgCode))
+                            .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, o => o.ActualHandleOrgCode == dto.OrgCode)
+                             .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                             o => o.ActualHandleOrgCode == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                               o => o.ActualHandleOrgCode.StartsWith(dto.ParentOrgCode))
+
+                            .Select(o => new SelectOrderId { Id = o.Id })
                        .MergeTable();
                     break;
                 case EStatisticsType.PublishedNoOpen://发布不公开
@@ -612,10 +714,15 @@ namespace Hotline.Application.StatisticalReport
                        .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, o => o.Source == ESource.ProvinceStraight)
                              .WhereIF(dto.TypeId != null && dto.TypeId == 1, o => o.IdentityType == EIdentityType.Citizen)
                          .WhereIF(dto.TypeId != null && dto.TypeId == 2, o => o.IdentityType == EIdentityType.Enterprise)
-                        .WhereIF(dto.OrgCode == "001", o => o.ActualHandleOrgCode == dto.OrgCode)
-                            .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, o => o.ActualHandleOrgCode.StartsWith(dto.OrgCode))
-                            .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, o => o.ActualHandleOrgCode == dto.OrgCode)
-                         .Select(o => new SelectOrderId { Id = o.Id })
+                        .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), o => o.ActualHandleOrgCode == dto.OrgCode)
+                            .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, o => o.ActualHandleOrgCode.StartsWith(dto.OrgCode))
+                            .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, o => o.ActualHandleOrgCode == dto.OrgCode)
+                          .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                             o => o.ActualHandleOrgCode == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                               o => o.ActualHandleOrgCode.StartsWith(dto.ParentOrgCode))
+
+                            .Select(o => new SelectOrderId { Id = o.Id })
                       .MergeTable();
                     break;
                 case EStatisticsType.ScreenCount://甄别总量
@@ -625,10 +732,14 @@ namespace Hotline.Application.StatisticalReport
                        .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, (d, o) => o.Source == ESource.ProvinceStraight)
                        .WhereIF(dto.TypeId != null && dto.TypeId == 1, (d, o) => o.IdentityType == EIdentityType.Citizen)
                        .WhereIF(dto.TypeId != null && dto.TypeId == 2, (d, o) => o.IdentityType == EIdentityType.Enterprise)
-                       .WhereIF(dto.OrgCode == "001", (d, o) => d.CreatorOrgId == dto.OrgCode)
-                       .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, (d, o) => d.CreatorOrgId.StartsWith(dto.OrgCode))
-                       .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, (d, o) => d.CreatorOrgId == dto.OrgCode)
-                        .Select((d, o) => new SelectOrderId { Id = o.Id })
+                       .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), (d, o) => d.CreatorOrgId == dto.OrgCode)
+                       .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, (d, o) => d.CreatorOrgId.StartsWith(dto.OrgCode))
+                       .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, (d, o) => d.CreatorOrgId == dto.OrgCode)
+                        .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                            (d, o) => d.CreatorOrgId == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                              (d, o) => d.CreatorOrgId.StartsWith(dto.ParentOrgCode))
+                       .Select((d, o) => new SelectOrderId { Id = o.Id })
                        .MergeTable();
                     break;
                 case EStatisticsType.ScreenApproval://带甄别
@@ -638,10 +749,15 @@ namespace Hotline.Application.StatisticalReport
                        .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, (d, o) => o.Source == ESource.ProvinceStraight)
                        .WhereIF(dto.TypeId != null && dto.TypeId == 1, (d, o) => o.IdentityType == EIdentityType.Citizen)
                        .WhereIF(dto.TypeId != null && dto.TypeId == 2, (d, o) => o.IdentityType == EIdentityType.Enterprise)
-                       .WhereIF(dto.OrgCode == "001", (d, o) => d.CreatorOrgId == dto.OrgCode)
-                       .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, (d, o) => d.CreatorOrgId.StartsWith(dto.OrgCode))
-                       .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, (d, o) => d.CreatorOrgId == dto.OrgCode)
-                        .Select((d, o) => new SelectOrderId { Id = o.Id })
+                       .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), (d, o) => d.CreatorOrgId == dto.OrgCode)
+                       .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, (d, o) => d.CreatorOrgId.StartsWith(dto.OrgCode))
+                       .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, (d, o) => d.CreatorOrgId == dto.OrgCode)
+                       .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                            (d, o) => d.CreatorOrgId == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                              (d, o) => d.CreatorOrgId.StartsWith(dto.ParentOrgCode))
+
+                       .Select((d, o) => new SelectOrderId { Id = o.Id })
                        .MergeTable();
                     break;
                 case EStatisticsType.ScreenPass://甄别通过
@@ -651,10 +767,14 @@ namespace Hotline.Application.StatisticalReport
                        .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, (d, o) => o.Source == ESource.ProvinceStraight)
                        .WhereIF(dto.TypeId != null && dto.TypeId == 1, (d, o) => o.IdentityType == EIdentityType.Citizen)
                        .WhereIF(dto.TypeId != null && dto.TypeId == 2, (d, o) => o.IdentityType == EIdentityType.Enterprise)
-                       .WhereIF(dto.OrgCode == "001", (d, o) => d.CreatorOrgId == dto.OrgCode)
-                       .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, (d, o) => d.CreatorOrgId.StartsWith(dto.OrgCode))
-                       .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, (d, o) => d.CreatorOrgId == dto.OrgCode)
-                        .Select((d, o) => new SelectOrderId { Id = o.Id })
+                       .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), (d, o) => d.CreatorOrgId == dto.OrgCode)
+                       .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, (d, o) => d.CreatorOrgId.StartsWith(dto.OrgCode))
+                       .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, (d, o) => d.CreatorOrgId == dto.OrgCode)
+                        .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                            (d, o) => d.CreatorOrgId == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                              (d, o) => d.CreatorOrgId.StartsWith(dto.ParentOrgCode))
+                       .Select((d, o) => new SelectOrderId { Id = o.Id })
                        .MergeTable();
                     break;
                 case EStatisticsType.ScreenNotPass://甄别不通过
@@ -664,10 +784,14 @@ namespace Hotline.Application.StatisticalReport
                       .WhereIF(dto.IsProvince.HasValue && dto.IsProvince == true, (d, o) => o.Source == ESource.ProvinceStraight)
                       .WhereIF(dto.TypeId != null && dto.TypeId == 1, (d, o) => o.IdentityType == EIdentityType.Citizen)
                       .WhereIF(dto.TypeId != null && dto.TypeId == 2, (d, o) => o.IdentityType == EIdentityType.Enterprise)
-                      .WhereIF(dto.OrgCode == "001", (d, o) => d.CreatorOrgId == dto.OrgCode)
-                       .WhereIF(dto.OrgCode != "001" && dto.OrgCode != dto.ParentOrgCode, (d, o) => d.CreatorOrgId.StartsWith(dto.OrgCode))
-                       .WhereIF(dto.OrgCode != "001" && dto.OrgCode == dto.ParentOrgCode, (d, o) => d.CreatorOrgId == dto.OrgCode)
-                        .Select((d, o) => new SelectOrderId { Id = o.Id })
+                      .WhereIF(dto.OrgCode == "001" && !string.IsNullOrEmpty(dto.OrgCode), (d, o) => d.CreatorOrgId == dto.OrgCode)
+                       .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != dto.ParentOrgCode, (d, o) => d.CreatorOrgId.StartsWith(dto.OrgCode))
+                       .WhereIF(dto.OrgCode != "001" && !string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == dto.ParentOrgCode, (d, o) => d.CreatorOrgId == dto.OrgCode)
+                        .WhereIF(dto.ParentOrgCode == "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                            (d, o) => d.CreatorOrgId == dto.ParentOrgCode)
+                               .WhereIF(dto.ParentOrgCode != "001" && string.IsNullOrEmpty(dto.OrgCode) && !string.IsNullOrEmpty(dto.ParentOrgCode),
+                              (d, o) => d.CreatorOrgId.StartsWith(dto.ParentOrgCode))
+                       .Select((d, o) => new SelectOrderId { Id = o.Id })
                        .MergeTable();
                     break;
                 default:
@@ -2303,7 +2427,7 @@ namespace Hotline.Application.StatisticalReport
         {
             return _orderRepository.Queryable()
                  .WhereIF(dto.TimeType == 2, p => p.FiledTime >= dto.StartTime && p.FiledTime <= dto.EndTime && p.Status >= EOrderStatus.Filed)
-                 .WhereIF(dto.TimeType == 1,p=> p.CreationTime>= dto.StartTime && p.CreationTime<=dto.EndTime)
+                 .WhereIF(dto.TimeType == 1, p => p.CreationTime >= dto.StartTime && p.CreationTime <= dto.EndTime)
                  .WhereIF(!string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == "001", p => p.ActualHandleOrgCode == dto.OrgCode)
                  .WhereIF(dto.TypeId != null && dto.TypeId == 1, p => p.IdentityType == EIdentityType.Citizen)
                  .WhereIF(dto.TypeId != null && dto.TypeId == 2, p => p.IdentityType == EIdentityType.Enterprise)
@@ -3020,7 +3144,7 @@ namespace Hotline.Application.StatisticalReport
             var IsCenter = _sessionContext.OrgIsCenter;
             DataTable data = new DataTable();
 
-            var  list = await _hotspotTypeRepository.Queryable()
+            var list = await _hotspotTypeRepository.Queryable()
             .LeftJoin<Order>((it, o) => o.HotspotId.StartsWith(it.Id))
             .Where((it, o) => o.CreationTime >= dto.QueryDto.StartTime && o.CreationTime <= dto.QueryDto.EndTime && o.Id != null)
             .WhereIF(dto.QueryDto.TypeId == 1, (it, o) => o.IdentityType == EIdentityType.Citizen)
@@ -3029,7 +3153,7 @@ namespace Hotline.Application.StatisticalReport
             .GroupBy((it, o) => it.Id)
             .OrderBy((it, o) => new { it.Id }, OrderByType.Asc)
             .Select((it, o) => new HotspotStatisticsDto
-			{
+            {
                 HotspotName = it.HotSpotName,
                 HotSpotFullName = it.HotSpotFullName,
                 SumCount = SqlFunc.AggregateSum(SqlFunc.IIF(o.HotspotId.StartsWith(it.Id), 1, 0))
@@ -3037,33 +3161,33 @@ namespace Hotline.Application.StatisticalReport
             .ToListAsync();
             data = list.ToDataTable("HotspotStatistics");
 
-			data.Columns["Name"].SetOrdinal(0);
+            data.Columns["Name"].SetOrdinal(0);
             data.Columns["OneHotspotName"].SetOrdinal(1);
-			data.Columns["TwoHotspotName"].SetOrdinal(2);
-			data.Columns["ThreeHotspotName"].SetOrdinal(3);
-			data.Columns["FourHotspotName"].SetOrdinal(4);
-			data.Columns["FiveHotspotName"].SetOrdinal(5);
-			data.Columns["SumCount"].ColumnName = "分类统计";
+            data.Columns["TwoHotspotName"].SetOrdinal(2);
+            data.Columns["ThreeHotspotName"].SetOrdinal(3);
+            data.Columns["FourHotspotName"].SetOrdinal(4);
+            data.Columns["FiveHotspotName"].SetOrdinal(5);
+            data.Columns["SumCount"].ColumnName = "分类统计";
             data.Columns["Name"].ColumnName = "热点名称";
-			data.Columns["OneHotspotName"].ColumnName = "一级热点";
-			data.Columns["TwoHotspotName"].ColumnName = "二级热点";
-			data.Columns["ThreeHotspotName"].ColumnName = "三级热点";
-			data.Columns["FourHotspotName"].ColumnName = "四级热点";
-			data.Columns["FiveHotspotName"].ColumnName = "五级热点";
-			data.Columns.Remove("HotSpotFullName");
-			data.Columns.Remove("HotspotName");
-			//data.Columns["HotSpotFullName"].ColumnName = "热点分级";
-			//合计
-			//DataRow sumRow = data.NewRow();
-			//         sumRow["热点名称"] = "合计";
-			//         decimal totalAmount = 0;
-			//         foreach (DataRow row in data.Rows)
-			//         {
-			//             totalAmount += Convert.ToDecimal(row["分类统计"]);
-			//         }
-			//         sumRow["分类统计"] = totalAmount;
-			//         data.Rows.Add(sumRow);
-			return data;
+            data.Columns["OneHotspotName"].ColumnName = "一级热点";
+            data.Columns["TwoHotspotName"].ColumnName = "二级热点";
+            data.Columns["ThreeHotspotName"].ColumnName = "三级热点";
+            data.Columns["FourHotspotName"].ColumnName = "四级热点";
+            data.Columns["FiveHotspotName"].ColumnName = "五级热点";
+            data.Columns.Remove("HotSpotFullName");
+            data.Columns.Remove("HotspotName");
+            //data.Columns["HotSpotFullName"].ColumnName = "热点分级";
+            //合计
+            //DataRow sumRow = data.NewRow();
+            //         sumRow["热点名称"] = "合计";
+            //         decimal totalAmount = 0;
+            //         foreach (DataRow row in data.Rows)
+            //         {
+            //             totalAmount += Convert.ToDecimal(row["分类统计"]);
+            //         }
+            //         sumRow["分类统计"] = totalAmount;
+            //         data.Rows.Add(sumRow);
+            return data;
         }
     }
 }