|
@@ -5857,11 +5857,11 @@ public class OrderController : BaseController
|
|
|
dto.Cause = dto.Reason;
|
|
|
}
|
|
|
|
|
|
- var workflow = await _workflowDomainService.GetWorkflowAsync(order.WorkflowId, withSteps: true,
|
|
|
- cancellationToken: HttpContext.RequestAborted);
|
|
|
- var currentStep = workflow.Steps.FirstOrDefault(x => x.Status != EWorkflowStepStatus.Handled);
|
|
|
- if (currentStep is null)
|
|
|
- currentStep = workflow.Steps.OrderByDescending(x => x.CreationTime).FirstOrDefault(x => x.StepType == EStepType.End);
|
|
|
+ // var workflow = await _workflowDomainService.GetWorkflowAsync(order.WorkflowId, withSteps: true,
|
|
|
+ // cancellationToken: HttpContext.RequestAborted);
|
|
|
+ // var currentStep = workflow.Steps.FirstOrDefault(x => x.Status != EWorkflowStepStatus.Handled);
|
|
|
+ // if (currentStep is null)
|
|
|
+ // currentStep = workflow.Steps.OrderByDescending(x => x.CreationTime).FirstOrDefault(x => x.StepType == EStepType.End);
|
|
|
|
|
|
if (string.IsNullOrEmpty(dto.Cause))
|
|
|
{
|
|
@@ -5869,11 +5869,13 @@ public class OrderController : BaseController
|
|
|
}
|
|
|
|
|
|
var model = _mapper.Map<OrderSpecial>(dto);
|
|
|
- model.OrgId = currentStep is null ? _sessionContext.RequiredOrgId : currentStep.HandlerOrgId;
|
|
|
- model.OrgName = currentStep is null ? _sessionContext.OrgName : currentStep.HandlerOrgName;
|
|
|
- var step = await _workflowDomainService.FindLastStepAsync(model.WorkflowId, HttpContext.RequestAborted);
|
|
|
- model.StepName = step.Name;
|
|
|
- model.StepCode = step.Code;
|
|
|
+ // model.OrgId = currentStep is null ? _sessionContext.RequiredOrgId : currentStep.HandlerOrgId;
|
|
|
+ // model.OrgName = currentStep is null ? _sessionContext.OrgName : currentStep.HandlerOrgName;
|
|
|
+ model.OrgId = _sessionContext.RequiredOrgId;
|
|
|
+ model.OrgName = _sessionContext.OrgName;
|
|
|
+ //var step = await _workflowDomainService.FindLastStepAsync(model.WorkflowId, HttpContext.RequestAborted);
|
|
|
+ // model.StepName = step.Name;
|
|
|
+ // model.StepCode = step.Code;
|
|
|
model.Status = order.Status;
|
|
|
|
|
|
var audit = true;
|
|
@@ -5900,7 +5902,7 @@ public class OrderController : BaseController
|
|
|
model.InitId();
|
|
|
if (dto.Files.Any())
|
|
|
model.FileJson = await _fileRepository.AddFileAsync(dto.Files, model.Id, "", HttpContext.RequestAborted);
|
|
|
- await _orderSpecialRepository.AddAsync(model, HttpContext.RequestAborted);
|
|
|
+ //await _orderSpecialRepository.AddAsync(model, HttpContext.RequestAborted);
|
|
|
if (model.State == 1)
|
|
|
{
|
|
|
//var handler = dto.NextHandlers.FirstOrDefault();
|
|
@@ -5991,7 +5993,7 @@ public class OrderController : BaseController
|
|
|
// .Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
// }
|
|
|
|
|
|
- await _workflowDomainService.RecallAsync(recall, dto.NextHandlers.FirstOrDefault(), EWorkflowTraceType.Recall,
|
|
|
+ var (workflow, targetStepDefine, currentStep, targetStep, newStep, isOrgToCenter) = await _workflowDomainService.RecallAsync(recall, dto.NextHandlers.FirstOrDefault(), EWorkflowTraceType.Recall,
|
|
|
expiredTime.ExpiredTime, order.Status >= EOrderStatus.Filed, EHandleMode.Recall,
|
|
|
async (workflow1, prevStepDefine, prevStep, newStep) =>
|
|
|
{
|
|
@@ -6003,15 +6005,27 @@ public class OrderController : BaseController
|
|
|
await validator.ValidateAndThrowAsync(stepAssignInfo, HttpContext.RequestAborted);
|
|
|
|
|
|
newStep.Assign(stepAssignInfo);
|
|
|
-
|
|
|
- if (dto.BusinessType == EBusinessType.Send)
|
|
|
- {
|
|
|
- await _orderRepository.Updateable().SetColumns(o => new Orders.Order()
|
|
|
- { CenterToOrgHandlerId = stepAssignInfo.UserId, CenterToOrgHandlerName = stepAssignInfo.Username })
|
|
|
- .Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
- }
|
|
|
},
|
|
|
HttpContext.RequestAborted);
|
|
|
+
|
|
|
+ if (string.IsNullOrEmpty(currentStep?.HandlerOrgId))
|
|
|
+ {
|
|
|
+ model.OrgId = currentStep.HandlerOrgId;
|
|
|
+ model.OrgName = currentStep.HandlerOrgName;
|
|
|
+ model.StepName = currentStep.Name;
|
|
|
+ model.StepCode = currentStep.Code;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (_appOptions.Value.IsZiGong && dto.BusinessType == EBusinessType.Send)
|
|
|
+ {
|
|
|
+ model.NextHandlers = new List<StepAssignInfo> { newStep.GetWorkflowStepHandler() };
|
|
|
+ }
|
|
|
+
|
|
|
+ if (dto.BusinessType == EBusinessType.Send)
|
|
|
+ {
|
|
|
+ order.CenterToOrgHandlerId = newStep.HandlerId;
|
|
|
+ order.CenterToOrgHandlerName = newStep.HandlerName;
|
|
|
+ }
|
|
|
|
|
|
if (order.Status >= EOrderStatus.Filed)
|
|
|
{
|
|
@@ -6069,6 +6083,8 @@ public class OrderController : BaseController
|
|
|
await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { Status = EOrderStatus.SpecialAudit })
|
|
|
.Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
}
|
|
|
+
|
|
|
+ await _orderSpecialRepository.AddAsync(model, HttpContext.RequestAborted);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|