Jason hace 1 año
padre
commit
537e46228d

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

@@ -801,8 +801,11 @@ public class OrderController : BaseController
         var model = await _orderDelayRepository.Queryable()
             .Includes(x => x.Order)
             .Includes(x => x.Employee)
+            .Includes(x => x.Workflow)
             .FirstAsync(x => x.Id == id);
-        return _mapper.Map<OrderDelayDto>(model);
+        var rspModel = _mapper.Map<OrderDelayDto>(model);
+        rspModel.IsCanHandle = model.Workflow.CanHandle(_sessionContext.RequiredUserId, _sessionContext.RequiredOrgId);
+        return rspModel;
     }
 
     /// <summary>

+ 2 - 0
src/Hotline.Application/Mappers/OrderMapperConfigs.cs

@@ -93,6 +93,8 @@ public class OrderMapperConfigs : IRegister
 
         config.ForType<OrderDelay, OrderDelayDto>()
             //.Inherits<Order, OrderDto>()
+            .Map(d=>d.CurrentStepName,s=>s.Workflow.CurrentStepName)
+            .Map(d=>d.ActualHandlerName,s=>s.Workflow.ActualHandlerName)
             .IgnoreIf((s, d) => s.Employee == null, d => d.EmployeeName)
             .IgnoreIf((s, d) => s.Workflow == null, d => d.CurrentStepName)
             .IgnoreIf((s, d) => s.Workflow == null, d => d.ActualHandlerName);

+ 5 - 0
src/Hotline.Share/Dtos/Order/QueryOrderDto.cs

@@ -361,6 +361,11 @@ namespace Hotline.Share.Dtos.Order
         /// 当前办理人
         /// </summary>
         public string? ActualHandlerName { get; set; }
+
+        /// <summary>
+        /// 是否可办理
+        /// </summary>
+        public bool IsCanHandle { get; set; }
     }
 
 

+ 1 - 1
src/Hotline/Orders/OrderDelay.cs

@@ -102,6 +102,6 @@ namespace Hotline.Orders
         public string? WorkflowId { get; set; }
 
         [Navigate(NavigateType.OneToOne, nameof(WorkflowId))]
-        public Workflow Workflow { get; set; }
+        public Workflow? Workflow { get; set; }
     }
 }