Просмотр исходного кода

二次办理申请通过删除甄别审批中的记录

田爽 4 месяцев назад
Родитель
Сommit
441a3bff2a
1 измененных файлов с 16 добавлено и 5 удалено
  1. 16 5
      src/Hotline.Application/Orders/OrderSecondaryHandlingApplication.cs

+ 16 - 5
src/Hotline.Application/Orders/OrderSecondaryHandlingApplication.cs

@@ -44,8 +44,9 @@ namespace Hotline.Application.Orders
         private readonly IWorkflowDomainService _workflowDomainService;
         private readonly IRepository<OrderVisitDetail> _orderVisitedDetailRepository;
         private readonly IOrderDomainService _orderDomainService;
+        private readonly IOrderScreenRepository _orderScreenRepository;
 
-        public OrderSecondaryHandlingApplication(
+		public OrderSecondaryHandlingApplication(
             IMapper mapper,
             IRepository<OrderSecondaryHandling> orderSecondaryHandlingRepository,
             IFileRepository fileRepository,
@@ -59,9 +60,9 @@ namespace Hotline.Application.Orders
             IRepository<OrderPublishHistory> orderPublishHistoryRepository,
             IWorkflowDomainService workflowDomainService,
             IRepository<OrderVisitDetail> orderVisitedDetailRepository,
-            IOrderDomainService orderDomainService
-,
-            ICalcExpireTime expireTime)
+            IOrderDomainService orderDomainService,
+            IOrderScreenRepository orderScreenRepository,
+			ICalcExpireTime expireTime)
         {
             _mapper = mapper;
             _orderSecondaryHandlingRepository = orderSecondaryHandlingRepository;
@@ -78,7 +79,8 @@ namespace Hotline.Application.Orders
             _orderVisitedDetailRepository = orderVisitedDetailRepository;
             _orderDomainService = orderDomainService;
             _expireTime = expireTime;
-        }
+            _orderScreenRepository = orderScreenRepository;
+		}
 
         /// <summary>
         ///  二次办理新增
@@ -202,6 +204,15 @@ namespace Hotline.Application.Orders
                     await _orderPublishHistoryRepository.AddAsync(publishHistory, cancellationToken);
                     await _orderPublishRepository.RemoveAsync(publish, false, cancellationToken);
                 }
+
+                var screen = await _orderScreenRepository.Queryable().FirstAsync(
+	                x => x.OrderId == model.OrderId &&
+	                     (x.Status != EScreenStatus.End && x.Status != EScreenStatus.Refuse), cancellationToken);
+                if (screen != null)
+                {
+	                await _orderScreenRepository.RemoveAsync(screen, false, cancellationToken);
+                }
+
                 await _workflowApplication.RecallAsync(recall, expiredTime.ExpiredTime, isOrderFiled, EWorkflowTraceType.SecondHandle, cancellationToken);
                 visit.VisitState = EVisitState.None;
                 await _orderVisitRepository.UpdateAsync(visit, cancellationToken);