Explorar o código

二次办理查询

田爽 hai 4 meses
pai
achega
1a4942ebfd

+ 4 - 2
src/Hotline.Application/Orders/OrderSecondaryHandlingApplication.cs

@@ -247,7 +247,8 @@ namespace Hotline.Application.Orders
                 .Includes(x => x.OrderVisit, y => y.Employee)
                 .Includes(x => x.SecondaryHandling)
                 .Where(x => x.OrderVisit.Order.IsProvince == false)
-                .Where(x=> SqlFunc.Subqueryable<OrderScreen>().Where(os=> x.Id == os.VisitDetailId && os.Status < EScreenStatus.End && os.IsDeleted == false).Any()  || SqlFunc.Subqueryable<OrderScreen>().Where(os => x.Id == os.VisitDetailId ).NotAny())
+				//.LeftJoin<OrderScreen>((x, s) => x.Id == s.VisitDetailId && s.Status < EScreenStatus.End && s.IsDeleted == false)
+				.Where(x=> SqlFunc.Subqueryable<OrderScreen>().Where(os=> x.Id == os.VisitDetailId && os.Status < EScreenStatus.End && os.IsDeleted == false).Any()  || SqlFunc.Subqueryable<OrderScreen>().Where(os => x.Id == os.VisitDetailId && os.IsDeleted == false).NotAny())
                 //.Where((x, s) => s.Id == null && (x.SecondaryHandling.State == ESecondaryHandlingState.NotApply || x.SecondaryHandling.Id == null))
                 .Where(x=> SqlFunc.Subqueryable<OrderSecondaryHandling>().Where(osh => osh.VisitDetailId == x.Id &&  osh.State == ESecondaryHandlingState.NotApply).NotAny())
                 //.Where(x => x.OrderVisit.VisitTime < dto.CreationTimeEnd && x.OrderVisit.VisitTime > dto.CreationTimeStart)
@@ -267,7 +268,8 @@ namespace Hotline.Application.Orders
                 .WhereIF(!string.IsNullOrEmpty(dto.OrgProcessingResults), x => SqlFunc.JsonField(x.OrgProcessingResults, "Key") == dto.OrgProcessingResults)
                 .WhereIF(!string.IsNullOrEmpty(dto.OrgHandledAttitude), x => SqlFunc.JsonListObjectAny(x.OrgHandledAttitude, "Key", dto.OrgHandledAttitude))
                 .WhereIF(!string.IsNullOrEmpty(dto.OrgNoSatisfiedReason), x => SqlFunc.JsonField(x.OrgNoSatisfiedReason, "Key") == dto.OrgNoSatisfiedReason)
-                .Where(x => SqlFunc.Subqueryable<OrderVisit>().Where(ov => ov.Id == x.VisitId && ov.VisitState == EVisitState.Visited && ov.IsCanHandle).Any())
+                //.Where(x => SqlFunc.Subqueryable<OrderVisit>().Where(ov => ov.Id == x.VisitId && ov.VisitState == EVisitState.Visited && ov.IsCanHandle).Any())
+                .Where(x=>x.OrderVisit.VisitState == EVisitState.Visited && x.OrderVisit.IsCanHandle )
                 //.Where((x, s) => x.OrderVisit.VisitState == EVisitState.Visited && x.OrderVisit.IsCanHandle)
                 .WhereIF(!isAdmin, x => (x.OrderVisit.Order.CounterSignType ==  ECounterSignType.Department || x.OrderVisit.Order.CounterSignType == null) && x.VisitOrgCode.StartsWith(_sessionContext.OrgId))
                 ;

+ 2 - 0
src/Hotline/Orders/OrderScreen.cs

@@ -11,6 +11,8 @@ namespace Hotline.Orders
 {
     [Description("工单甄别")]
     [SugarIndex("index_screen_orderId", nameof(OrderScreen.OrderId), OrderByType.Asc)]
+	[SugarIndex("index_screen_visitDetailId", nameof(OrderScreen.VisitDetailId), OrderByType.Desc)]
+	[SugarIndex("index_screen_visitId", nameof(OrderScreen.VisitId), OrderByType.Desc)]
 	public class OrderScreen : WorkflowEntity
     {
         /// <summary>

+ 2 - 0
src/Hotline/Orders/OrderVisitDetail.cs

@@ -9,6 +9,8 @@ using XF.Utility.EnumExtensions;
 namespace Hotline.Orders
 {
 	[SugarIndex("index_visitDetail_creationtime", nameof(OrderVisitDetail.CreationTime), OrderByType.Desc)]
+	[SugarIndex("index_visitDetail_visitId", nameof(OrderVisitDetail.VisitId), OrderByType.Desc)]
+	[SugarIndex("index_visitDetail_visitOrgCode", nameof(OrderVisitDetail.VisitOrgCode), OrderByType.Desc)]
 	public class OrderVisitDetail : CreationEntity
     {