|
@@ -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>
|
|
|
///// 重推归档数据(设置超期时间和归档时间)
|