Эх сурвалжийг харах

Merge branch 'test' of http://110.188.24.182:10023/Fengwo/hotline into test

田爽 1 сар өмнө
parent
commit
3a43eed426

+ 10 - 32
src/Hotline.Api/Controllers/OrderController.cs

@@ -3947,33 +3947,6 @@ public class OrderController : BaseController
         return _sessionContext.OrgIsCenter ? dto : dto.DataMask();
     }
 
-
-    /// <summary>
-    /// 上传附件
-    /// </summary>
-    /// <param name="dto"></param>
-    /// <returns></returns>
-    //[HttpPost]
-    //[LogFilterAlpha("上传附件")]
-    //public async Task UploadFiles(OrderUploadFiles dto) { 
-
-    //       var fileJson = await _fileRepository.AddFileAsync(dto.Files, dto.Id, "", HttpContext.RequestAborted);
-
-    //       if (fileJson.Any())
-    //       {
-    //		var order = await _orderRepository.GetAsync(dto.Id);
-    //           if (order.FileJson != null && order.FileJson.Any())
-    //           {
-    //               order.FileJson.AddRange(fileJson);
-    //           }
-    //           else {
-    //               order.FileJson = fileJson;
-    //		}
-    //           await _orderRepository.Updateable().SetColumns(x => new Order { FileJson = order.FileJson }).Where(x => x.Id == dto.Id).ExecuteCommandAsync();
-    //	}
-    //}
-
-
     /// <summary>
     /// 新增工单
     /// </summary>
@@ -4723,8 +4696,10 @@ public class OrderController : BaseController
                     // }).Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
                 }
 
