Browse Source

修改推送归档数据到省上

tangjiang 2 months ago
parent
commit
c9f597d536
1 changed files with 34 additions and 18 deletions
  1. 34 18
      src/Hotline.Api/Controllers/TestController.cs

+ 34 - 18
src/Hotline.Api/Controllers/TestController.cs

@@ -1301,7 +1301,7 @@ ICallApplication callApplication,
     /// <returns></returns>
     [HttpPost("end_order_data_dispose")]
     [AllowAnonymous]
-    public async Task EndOrderDataDispose([FromBody] string No, DateTime fileTime)
+    public async Task EndOrderDataDispose(string No, DateTime fileTime)
     {
         var orderNo = await _orderRepository.Queryable().Where(x => x.No == No).FirstAsync(HttpContext.RequestAborted);
 
@@ -1315,8 +1315,12 @@ ICallApplication callApplication,
         _mapper.Map(workflow, order);
         if (notification != null)
         {
+            DateTime now;
+            if (notification.HandleTime.HasValue)
+                now = notification.HandleTime.Value;
+            else
+                now = fileTime;// DateTime.Now;
 
-            var now = fileTime;// DateTime.Now;
             var handleDuration = order.CenterToOrgTime.HasValue && order.ActualHandleTime.HasValue
                 ? // _timeLimitDomainService.CalcWorkTime(
                 await _expireTime.CalcWorkTime(
@@ -1376,6 +1380,18 @@ ICallApplication callApplication,
             order.IsResolved = true;
 
             await _orderRepository.UpdateAsync(order, HttpContext.RequestAborted);
+
+            var trace = await _workflowStepRepository.Queryable().Includes(x => x.Workflow, w => w.Steps).Where(x => x.ExternalId == order.Id
+                && x.BusinessType == EBusinessType.File && x.StepType == EStepType.End).FirstAsync(HttpContext.RequestAborted);
+            var orderFlowDto = new OrderFlowDto
+            {
+                Order = _mapper.Map<OrderDto>(order),
+                WorkflowTrace = _mapper.Map<WorkflowTraceDto>(trace)
+            };
+
+            //这里需要判断是否是警情退回
+            orderFlowDto.IsNonPoliceReturn = false;
+            await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlineOrderFiled, orderFlowDto, cancellationToken: HttpContext.RequestAborted);
         }
     }
 
@@ -1389,22 +1405,22 @@ ICallApplication callApplication,
     public async Task EndOrderDelay([FromBody] OrderDelayEndHandleDto dto)
     {
 
-		var delay = await _orderDelayRepository.GetAsync(dto.DelayId);
-		if (delay != null)
-		{
-			//delay.Flowed(workflow.FlowedUserIds, workflow.FlowedOrgIds, workflow.HandlerUsers, workflow.HandlerOrgs);
-			delay.DelayState = dto.IsReviewPass ? EDelayState.Pass : EDelayState.NoPass;
-			await _orderDelayRepository.Updateable(delay)
-				.UpdateColumns(d => d.DelayState)
-				.ExecuteCommandAsync();
-			if (dto.IsReviewPass)
-			{
-				//处理工单延期
-				await _orderApplication.DelayOrderExpiredTimeAsync(delay.OrderId, delay.DelayNum,
-					delay.DelayUnit, delay.IsProDelay, HttpContext.RequestAborted);
-			}
-		}
-	}
+        var delay = await _orderDelayRepository.GetAsync(dto.DelayId);
+        if (delay != null)
+        {
+            //delay.Flowed(workflow.FlowedUserIds, workflow.FlowedOrgIds, workflow.HandlerUsers, workflow.HandlerOrgs);
+            delay.DelayState = dto.IsReviewPass ? EDelayState.Pass : EDelayState.NoPass;
+            await _orderDelayRepository.Updateable(delay)
+                .UpdateColumns(d => d.DelayState)
+                .ExecuteCommandAsync();
+            if (dto.IsReviewPass)
+            {
+                //处理工单延期
+                await _orderApplication.DelayOrderExpiredTimeAsync(delay.OrderId, delay.DelayNum,
+                    delay.DelayUnit, delay.IsProDelay, HttpContext.RequestAborted);
+            }
+        }
+    }
 
     ///// <summary>
     ///// 重推归档数据(设置超期时间和归档时间)