xf 1 yıl önce
ebeveyn
işleme
2182d933cd

+ 35 - 34
src/Hotline.Api/Controllers/OrderController.cs

@@ -1620,10 +1620,10 @@ public class OrderController : BaseController
             await _repeatableEventDetailRepository.AddRangeAsync(repeatables, HttpContext.RequestAborted);
         }
         //写入质检
-        if(!string.IsNullOrEmpty(orderId)) await _qualityRepository.AddQualityAsync(EQualitySource.Accepted, orderId, HttpContext.RequestAborted);
+        if (!string.IsNullOrEmpty(orderId)) await _qualityRepository.AddQualityAsync(EQualitySource.Accepted, orderId, HttpContext.RequestAborted);
         //内容分词
         await _orderRepository.OrderParticiple(dto.Content, orderId, HttpContext.RequestAborted);
-		return orderId;
+        return orderId;
     }
 
     [HttpPost("add")]
@@ -1671,7 +1671,7 @@ public class OrderController : BaseController
         if (order.Status != EOrderStatus.WaitForAccept || !string.IsNullOrEmpty(order.WorkflowId))
             throw UserFriendlyException.SameMessage("工单已发起流程");
 
-        if(order.Content != dto.Content ) await _orderRepository.OrderParticiple(dto.Content, dto.Id, HttpContext.RequestAborted);
+        if (order.Content != dto.Content) await _orderRepository.OrderParticiple(dto.Content, dto.Id, HttpContext.RequestAborted);
         if (dto.RepeatableEventDetails?.Any() ?? false)
         {
             var reAdds = dto.RepeatableEventDetails.Where(x => string.IsNullOrEmpty(x.OrderId) && !x.IsDeleted).ToList();
@@ -1858,29 +1858,30 @@ public class OrderController : BaseController
         if (dto.PageSize > 100)
             dto.PageSize = 100;
 
-        //await _workflowStepRepository.Queryable()
-        //    .InnerJoin<Workflow>((s, w) => s.WorkflowId == w.Id)
-        //    .LeftJoin<Order>((s, w, o) => w.ExternalId == o.Id)
-        //    .WhereIF(dto.IsProvince.HasValue, (s, w, o) => o.IsProvince == dto.IsProvince)
-        //    .WhereIF(dto.IsHandled.HasValue,
-        //        (s, w, o) =>
-        //            dto.IsHandled.Value
-        //                ? s.Status == EWorkflowStepStatus.Handled
-        //                : s.Status != EWorkflowStepStatus.Handled)
-        //    .WhereIF(!string.IsNullOrEmpty(dto.Keyword),
-        //        (s, w, o) => o.No.Contains(dto.Keyword) || o.Title.Contains(dto.Keyword))
-        //    .OrderByDescending((s) => s.StepExpiredTime)
-        //    .Select((s, w, o) => new OrderWaitedDto
-        //    {
-        //        StepExpiredTime = s.StepExpiredTime
-        //    }, true)
-        //    .ToPageListAsync(dto, HttpContext.RequestAborted);
-
-        var (total, items) = await _orderRepository.Queryable()
-            .OrderBy(d => d.ExpiredTime)
-            .ToPagedListAsync(dto, HttpContext.RequestAborted);
-
-        var dtos = _mapper.Map<IReadOnlyList<OrderWaitedDto>>(items);
+        RefAsync<int> total = 0;
+        var dtos = await _workflowStepRepository.Queryable()
+              .InnerJoin<Workflow>((s, w) => s.WorkflowId == w.Id)
+              .LeftJoin<Order>((s, w, o) => w.ExternalId == o.Id)
+              .WhereIF(dto.IsProvince.HasValue, (s, w, o) => o.IsProvince == dto.IsProvince)
+              .WhereIF(dto.IsHandled.HasValue,
+                  (s, w, o) =>
+                      dto.IsHandled.Value
+                          ? s.Status == EWorkflowStepStatus.Handled
+                          : s.Status != EWorkflowStepStatus.Handled)
+              .WhereIF(!string.IsNullOrEmpty(dto.Keyword),
+                  (s, w, o) => o.No.Contains(dto.Keyword) || o.Title.Contains(dto.Keyword))
+              .OrderByDescending((s) => s.StepExpiredTime)
+              .Select((s, w, o) => new OrderWaitedDto
+              {
+                  StepExpiredTime = s.StepExpiredTime
+              }, true)
+              .ToPageListAsync(dto.PageIndex, dto.PageSize, total, HttpContext.RequestAborted);
+
+        //var (total, items) = await _orderRepository.Queryable()
+        //    .OrderBy(d => d.ExpiredTime)
+        //    .ToPagedListAsync(dto, HttpContext.RequestAborted);
+
+        //var dtos = _mapper.Map<IReadOnlyList<OrderWaitedDto>>(items);
 
 
 
@@ -2243,15 +2244,15 @@ public class OrderController : BaseController
         };
         return rsp;
     }
-	#endregion
+    #endregion
 
-	#region 工单观察
-	/// <summary>
-	/// 新增工单观察
-	/// </summary>
-	/// <param name="dtos"></param>
-	/// <returns></returns>
-	[Permission(EPermission.AddOrderObserve)]
+    #region 工单观察
+    /// <summary>
+    /// 新增工单观察
+    /// </summary>
+    /// <param name="dtos"></param>
+    /// <returns></returns>
+    [Permission(EPermission.AddOrderObserve)]
     [HttpPost("order_observe")]
     public async Task Add([FromBody] OrderObserveAddDto dto)
     {

+ 2 - 2
src/Hotline.Application/FlowEngine/WorkflowApplication.cs

@@ -627,8 +627,6 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
 
             nextStepOption.InputRealHandler = currentStepType != EStepType.Summary && stepDefine.StepType == EStepType.Summary;
             nextStepOption.FlowDirection = CheckFlowDirection(currentBusinessType, stepDefine.BusinessType);
-            nextStepOption.StepType = currentStepType;
-            nextStepOption.BusinessType = currentBusinessType;
             stepOptions.Add(nextStepOption);
         }
 
@@ -644,6 +642,8 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
             {
                 Key = stepDefine.Code,
                 Value = stepDefine.Name,
+                StepType = stepDefine.StepType,
+                BusinessType = stepDefine.BusinessType,
                 Items = handlers
             };
         }