Przeglądaj źródła

SharingOrderReultSend退回中心且优先退回派单组

xf 4 miesięcy temu
rodzic
commit
7a851edff7

+ 28 - 12
src/Hotline.Application/Subscribers/DatasharingSubscriber.cs

@@ -315,16 +315,10 @@ namespace Hotline.Application.Subscribers
                         nextHandler = new List<FlowStepHandler> { handler };
                     }
                 }
-                var (isPaiDan, workflow) = await _workflowDomainService.RecallToCenterFirstToSendAsync(order.WorkflowId, dto.Opinion, order.Status >= EOrderStatus.Filed, order.ExpiredTime, nextHandler, cancellationToken);
+                var (isPaiDan, workflow) = await _workflowDomainService.RecallToCenterFirstToSendAsync(order.WorkflowId, 
+                    dto.Opinion, order.Status >= EOrderStatus.Filed, order.ExpiredTime, nextHandler, cancellationToken);
                 order.FiledTime = null;
-                if (isPaiDan)
-                {
-                    order.Status = EOrderStatus.Special;
-                }
-                else
-                {
-                    order.Status = EOrderStatus.WaitForAccept;
-                }
+                order.Status = isPaiDan ? EOrderStatus.Special : EOrderStatus.WaitForAccept;
 
                 order.CurrentStepName = workflow.CurrentStepName;
                 order.CurrentStepCode = workflow.CurrentStepCode;
@@ -824,6 +818,7 @@ namespace Hotline.Application.Subscribers
             switch (dto.FinishType)
             {
                 case "0":
+                    //退回
                     //计算order 期满时间
                     ExpiredTimeWithConfig expiredTimeConfig;
                     if (_appOptions.Value.IsZiGong)
@@ -840,10 +835,31 @@ namespace Hotline.Application.Subscribers
                     }
 
                     _mapper.Map(expiredTimeConfig, order);
-                    await _orderRepository.UpdateAsync(order, cancellationToken);
                     //退回:撤回至发起人
-                    await _workflowDomainService.RecallToStartStepAsync(order.WorkflowId, dto.Opinion, order.Status >= EOrderStatus.Filed,
-                        order.ExpiredTime, cancellationToken); //todo think是否需要保存附件至省平台办理节点?
+                    //await _workflowDomainService.RecallToStartStepAsync(order.WorkflowId, dto.Opinion, order.Status >= EOrderStatus.Filed,
+                    //    order.ExpiredTime, cancellationToken); //todo think是否需要保存附件至省平台办理节点?
+                    var (isPaiDan, workflow) = await _workflowDomainService.RecallToCenterFirstToSendAsync(
+                        order.WorkflowId, 
+                        dto.Opinion, 
+                        order.Status >= EOrderStatus.Filed, 
+                        order.ExpiredTime, null, cancellationToken);
+
+                    order.Status = isPaiDan ? EOrderStatus.Special : EOrderStatus.WaitForAccept;
+                    order.CurrentStepName = workflow.CurrentStepName;
+                    order.CurrentStepCode = workflow.CurrentStepCode;
+                    order.CurrentStepId = workflow.CurrentStepId;
+                    order.CurrentStepCreateTime = workflow.CurrentStepCreateTime;
+                    order.CurrentHandleTime = workflow.CurrentHandleTime;
+                    order.CurrentHandlerId = workflow.CurrentHandlerId;
+                    order.CurrentHandlerName = workflow.CurrentHandlerName;
+                    order.CurrentHandleOrgName = workflow.CurrentHandleOrgName;
+                    order.CurrentHandleOrgId = workflow.CurrentHandleOrgId;
+                    order.CurrentHandleOrgLevel = workflow.CurrentHandleOrgLevel;
+                    order.CurrentHandleOrgAreaCode = workflow.CurrentHandleOrgAreaCode;
+                    order.CurrentHandleOrgAreaName = workflow.CurrentHandleOrgAreaName;
+
+                    await _orderRepository.UpdateAsync(order, cancellationToken);
+
                     break;
                 case "1":
                     //办结:归档

+ 0 - 48
src/Hotline.Share/Dtos/FlowEngine/NextWorkflowDto.cs

@@ -15,54 +15,6 @@ public class NextWorkflowDto : BasicWorkflowDto
     /// </summary>
     public string StepId { get; set; }
 
-    ///// <summary>
-    ///// 下一节点到期时间(节点期满时间)
-    ///// 需求调整
-    ///// </summary>
-    //public DateTime StepExpiredTime { get; set; }
-
-    // #region 手动填入办理人信息
-    //
-    // /// <summary>
-    // /// 真实办理人姓名(手动填写)
-    // /// </summary>
-    // public string? RealHandlerName { get; set; }
-    //
-    // /// <summary>
-    // /// 真实办理人电话(手动填写)
-    // /// </summary>
-    // public string? RealHandlerPhone { get; set; }
-    //
-    // /// <summary>
-    // /// 沟通方式(手动填写)
-    // /// </summary>
-    // public ERealCommunicationMode? RealCommunicationMode { get; set; }
-    //
-    // /// <summary>
-    // /// 沟通时间(手动填写)
-    // /// </summary>
-    // public DateTime? RealCommunicationTime { get; set; }
-    //
-    // /// <summary>
-    // /// 沟通地点(手动填写)
-    // /// </summary>
-    // public string? RealCommunicationAddress { get; set; }
-    //
-    // /// <summary>
-    // /// 已与市民沟通
-    // /// 已与市民电话联系,确认办理结果
-    // /// </summary>
-    // [Description("已与市民电话联系,确认办理结果")]
-    // public bool? RealIsContacted { get; set; }
-    //
-    // /// <summary>
-    // /// 已与市民现场沟通
-    // /// 已赴现场处置,将处理结果告知市民
-    // /// </summary>
-    // [Description("已赴现场处置,将处理结果告知市民")]
-    // public bool? RealContactLocale { get; set; }
-    //
-    // #endregion
 }
 
 public class NextWorkflowDto<TData>