xf 8 ماه پیش
والد
کامیت
659ee4dbb3
1فایلهای تغییر یافته به همراه36 افزوده شده و 37 حذف شده
  1. 36 37
      src/Hotline.Api/Controllers/OrderController.cs

+ 36 - 37
src/Hotline.Api/Controllers/OrderController.cs

@@ -1808,23 +1808,21 @@ public class OrderController : BaseController
     [HttpGet("screen")]
     public async Task<PagedDto<OrderScreenListDto>> ScreenList([FromQuery] ScreenListDto dto)
     {
-		var handler = dto.TabStatus is EScreenStatus.Apply;
-		ISugarQueryable<OrderScreen> query;
-		if (dto.source == 1)
-		{
-			query = _orderScreenRepository.Queryable(hasHandled: !handler);
-		}
-		else
-		{
-			query = _orderScreenRepository.Queryable()
-				.Where(x => x.CreatorOrgId.StartsWith(_sessionContext.RequiredOrgId));
-		}
-		query = query.Includes(d => d.Order)
-			.Includes(d => d.Order)
-        var view = dto.source == 1;
-        var handler = dto.source == 1 && dto.Status is EScreenStatus.Apply;
+        var handler = dto.TabStatus is EScreenStatus.Apply;
         var isAdmin = _orderDomainService.IsCheckAdmin();
-        var query = _orderScreenRepository.Queryable(hasHandled: !handler, isAdmin: isAdmin)
+        ISugarQueryable<OrderScreen> query;
+
+        if (dto.source == 1)
+        {
+            query = _orderScreenRepository.Queryable(hasHandled: !handler, isAdmin: isAdmin);
+        }
+        else
+        {
+            query = _orderScreenRepository.Queryable(isAdmin: isAdmin)
+                .WhereIF(!isAdmin, x => x.CreatorOrgId.StartsWith(_sessionContext.RequiredOrgId));
+        }
+      
+        query = query
             .Includes(d => d.Order)
             .Includes(d => d.VisitDetail)
             .Includes(d => d.Visit, v => v.Order)
@@ -1968,7 +1966,7 @@ public class OrderController : BaseController
         screen.TypeDicId = dto.Data.TypeDicId;
         screen.TypeDicName = dto.Data.TypeDicName;
         screen.SendBackApply = false;
-		screen.SendBackApplyNum++;
+        screen.SendBackApplyNum++;
         await _orderScreenRepository.UpdateAsync(screen, HttpContext.RequestAborted);
         try
         {
@@ -2077,7 +2075,7 @@ public class OrderController : BaseController
             _sessionContext.RequiredUserId, _sessionContext.RequiredOrgId, _sessionContext.Roles) ?? false;
         if (model.Status == EScreenStatus.SendBack && model.SendBackApply)
             rspModel.IsCanHandle = false;
-		rspModel.Handle = false;
+        rspModel.Handle = false;
         if (!string.IsNullOrEmpty(rspModel.WorkflowId))
         {
             rspModel.Handle = await _workflowDomainService.CheckCurrentIsStartStepAsync(rspModel.WorkflowId, _sessionContext.RequiredUserId,
@@ -3099,8 +3097,8 @@ public class OrderController : BaseController
 
         try
         {
-			// 平均派单
-			var averageSendOrder = bool.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.AverageSendOrder).SettingValue[0]);
+            // 平均派单
+            var averageSendOrder = bool.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.AverageSendOrder).SettingValue[0]);
             if (dto.Workflow.BusinessType == EBusinessType.Send && averageSendOrder)
             {
                 var handler = await _orderDomainService.AverageOrder(HttpContext.RequestAborted);
@@ -3203,7 +3201,7 @@ public class OrderController : BaseController
                 canUpdateOrderSender);
             //TODO发送短信即将超期
             //_capPublisher.PublishDelay(expiredTimeConfig.NearlyExpiredTime - DateTime.Now, EventNames.HotlineOrderNearlyExpiredTimeSms, new PublishNearlyExpiredTimeSmsDto() { OrderId = order.Id });
-           
+
         }
         else if (dto.FlowDirection is EFlowDirection.CenterToCenter)
         {
@@ -3217,29 +3215,30 @@ public class OrderController : BaseController
         _mapper.Map(expiredTimeConfig, order);
         await _orderRepository.UpdateAsync(order, HttpContext.RequestAborted);
         //1.是否是判断节点  2.是否存在历史派单节点  3.存在获取上个派单节点  4.不存在走平均派单
-		if (dto.BusinessType == EBusinessType.Send)
+        if (dto.BusinessType == EBusinessType.Send)
         {
-	        var workflow = await _workflowDomainService.GetWorkflowAsync(dto.WorkflowId,  withTraces: true,
-		        cancellationToken: HttpContext.RequestAborted);
+            var workflow = await _workflowDomainService.GetWorkflowAsync(dto.WorkflowId, withTraces: true,
+                cancellationToken: HttpContext.RequestAborted);
             var sendOrderTraces = workflow.Traces.Where(x => x.BusinessType == EBusinessType.Send);
             if (sendOrderTraces.Any())
             {
-	            var sendOrderTrace = workflow.Traces.Where(x => x.BusinessType == EBusinessType.Send).OrderByDescending(x=>x.CreationTime).FirstOrDefault();
-				dto.NextHandlers = new List<FlowStepHandler> { new FlowStepHandler() { 
+                var sendOrderTrace = workflow.Traces.Where(x => x.BusinessType == EBusinessType.Send).OrderByDescending(x => x.CreationTime).FirstOrDefault();
+                dto.NextHandlers = new List<FlowStepHandler> { new FlowStepHandler() {
                     Key = sendOrderTrace.HandlerId,Value = sendOrderTrace.HandlerName,
                     UserId = sendOrderTrace.HandlerId,Username = sendOrderTrace.HandlerName,
-                    OrgId = sendOrderTrace.HandlerOrgId,OrgName = sendOrderTrace.HandlerOrgName 
+                    OrgId = sendOrderTrace.HandlerOrgId,OrgName = sendOrderTrace.HandlerOrgName
                 } };
-			}
-            else {
-				// 平均派单
-				var averageSendOrder = bool.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.AverageSendOrder).SettingValue[0]);
-				if (averageSendOrder)
-				{
-					var handler = await _orderDomainService.AverageOrder(HttpContext.RequestAborted);
-					dto.NextHandlers = new List<FlowStepHandler> { handler };
-				}
-			}
+            }
+            else
+            {
+                // 平均派单
+                var averageSendOrder = bool.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.AverageSendOrder).SettingValue[0]);
+                if (averageSendOrder)
+                {
+                    var handler = await _orderDomainService.AverageOrder(HttpContext.RequestAborted);
+                    dto.NextHandlers = new List<FlowStepHandler> { handler };
+                }
+            }
         }
 
         await _workflowApplication.NextAsync(dto, _sessionContext, order.ExpiredTime, HttpContext.RequestAborted);