-                var (_, currentStep, _, _) = await _workflowDomainService.NextAsync(_sessionContext, nextDto, order.ExpiredTime,
-                    isAutoFillSummaryOpinion, cancellationToken: cancellationToken);
+                var (_, currentStep, _, _) = await _workflowDomainService.NextAsync(_sessionContext, nextDto, 
+                    expiredTime:  order.ExpiredTime,
+                    isAutoFillSummaryOpinion: isAutoFillSummaryOpinion, 
+                    cancellationToken: cancellationToken);
                 if (currentStep.BusinessType is EBusinessType.Send)
                 {
                     await _orderRepository.Updateable().SetColumns(o => new Order()
@@ -4763,7 +4738,8 @@ public class OrderController : BaseController
                             OrgId = unhandleStep.HandlerOrgId,
                             OrgName = unhandleStep.HandlerOrgName,
                         };
-                        var (_, _, _, nextSteps) = await _workflowDomainService.NextAsync(operater, nextflowDto, order.ExpiredTime,
+                        var (_, _, _, nextSteps) = await _workflowDomainService.NextAsync(operater, nextflowDto, 
+                            EHandleMode.CrossLevel, order.ExpiredTime,
                             isAutoFillSummaryOpinion, cancellationToken: cancellationToken);
                         tempSteps.AddRange(nextSteps);
                     }
@@ -4819,8 +4795,10 @@ public class OrderController : BaseController
         NextWorkflowDto? flowDto, DateTime? expiredTime, bool isAutoFillSummaryOpinion, CancellationToken cancellation)
     {
         if (flowDto is null || !flowDto.NextHandlers.Any()) return;
-        var (_, _, _, currentSteps) = await _workflowDomainService.NextAsync(current, flowDto, expiredTime,
-            isAutoFillSummaryOpinion, cancellationToken: cancellation);
+        var (_, _, _, currentSteps) = await _workflowDomainService.NextAsync(current, flowDto, 
+            expiredTime: expiredTime,
+            isAutoFillSummaryOpinion: isAutoFillSummaryOpinion, 
+            cancellationToken: cancellation);
 
         foreach (var currentStep in currentSteps)
         {

+ 3 - 1
src/Hotline.Application/Orders/OrderApplication.cs

@@ -3635,7 +3635,9 @@ public class OrderApplication : IOrderApplication, IScopeDependency
         _sessionContext.ChangeSession(startStep.HandlerId);
         var isAutoFillSummaryOpinion = _systemSettingCacheManager.IsAutoFillSummaryOpinion;
 
-        await _workflowDomainService.NextAsync(operater, nextDto, order.ExpiredTime, isAutoFillSummaryOpinion,
+        await _workflowDomainService.NextAsync(operater, nextDto,
+            expiredTime: order.ExpiredTime, 
+            isAutoFillSummaryOpinion: isAutoFillSummaryOpinion,
             cancellationToken: cancellationToken);
     }
 

+ 6 - 0
src/Hotline.Share/Enums/FlowEngine/EHandleMode.cs

@@ -13,6 +13,12 @@ public enum EHandleMode
     [Description("正常")]
     Normal = 0,
 
+    /// <summary>
+    /// 跨级派单
+    /// </summary>
+    [Description("跨级派单")]
+    CrossLevel = 1,
+
     /// <summary>
     /// 审核通过(审批流程特有)
     /// </summary>

+ 3 - 1
src/Hotline/FlowEngine/Workflows/IWorkflowDomainService.cs

@@ -38,7 +38,9 @@ namespace Hotline.FlowEngine.Workflows
         /// <summary>
         /// new
         /// </summary>
-        Task<(Workflow, WorkflowStep, StepDefine, List<WorkflowStep>)> NextAsync(ISessionContext current, NextWorkflowDto dto,
+        Task<(Workflow, WorkflowStep, StepDefine, List<WorkflowStep>)> NextAsync(
+            ISessionContext current, NextWorkflowDto dto,
+            EHandleMode handleMode = EHandleMode.Normal,
             DateTime? expiredTime = null, bool isAutoFillSummaryOpinion = false,
             Action<Workflow, WorkflowStep, StepDefine>? currentStepConfig = null,
             Action<Workflow, WorkflowStep, StepDefine, WorkflowStep>? newStepConfig = null,

+ 6 - 3
src/Hotline/FlowEngine/Workflows/WorkflowDomainService.cs

@@ -284,7 +284,8 @@ namespace Hotline.FlowEngine.Workflows
         /// workflow, currentStep, nextStepDefine, nextSteps
         /// </summary>
         public async Task<(Workflow, WorkflowStep, StepDefine, List<WorkflowStep>)> NextAsync(
-            ISessionContext current, NextWorkflowDto dto,
+            ISessionContext current, NextWorkflowDto dto, 
+            EHandleMode handleMode = EHandleMode.Normal,
             DateTime? expiredTime = null, bool isAutoFillSummaryOpinion = false,
             Action<Workflow, WorkflowStep, StepDefine>? currentStepConfig = null,
             Action<Workflow, WorkflowStep, StepDefine, WorkflowStep>? newStepConfig = null,
@@ -434,7 +435,7 @@ namespace Hotline.FlowEngine.Workflows
                 }
             }
 
-            await HandleStepAsync(currentStep, workflow, dto, counterSignType, expiredTime, EHandleMode.Normal, cancellationToken);
+            await HandleStepAsync(currentStep, workflow, dto, counterSignType, expiredTime, handleMode, cancellationToken);
 
             currentStep.IsActualHandled = CheckIsActualHandle(workflow, currentStep, nextStepDefine, dto);
 
@@ -608,7 +609,9 @@ namespace Hotline.FlowEngine.Workflows
             nextDto.WorkflowId = workflow.Id;
             nextDto.StepId = startStep.Id;
             var (_, _, _, nextSteps) =
-                await NextAsync(_sessionContextProvider.SessionContext, nextDto, expiredTime, true,
+                await NextAsync(_sessionContextProvider.SessionContext, nextDto, 
+                    expiredTime: expiredTime, 
+                    isAutoFillSummaryOpinion: true,
                     newStepConfig: newStepConfig, cancellationToken: cancellationToken);
             return nextSteps;
         }