|
@@ -202,10 +202,49 @@ public class TestController : BaseController
|
|
|
}
|
|
|
[HttpGet("testo111")]
|
|
|
[AllowAnonymous]
|
|
|
- public async Task Test111(DateTime StartTime, DateTime EndTime)
|
|
|
+ public async Task Test111(DateTime StartTime, DateTime? EndTime)
|
|
|
{
|
|
|
|
|
|
-
|
|
|
+ var list = await _orderRepository.Queryable()
|
|
|
+ .Where(p => p.CreationTime >= StartTime && p.CreationTime <= EndTime && p.Status >= EOrderStatus.Filed)
|
|
|
+ .Where(p => p.CreationTimeHandleDuration == null || p.CenterToOrgHandleDuration == null)
|
|
|
+ .ToListAsync();
|
|
|
+
|
|
|
+ if (list.Any())
|
|
|
+ {
|
|
|
+ foreach (var item in list)
|
|
|
+ {
|
|
|
+ var creationTimeHandleDurationWorkday = item.ActualHandleTime.HasValue
|
|
|
+ ? _timeLimitDomainService.CalcWorkTime(item.CreationTime, item.ActualHandleTime.Value,
|
|
|
+ item.ProcessType is EProcessType.Zhiban)
|
|
|
+ : 0;
|
|
|
+ var centerToOrgHandleDurationWorkday = item.ActualHandleTime.HasValue && item.CenterToOrgTime.HasValue
|
|
|
+ ? _timeLimitDomainService.CalcWorkTime(item.CenterToOrgTime.Value, item.ActualHandleTime.Value,
|
|
|
+ item.ProcessType is EProcessType.Zhiban)
|
|
|
+ : 0;
|
|
|
+
|
|
|
+ item.CreationTimeHandleDurationWorkday = creationTimeHandleDurationWorkday;
|
|
|
+ item.CenterToOrgHandleDurationWorkday = centerToOrgHandleDurationWorkday;
|
|
|
+
|
|
|
+ if (item.ActualHandleTime.HasValue)
|
|
|
+ {
|
|
|
+ var count = Math.Round((item.ActualHandleTime - item.CreationTime).Value.TotalSeconds);
|
|
|
+ item.CreationTimeHandleDuration = count <= 0 ? 1 : count;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ item.CreationTimeHandleDuration = 0;
|
|
|
+
|
|
|
+ if (item.ActualHandleTime.HasValue && item.CenterToOrgTime.HasValue)
|
|
|
+ {
|
|
|
+ var count = Math.Round((item.ActualHandleTime - item.CenterToOrgTime).Value.TotalSeconds);
|
|
|
+ item.CenterToOrgHandleDuration = count <= 0 ? 1 : count;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ item.CenterToOrgHandleDuration = 0;
|
|
|
+
|
|
|
+ await _orderRepository.UpdateAsync(item, HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
[HttpGet("testo")]
|
|
@@ -542,10 +581,10 @@ public class TestController : BaseController
|
|
|
|
|
|
var orderIds = orders.Select(d => d.Id).ToList();
|
|
|
var steps = await _workflowStepRepository.Queryable()
|
|
|
- .Where(d => orderIds.Contains(d.ExternalId) &&
|
|
|
+ .Where(d => orderIds.Contains(d.ExternalId) &&
|
|
|
d.BusinessType == EBusinessType.Send &&
|
|
|
d.Status == EWorkflowStepStatus.Handled)
|
|
|
- .OrderBy(d=>d.CreationTime)
|
|
|
+ .OrderBy(d => d.CreationTime)
|
|
|
.ToListAsync(HttpContext.RequestAborted);
|
|
|
|
|
|
var updateOrders = new List<Order>();
|
|
@@ -554,7 +593,7 @@ public class TestController : BaseController
|
|
|
var step = steps.Where(d => d.ExternalId == order.Id)
|
|
|
.OrderBy(d => d.CreationTime)
|
|
|
.FirstOrDefault();
|
|
|
- if(step is null) continue;
|
|
|
+ if (step is null) continue;
|
|
|
|
|
|
order.CenterToOrgTime = step.HandleTime;
|
|
|
order.CenterToOrgHandlerId = step.HandlerId;
|
|
@@ -581,7 +620,7 @@ public class TestController : BaseController
|
|
|
|
|
|
updateOrders.Add(order);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
await _orderRepository.UpdateRangeAsync(updateOrders, HttpContext.RequestAborted);
|
|
|
}
|
|
|
|