田爽 1 rok pred
rodič
commit
b4b353df63

+ 2 - 1
src/Hotline.Application/FlowEngine/IWorkflowApplication.cs

@@ -1,6 +1,7 @@
 using Hotline.FlowEngine.Definitions;
 using Hotline.Orders;
 using Hotline.Share.Dtos;
+using Hotline.Share.Dtos.File;
 using Hotline.Share.Dtos.FlowEngine;
 using Hotline.Share.Dtos.FlowEngine.Definition;
 using Hotline.Share.Dtos.Settings;
@@ -44,7 +45,7 @@ namespace Hotline.Application.FlowEngine
         /// <summary>
         /// 跳转至结束节点(无视流程模板配置直接跳至结束节点)
         /// </summary>
-        Task JumpToEndAsync(string workflowId, string opinion, EReviewResult? reviewResult = EReviewResult.Unknown,
+        Task JumpToEndAsync(string workflowId, string opinion,List<FileDto> file, EReviewResult? reviewResult = EReviewResult.Unknown,
             CancellationToken cancellationToken = default);
 
         /// <summary>

+ 3 - 1
src/Hotline.Application/FlowEngine/WorkflowApplication.cs

@@ -28,6 +28,7 @@ using XF.Domain.Exceptions;
 using XF.Domain.Extensions;
 using XF.Domain.Repository;
 using XF.Utility.EnumExtensions;
+using Hotline.Share.Dtos.File;
 
 namespace Hotline.Application.FlowEngine;
 
@@ -309,7 +310,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
     /// <summary>
     /// 跳转至结束节点(无视流程模板配置直接跳至结束节点)
     /// </summary>
-    public async Task JumpToEndAsync(string workflowId, string opinion, EReviewResult? reviewResult = EReviewResult.Unknown,
+    public async Task JumpToEndAsync(string workflowId, string opinion,List<FileDto> files, EReviewResult? reviewResult = EReviewResult.Unknown,
         CancellationToken cancellationToken = default)
     {
         var workflow =
@@ -324,6 +325,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
         var endTrace = await _workflowDomainService.EndAsync(workflow, new BasicWorkflowDto
             {
                 Opinion = opinion,
+                Files = files
             }, endStepDefine, currentStep,
             reviewResult, cancellationToken);
     }

+ 1 - 1
src/Hotline.Application/Handlers/Order/DelayProvinceResultNotifyHandler.cs

@@ -45,7 +45,7 @@ namespace Hotline.Application.Handlers.Order
 
             if (dto.IsPass)
             {
-                await _workflowApplication.JumpToEndAsync(orderDelay.WorkflowId, dto.Opinion, EReviewResult.Approval,
+                await _workflowApplication.JumpToEndAsync(orderDelay.WorkflowId, dto.Opinion, notification.Files,EReviewResult.Approval,
                     cancellationToken);
             }
             else

+ 4 - 2
src/Hotline.Application/Handlers/Order/OrderResultNotifyHandler.cs

@@ -2,6 +2,7 @@
 using Hotline.DataSharing.Province.Notifications;
 using Hotline.File;
 using Hotline.Orders;
+using Hotline.Share.Dtos.FlowEngine;
 using Hotline.Share.Dtos.Order;
 using Hotline.Share.Enums.Order;
 using MapsterMapper;
@@ -29,10 +30,11 @@ namespace Hotline.Application.Handlers.Order
             {
 				if ("0".Equals(request.FinishType))
 				{
-					//todo  等_workflowApplication 新加一个退回上一个节点的方法
+					await _workflowApplication.PreviousAsync(
+						new PreviousWorkflowDto { WorkflowId = order.WorkflowId, Opinion = request.Opinion, Files = request.Files }, cancellationToken: cancellationToken);
 				}
 				else if ("1".Equals(request.FinishType)) {
-					await _workflowApplication.JumpToEndAsync(order.WorkflowId, request.Opinion, cancellationToken: cancellationToken);
+					await _workflowApplication.JumpToEndAsync(order.WorkflowId, request.Opinion, request.Files, cancellationToken: cancellationToken);
 				}
 			}
         }

+ 1 - 1
src/Hotline.Application/Handlers/Order/ScreenProvinceResultNotifyHandler.cs

@@ -47,7 +47,7 @@ namespace Hotline.Application.Handlers.Order
             var pass = "1".Equals(dto.AuditResult);
             if (pass)
             {
-                await _workflowApplication.JumpToEndAsync(orderScreen.WorkflowId, dto.AuditOpinion, EReviewResult.Approval,
+                await _workflowApplication.JumpToEndAsync(orderScreen.WorkflowId, dto.AuditOpinion, notification.Files,EReviewResult.Approval,
                     cancellationToken);
             }
             else

+ 4 - 1
src/Hotline/DataSharing/Province/Notifications/DelayProvinceResultNotify.cs

@@ -3,6 +3,7 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using Hotline.Share.Dtos.File;
 using MediatR;
 
 namespace Hotline.DataSharing.Province.Notifications
@@ -26,5 +27,7 @@ namespace Hotline.DataSharing.Province.Notifications
         /// 办理意见
         /// </summary>
         public string Opinion { get; set; }
-    }
+
+        public List<FileDto> Files { get; set; }
+	}
 }

+ 4 - 2
src/Hotline/DataSharing/Province/Notifications/OrderResultNotify.cs

@@ -1,4 +1,5 @@
-using MediatR;
+using Hotline.Share.Dtos.File;
+using MediatR;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -7,6 +8,7 @@ using System.Threading.Tasks;
 
 namespace Hotline.DataSharing.Province.Notifications
 {
+	// 不接受补附件
 	public class OrderResultNotify : INotification
 	{
 		public string OrderId { get; set; }
@@ -15,6 +17,6 @@ namespace Hotline.DataSharing.Province.Notifications
 
 		public string FinishType { get; set; }
 
-		//public string Status { get; set; }
+		public List<FileDto> Files { get; set; }
 	}
 }

+ 4 - 1
src/Hotline/DataSharing/Province/Notifications/ScreenProvinceResultNotify.cs

@@ -1,4 +1,5 @@
-using Hotline.Share.Dtos.Order;
+using Hotline.Share.Dtos.File;
+using Hotline.Share.Dtos.Order;
 using MediatR;
 
 namespace Hotline.DataSharing.Province.Notifications;
@@ -9,4 +10,6 @@ namespace Hotline.DataSharing.Province.Notifications;
 public class ScreenProvinceResultNotify : INotification
 {
     public ProvinceScreenResult ProvinceScreenResult { get; set; }
+
+    public List<FileDto> Files { get; set; }
 }