Quellcode durchsuchen

Merge branch 'dev_dss' of Fengwo/hotline into dev

dengshengshuang vor 11 Monaten
Ursprung
Commit
689a842720

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

@@ -45,7 +45,7 @@ namespace Hotline.Application.FlowEngine
         /// 跳转至结束节点(无视流程模板配置直接跳至结束节点)
         /// </summary>
         Task JumpToEndAsync(string workflowId, string opinion, List<FileDto> file,
-            EReviewResult? reviewResult = EReviewResult.Unknown,
+            EReviewResult? reviewResult = EReviewResult.Unknown, bool isProvince = false,
             CancellationToken cancellationToken = default);
         
         ////////

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

@@ -327,7 +327,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
     /// 跳转至结束节点(无视流程模板配置直接跳至结束节点)
     /// </summary>
     public async Task JumpToEndAsync(string workflowId, string opinion, List<FileDto> files,
-        EReviewResult? reviewResult = EReviewResult.Unknown,
+        EReviewResult? reviewResult = EReviewResult.Unknown, bool isProvince = false,
         CancellationToken cancellationToken = default)
     {
         var workflow = await _workflowDomainService.GetWorkflowAsync(workflowId, withDefine: true, withSteps: true,
@@ -344,7 +344,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
             Opinion = opinion,
             Files = files
         }, endStepDefine, currentStep,
-            reviewResult, cancellationToken);
+            reviewResult, isProvince,  cancellationToken: cancellationToken);
     }
 
     /// <summary>

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

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

+ 2 - 3
src/Hotline.Application/Handlers/Order/ScreenProvinceResultNotifyHandler.cs

@@ -44,11 +44,10 @@ namespace Hotline.Application.Handlers.Order
             if (string.IsNullOrEmpty(orderScreen.WorkflowId))
                 throw new UserFriendlyException("无效甄别审批流程编号");
 
-            var pass = "1".Equals(dto.AuditResult);
-            if (pass)
+            if (dto.AuditResult)
             {
                 await _workflowApplication.JumpToEndAsync(orderScreen.WorkflowId, dto.AuditOpinion, notification.Files,EReviewResult.Approval,
-                    cancellationToken);
+                    true,cancellationToken);
             }
             else
             {

+ 5 - 5
src/Hotline.Application/Subscribers/DatasharingSubscriber.cs

@@ -112,7 +112,7 @@ namespace Hotline.Application.Subscribers
                 {
                     if (!string.IsNullOrEmpty(order.WorkflowId))
                     {
-                        await _workflowApplication.JumpToEndAsync(order.WorkflowId, "省工单同意退回", null, cancellationToken: cancellationToken);
+                        await _workflowApplication.JumpToEndAsync(order.WorkflowId, "省工单同意退回",null,isProvince:true, cancellationToken: cancellationToken);
                     }
                 }
             }
