Kaynağa Gözat

fixed: 坐席待办

xf 4 ay önce
ebeveyn
işleme
2136570690

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

@@ -5388,7 +5388,6 @@ public class OrderController : BaseController
         }
     }
 
-
     /// <summary>
     /// 工单重办信息
     /// </summary>
@@ -5676,6 +5675,8 @@ public class OrderController : BaseController
 
             await _workflowApplication.RecallAsync(recall, expiredTime.ExpiredTime, order.Status >= EOrderStatus.Filed, EWorkflowTraceType.Recall,
                 HttpContext.RequestAborted);
+
+
             if (order.Status >= EOrderStatus.Filed)
             {
                 var publish = await _orderPublishRepository.GetAsync(x => x.OrderId == special.OrderId);

+ 6 - 2
src/Hotline.Application/Orders/OrderApplication.cs

@@ -3707,7 +3707,8 @@ public class OrderApplication : IOrderApplication, IScopeDependency
         handleStatuses = handleStatuses.WhereIF(dto.IsHandled.HasValue,
                 d => dto.IsHandled!.Value
                     ? d is not EOrderStatus.WaitForAccept and not EOrderStatus.BackToUnAccept and not EOrderStatus.SpecialToUnAccept and not EOrderStatus.HandOverToUnAccept
-                    : d is EOrderStatus.WaitForAccept or EOrderStatus.BackToUnAccept or EOrderStatus.SpecialToUnAccept or EOrderStatus.HandOverToUnAccept or EOrderStatus.Handling)
+                    : d is EOrderStatus.WaitForAccept or EOrderStatus.BackToUnAccept or EOrderStatus.SpecialToUnAccept or EOrderStatus.HandOverToUnAccept or EOrderStatus.Handling
+                    or EOrderStatus.Countersigning)
             .ToArray();
 
         //var query = _orderRepository.Queryable()
@@ -3759,7 +3760,10 @@ public class OrderApplication : IOrderApplication, IScopeDependency
                      (step.FlowAssignType == EFlowAssignType.Role && !string.IsNullOrEmpty(step.RoleId) && _sessionContext.Roles.Contains(step.RoleId)) ||
                      (step.FlowAssignType == EFlowAssignType.OrgAndRole && !string.IsNullOrEmpty(step.RoleId) && _sessionContext.Roles.Contains(step.RoleId)
                       && !string.IsNullOrEmpty(step.HandlerOrgId) && step.HandlerOrgId == _sessionContext.RequiredOrgId))
-                    && step.Status < EWorkflowStepStatus.Handled));
+                    && step.Status < EWorkflowStepStatus.Handled)
+                || (SqlFunc.IsNullOrEmpty(d.WorkflowId) && SqlFunc.IsNullOrEmpty(d.SignerId)
+                || (!SqlFunc.IsNullOrEmpty(d.SignerId) && d.SignerId == _sessionContext.UserId))
+                );
         }
 
         //query = query.Where(d => SqlFunc.Subqueryable<WorkflowTrace>()