Przeglądaj źródła

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

田爽 5 miesięcy temu
rodzic
commit
2e4de23421

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

@@ -2821,10 +2821,23 @@ public class OrderApplication : IOrderApplication, IScopeDependency
                 }
 
                 //await _workflowDomainService.RecallToStartStepAsync(order.WorkflowId, "省工单重派", current, order.Status >= EOrderStatus.Filed, cancellationToken);
-                var isPaiDan = await _workflowDomainService.RecallToCenterFirstToSendAsync(order.WorkflowId, "省工单重派", order.Status >= EOrderStatus.Filed,
+                var (isPaiDan, workflow) = await _workflowDomainService.RecallToCenterFirstToSendAsync(order.WorkflowId, "省工单重派", order.Status >= EOrderStatus.Filed,
                     order.ExpiredTime, nextHandler, cancellationToken);
                 order.FileEmpty();
 
+                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;
+
                 order.Status = EOrderStatus.WaitForAccept;
                 if (isPaiDan)
                 {

Plik diff jest za duży
+ 0 - 0
src/Hotline.Application/StatisticalReport/OrderReportApplication.cs


+ 14 - 2
src/Hotline.Application/Subscribers/DatasharingSubscriber.cs

@@ -315,8 +315,7 @@ namespace Hotline.Application.Subscribers
                         nextHandler = new List<FlowStepHandler> { handler };
                     }
                 }
-                var isPaiDan = 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)
                 {
@@ -327,6 +326,19 @@ namespace Hotline.Application.Subscribers
                     order.Status = 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);
             }
         }

+ 19 - 1
src/Hotline.Share/Enums/CallCenter/ETelStatus.cs

@@ -43,4 +43,22 @@ public enum ETelStatus
     [Description("呼叫等待中")]
     Wait = 60,
 
-}
+}
+
+/*
+- '0': '签出'
+- '100': '签入'
+- '200': '空闲'
+- '201': '小休'
+- '202': '繁忙'
+- '300': '呼入振铃'
+- '301': '呼入通话'
+- '302': '呼出振铃'
+- '303': '呼出通话'
+- '310': '通话保持'
+- '320': '会议'
+- '330': '咨询'
+- '400': '整理'
+- '900': '注册'
+- '901': '注销'
+ */

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

@@ -96,7 +96,7 @@ namespace Hotline.FlowEngine.Workflows
         /// 特提至中心(优先派单组其次坐席)
         /// </summary>
         /// <returns></returns>
-        Task<bool> RecallToCenterFirstToSendAsync(string workflowId, string opinion, bool isOrderFiled, DateTime? expiredTime, List<FlowStepHandler> handlers,
+        Task<(bool, Workflow workflow)> RecallToCenterFirstToSendAsync(string workflowId, string opinion, bool isOrderFiled, DateTime? expiredTime, List<FlowStepHandler> handlers,
 			CancellationToken cancellationToken);
 
         ///// <summary>

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

@@ -602,12 +602,12 @@ namespace Hotline.FlowEngine.Workflows
             var unhandlePreviousTrace = workflow.Traces.FirstOrDefault(d =>
                 d.Status is not EWorkflowStepStatus.Handled
             );
-            
+
             var unCompletedCountersign = workflow.Countersigns
                 .FirstOrDefault(d => !d.IsCompleted() && d.StarterOrgId == orgId);
             if (unCompletedCountersign is null)
                 return (workflow, null, canHandle, canPrevious, unhandlePreviousTrace);
-            
+
             //var existCountersignEndStep = workflow.Steps.Exists(d =>
             //    d.IsCountersignEndStep && d.CountersignStartStepId == unCompletedCountersign.StartStepId);
             //return (workflow, existCountersignEndStep ? null : unCompletedCountersign.Id, canPrevious);
@@ -1680,7 +1680,7 @@ namespace Hotline.FlowEngine.Workflows
         /// 特提至中心(优先派单组其次坐席)
         /// </summary>
         /// <returns>true 派单组  false 话务部</returns>
-        public async Task<bool> RecallToCenterFirstToSendAsync(string workflowId, string opinion, bool isOrderFiled,
+        public async Task<(bool, Workflow workflow)> RecallToCenterFirstToSendAsync(string workflowId, string opinion, bool isOrderFiled,
             DateTime? expiredTime, List<FlowStepHandler>? handlers, CancellationToken cancellationToken)
         {
             bool isPaiDan = true;
@@ -1763,7 +1763,7 @@ namespace Hotline.FlowEngine.Workflows
                 isPaiDan = false;
             }
 
-            return isPaiDan;
+            return (new(isPaiDan, workflow));
         }
 
         //private async Task RecallToTargetStepAsync(Workflow workflow, WorkflowStep targetStep, string opinion, ISessionContext current,
@@ -3385,7 +3385,8 @@ namespace Hotline.FlowEngine.Workflows
                 step.StepExpiredTime = expiredTime;
             //step.TimeLimit = GetTimeLimit("");
             step.IsOrigin = isOrigin;
-            step.Name = stepName;
+            if (!string.IsNullOrEmpty(stepName))
+                step.Name = stepName;
 
             //新增需求: 部门汇总节点由部门办理//todo 待确认中心由部门处理还是由之前办理人办理 待重构
             if (step.StepType == EStepType.Summary && step.BusinessType == EBusinessType.Department)

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików