|
@@ -1808,23 +1808,21 @@ public class OrderController : BaseController
|
|
|
[HttpGet("screen")]
|
|
|
public async Task<PagedDto<OrderScreenListDto>> ScreenList([FromQuery] ScreenListDto dto)
|
|
|
{
|
|
|
- var handler = dto.TabStatus is EScreenStatus.Apply;
|
|
|
- ISugarQueryable<OrderScreen> query;
|
|
|
- if (dto.source == 1)
|
|
|
- {
|
|
|
- query = _orderScreenRepository.Queryable(hasHandled: !handler);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- query = _orderScreenRepository.Queryable()
|
|
|
- .Where(x => x.CreatorOrgId.StartsWith(_sessionContext.RequiredOrgId));
|
|
|
- }
|
|
|
- query = query.Includes(d => d.Order)
|
|
|
- .Includes(d => d.Order)
|
|
|
- var view = dto.source == 1;
|
|
|
- var handler = dto.source == 1 && dto.Status is EScreenStatus.Apply;
|
|
|
+ var handler = dto.TabStatus is EScreenStatus.Apply;
|
|
|
var isAdmin = _orderDomainService.IsCheckAdmin();
|
|
|
- var query = _orderScreenRepository.Queryable(hasHandled: !handler, isAdmin: isAdmin)
|
|
|
+ ISugarQueryable<OrderScreen> query;
|
|
|
+
|
|
|
+ if (dto.source == 1)
|
|
|
+ {
|
|
|
+ query = _orderScreenRepository.Queryable(hasHandled: !handler, isAdmin: isAdmin);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ query = _orderScreenRepository.Queryable(isAdmin: isAdmin)
|
|
|
+ .WhereIF(!isAdmin, x => x.CreatorOrgId.StartsWith(_sessionContext.RequiredOrgId));
|
|
|
+ }
|
|
|
+
|
|
|
+ query = query
|
|
|
.Includes(d => d.Order)
|
|
|
.Includes(d => d.VisitDetail)
|
|
|
.Includes(d => d.Visit, v => v.Order)
|
|
@@ -1968,7 +1966,7 @@ public class OrderController : BaseController
|
|
|
screen.TypeDicId = dto.Data.TypeDicId;
|
|
|
screen.TypeDicName = dto.Data.TypeDicName;
|
|
|
screen.SendBackApply = false;
|
|
|
- screen.SendBackApplyNum++;
|
|
|
+ screen.SendBackApplyNum++;
|
|
|
await _orderScreenRepository.UpdateAsync(screen, HttpContext.RequestAborted);
|
|
|
try
|
|
|
{
|
|
@@ -2077,7 +2075,7 @@ public class OrderController : BaseController
|
|
|
_sessionContext.RequiredUserId, _sessionContext.RequiredOrgId, _sessionContext.Roles) ?? false;
|
|
|
if (model.Status == EScreenStatus.SendBack && model.SendBackApply)
|
|
|
rspModel.IsCanHandle = false;
|
|
|
- rspModel.Handle = false;
|
|
|
+ rspModel.Handle = false;
|
|
|
if (!string.IsNullOrEmpty(rspModel.WorkflowId))
|
|
|
{
|
|
|
rspModel.Handle = await _workflowDomainService.CheckCurrentIsStartStepAsync(rspModel.WorkflowId, _sessionContext.RequiredUserId,
|
|
@@ -3099,8 +3097,8 @@ public class OrderController : BaseController
|
|
|
|
|
|
try
|
|
|
{
|
|
|
- // 平均派单
|
|
|
- var averageSendOrder = bool.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.AverageSendOrder).SettingValue[0]);
|
|
|
+ // 平均派单
|
|
|
+ var averageSendOrder = bool.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.AverageSendOrder).SettingValue[0]);
|
|
|
if (dto.Workflow.BusinessType == EBusinessType.Send && averageSendOrder)
|
|
|
{
|
|
|
var handler = await _orderDomainService.AverageOrder(HttpContext.RequestAborted);
|
|
@@ -3203,7 +3201,7 @@ public class OrderController : BaseController
|
|
|
canUpdateOrderSender);
|
|
|
//TODO发送短信即将超期
|
|
|
//_capPublisher.PublishDelay(expiredTimeConfig.NearlyExpiredTime - DateTime.Now, EventNames.HotlineOrderNearlyExpiredTimeSms, new PublishNearlyExpiredTimeSmsDto() { OrderId = order.Id });
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
else if (dto.FlowDirection is EFlowDirection.CenterToCenter)
|
|
|
{
|
|
@@ -3217,29 +3215,30 @@ public class OrderController : BaseController
|
|
|
_mapper.Map(expiredTimeConfig, order);
|
|
|
await _orderRepository.UpdateAsync(order, HttpContext.RequestAborted);
|
|
|
//1.是否是判断节点 2.是否存在历史派单节点 3.存在获取上个派单节点 4.不存在走平均派单
|
|
|
- if (dto.BusinessType == EBusinessType.Send)
|
|
|
+ if (dto.BusinessType == EBusinessType.Send)
|
|
|
{
|
|
|
- var workflow = await _workflowDomainService.GetWorkflowAsync(dto.WorkflowId, withTraces: true,
|
|
|
- cancellationToken: HttpContext.RequestAborted);
|
|
|
+ var workflow = await _workflowDomainService.GetWorkflowAsync(dto.WorkflowId, withTraces: true,
|
|
|
+ cancellationToken: HttpContext.RequestAborted);
|
|
|
var sendOrderTraces = workflow.Traces.Where(x => x.BusinessType == EBusinessType.Send);
|
|
|
if (sendOrderTraces.Any())
|
|
|
{
|
|
|
- var sendOrderTrace = workflow.Traces.Where(x => x.BusinessType == EBusinessType.Send).OrderByDescending(x=>x.CreationTime).FirstOrDefault();
|
|
|
- dto.NextHandlers = new List<FlowStepHandler> { new FlowStepHandler() {
|
|
|
+ var sendOrderTrace = workflow.Traces.Where(x => x.BusinessType == EBusinessType.Send).OrderByDescending(x => x.CreationTime).FirstOrDefault();
|
|
|
+ dto.NextHandlers = new List<FlowStepHandler> { new FlowStepHandler() {
|
|
|
Key = sendOrderTrace.HandlerId,Value = sendOrderTrace.HandlerName,
|
|
|
UserId = sendOrderTrace.HandlerId,Username = sendOrderTrace.HandlerName,
|
|
|
- OrgId = sendOrderTrace.HandlerOrgId,OrgName = sendOrderTrace.HandlerOrgName
|
|
|
+ OrgId = sendOrderTrace.HandlerOrgId,OrgName = sendOrderTrace.HandlerOrgName
|
|
|
} };
|
|
|
- }
|
|
|
- else {
|
|
|
- // 平均派单
|
|
|
- var averageSendOrder = bool.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.AverageSendOrder).SettingValue[0]);
|
|
|
- if (averageSendOrder)
|
|
|
- {
|
|
|
- var handler = await _orderDomainService.AverageOrder(HttpContext.RequestAborted);
|
|
|
- dto.NextHandlers = new List<FlowStepHandler> { handler };
|
|
|
- }
|
|
|
- }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ // 平均派单
|
|
|
+ var averageSendOrder = bool.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.AverageSendOrder).SettingValue[0]);
|
|
|
+ if (averageSendOrder)
|
|
|
+ {
|
|
|
+ var handler = await _orderDomainService.AverageOrder(HttpContext.RequestAborted);
|
|
|
+ dto.NextHandlers = new List<FlowStepHandler> { handler };
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
await _workflowApplication.NextAsync(dto, _sessionContext, order.ExpiredTime, HttpContext.RequestAborted);
|