@@ -127,7 +127,7 @@ namespace Hotline.Application.Subscribers
         {
             var order = await _orderRepository.GetAsync(p => p.ProvinceNo == dto.ProvinceNo, cancellationToken);
             if (!string.IsNullOrEmpty(order.WorkflowId))
-                await _workflowApplication.JumpToEndAsync(order.WorkflowId, dto.Opinion, null, cancellationToken: cancellationToken);
+                await _workflowApplication.JumpToEndAsync(order.WorkflowId, dto.Opinion, null,isProvince:true, cancellationToken: cancellationToken);
             else
             {
 
@@ -236,7 +236,7 @@ namespace Hotline.Application.Subscribers
         {
             var order = await _orderRepository.Queryable().Where(x => x.ProvinceNo == dto.ProvinceScreenResult!.CaseSerial).FirstAsync(cancellationToken);
             var orderScreen = await _orderScreenRepository.Queryable().Where(x => x.OrderId == order.Id && x.Status == Share.Enums.Order.EScreenStatus.Approval).FirstAsync(cancellationToken);
-            await _workflowApplication.JumpToEndAsync(orderScreen.WorkflowId, "省上推送甄别结果", null,dto.ProvinceScreenResult.AuditResult? Share.Enums.FlowEngine.EReviewResult.Approval : Share.Enums.FlowEngine.EReviewResult.Failed , cancellationToken: cancellationToken);
+            await _workflowApplication.JumpToEndAsync(orderScreen.WorkflowId, "省上推送甄别结果", null,dto.ProvinceScreenResult.AuditResult? Share.Enums.FlowEngine.EReviewResult.Approval : Share.Enums.FlowEngine.EReviewResult.Failed ,isProvince:true, cancellationToken: cancellationToken);
             orderScreen.Status = dto.ProvinceScreenResult.AuditResult ? Share.Enums.Order.EScreenStatus.End : Share.Enums.Order.EScreenStatus.Refuse;
             if (orderScreen.Status == Share.Enums.Order.EScreenStatus.End)
             {
@@ -489,7 +489,7 @@ namespace Hotline.Application.Subscribers
             {
                 //查询延期
                 var orderDelay = await _orderDelayRepository.GetAsync(x => x.OrderId == order.Id && x.DelayState == EDelayState.Examining, cancellationToken);
-                await _workflowApplication.JumpToEndAsync(orderDelay.WorkflowId, dto.Opinion, null, dto.IsPass ? Share.Enums.FlowEngine.EReviewResult.Approval : Share.Enums.FlowEngine.EReviewResult.Failed);
+                await _workflowApplication.JumpToEndAsync(orderDelay.WorkflowId, dto.Opinion, null, dto.IsPass ? Share.Enums.FlowEngine.EReviewResult.Approval : Share.Enums.FlowEngine.EReviewResult.Failed,isProvince:true,cancellationToken);
             }
         }
 
@@ -519,7 +519,7 @@ namespace Hotline.Application.Subscribers
                     break;
                 case "1":
                     //办结:归档
-                    await _workflowApplication.JumpToEndAsync(order.WorkflowId, dto.Opinion, dto.Files,
+                    await _workflowApplication.JumpToEndAsync(order.WorkflowId, dto.Opinion, dto.Files,isProvince:true,
                         cancellationToken: cancellationToken);
                     break;
             }

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

@@ -102,7 +102,7 @@ namespace Hotline.FlowEngine.Workflows
         /// 结束流程(流程直接流转至结束节点)
         /// </summary>
         Task<WorkflowTrace> EndAsync(Workflow workflow, BasicWorkflowDto dto, StepDefine endStepDefine,
-            WorkflowStep currentStep, EReviewResult? reviewResult = EReviewResult.Unknown,
+            WorkflowStep currentStep, EReviewResult? reviewResult = EReviewResult.Unknown,bool isProvince = false,
             CancellationToken cancellationToken = default);
 
         StepDefine GetStepDefine(WorkflowDefinition workflowDefinition, string stepCode);

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

@@ -463,7 +463,7 @@ namespace Hotline.FlowEngine.Workflows
             if (nextStepDefine.StepType is EStepType.End)
             {
                 var endTrace = await EndAsync(workflow, dto, nextStepDefine, currentStep, EReviewResult.Approval,
-                    cancellationToken);
+                    cancellationToken: cancellationToken);
                 return;
             }
 
@@ -980,7 +980,7 @@ namespace Hotline.FlowEngine.Workflows
 
             var endStepDefine = workflow.WorkflowDefinition.FindEndStepDefine();
             var endTrace = await EndAsync(workflow, dto, endStepDefine, currentStep, EReviewResult.Failed,
-                cancellationToken);
+                cancellationToken: cancellationToken);
 
             //await _mediator.Publish(new RejectNotify(workflow, dto), cancellationToken);
         }
@@ -1108,7 +1108,7 @@ namespace Hotline.FlowEngine.Workflows
 
             var basicDto = _mapper.Map<BasicWorkflowDto>(dto);
             var endTrace = await EndAsync(workflow, basicDto, endStepDefine, currentStep, EReviewResult.Unknown,
-                cancellationToken);
+                cancellationToken: cancellationToken);
 
             await _mediator.Publish(new CancelWorkflowNotify(workflow), cancellationToken);
         }
@@ -1167,14 +1167,18 @@ namespace Hotline.FlowEngine.Workflows
         /// 流程结束
         /// </summary>
         public async Task<WorkflowTrace> EndAsync(Workflow workflow, BasicWorkflowDto dto, StepDefine endStepDefine,
-            WorkflowStep currentStep, EReviewResult? reviewResult = EReviewResult.Unknown,
+            WorkflowStep currentStep, EReviewResult? reviewResult = EReviewResult.Unknown, bool isProvince = false,
             CancellationToken cancellationToken = default)
         {
+            string userId = isProvince ? "08daa5f2-1878-4cfa-8764-1244f0229994" : _sessionContext.RequiredOrgId;
+            string userName = isProvince ? "省平台" : _sessionContext.UserName;
+            string orgId = isProvince ? "001" : _sessionContext.RequiredOrgId;
+            string OrgName = isProvince ? "市民热线服务系统" : _sessionContext.OrgName;
+
             var endStepHandles = new List<WorkflowStepHandler>
             {
                 WorkflowStepHandler.Create(workflow.Id, workflow.ExternalId,
-                    EFlowAssignType.User, _sessionContext.UserId, _sessionContext.UserName,
-                    _sessionContext.OrgId, _sessionContext.OrgName)
+                    EFlowAssignType.User, userId, userName,orgId, OrgName)
             };
 
             //create endStep

+ 1 - 1
src/Hotline/FlowEngine/Workflows/WorkflowStepHandler.cs

@@ -46,7 +46,7 @@ public class WorkflowStepHandler : CreationEntity
         return handler;
     }
 
-    public void Assign(EFlowAssignType assignType, string? userId, string? username,
+        public void Assign(EFlowAssignType assignType, string? userId, string? username,
         string? orgId, string? orgName, string? roleId, string? roleName)
     {
         FlowAssignType = assignType;