浏览代码

Merge branch 'master' of http://git.12345lm.cn/Fengwo/hotline

Dun.Jason 1 年之前
父节点
当前提交
71d772e40c
共有 1 个文件被更改,包括 11 次插入57 次删除
  1. 11 57
      src/Hotline.Api/Controllers/OrderController.cs

+ 11 - 57
src/Hotline.Api/Controllers/OrderController.cs

@@ -49,6 +49,7 @@ using System.Xml.Linq;
 using XF.Domain.Authentications;
 using XF.Domain.Cache;
 using XF.Domain.Constants;
+using XF.Domain.Entities;
 using XF.Domain.Exceptions;
 using XF.Domain.Repository;
 using XF.Utility.EnumExtensions;
@@ -2778,66 +2779,14 @@ public class OrderController : BaseController
         var twoSendBack = bool.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.TwoOrgSendBack)?.SettingValue[0]);
         if (oneSendBack || twoSendBack)
         {
-   //          var workflow =
-   //              await _workflowDomainService.GetWorkflowAsync(dto.WorkflowId, withSteps: true, cancellationToken: HttpContext.RequestAborted);
-   //          var currentStep = _workflowDomainService.GetUnHandleStep(workflow.Steps, _sessionContext.RequiredOrgId,
-   //              _sessionContext.RequiredUserId);
-   //
-   //          if (workflow.FlowType is EFlowType.Review && currentStep.StepType is EStepType.Start && currentStep.IsOrigin)
-   //              throw UserFriendlyException.SameMessage("当前流程已退回到开始节点");
-   //
-   //          var prevStep = workflow.Steps.FirstOrDefault(d => d.Id == currentStep.PrevStepId);
-   //          if (prevStep == null)
-   //              throw UserFriendlyException.SameMessage("未查询到前一节点");
-   //
-   //          var sendBack = await _orderSendBackAuditRepository.Queryable().Where(x => x.OrderId == workflow.ExternalId && x.State == ESendBackAuditState.Apply).AnyAsync();
-   //          if (sendBack)
-   //              throw UserFriendlyException.SameMessage("当前工单已经生成退回记录");
-   //
-   //          var order = await _orderRepository
-   //              .Queryable()
-   //              .Includes(d => d.Workflow)
-   //              .FirstAsync(d => d.Id == workflow.ExternalId);
-   //          if (order.Workflow.IsInCountersign) throw UserFriendlyException.SameMessage("工单会签中,无法进行退回!");
-   //
-   //          //var applyOrg = _organizeRepository.Get(currentStep.AcceptorOrgId.CalcOrgLevel());
-   //          //var sendBackOrg = _organizeRepository.Get(prevStep.AcceptorOrgId.CalcOrgLevel());
-   //          if ((twoSendBack && 2.Equals(currentStep.AcceptorOrgId.CalcOrgLevel()) && 1.Equals(prevStep.AcceptorOrgId.CalcOrgLevel()) && !prevStep.AcceptorOrgId.IsCenter())
-   //              || (oneSendBack && 1.Equals(currentStep.AcceptorOrgId.CalcOrgLevel()) && prevStep.AcceptorOrgId.IsCenter() && !currentStep.AcceptorOrgId.IsCenter()))
-   //          {
-   //              var audit = new OrderSendBackAudit
-   //              {
-   //                  OrderId = workflow.ExternalId,
-   //                  State = ESendBackAuditState.Apply,
-   //                  Content = dto.Opinion,
-   //                  SendBackData = dto,
-   //                  ApplyOrgId = currentStep.AcceptorOrgId,
-   //                  ApplyOrgName = currentStep!.AcceptorOrgName,
-   //                  SendBackOrgId = prevStep.AcceptorOrgId,
-   //                  SendBackOrgName = prevStep!.AcceptorOrgName,
-   //                  WorkflowOrgId = _sessionContext.RequiredOrgId,
-   //                  WorkflowUserId = _sessionContext.RequiredUserId
-   //              };
-   //              await _orderSendBackAuditRepository.AddAsync(audit, HttpContext.RequestAborted);
-   //          }
-   //          //中心内部流转  不走审批流程  3级部门不走审批 
-   //          else if (prevStep.AcceptorOrgId.IsCenter() && currentStep.AcceptorOrgId.IsCenter())
-   //          {
-   //              await _workflowApplication.PreviousAsync(dto, HttpContext.RequestAborted);
-   //              //发送短信TODO
-   //          }
-   //          //不进入前两个判断都是默认退
-   //          else{
-	  //           await _workflowApplication.PreviousAsync(dto, HttpContext.RequestAborted);
-			// }
-
           var (currentStep, prevStep,isOrgToCenter, isSecondToFirstOrgLevel) = await _workflowApplication.GetPreviousInformationAsync(
                 dto.WorkflowId, _sessionContext.RequiredUserId, _sessionContext.RequiredOrgId, HttpContext.RequestAborted);
           if ((oneSendBack && isOrgToCenter) || (twoSendBack && isSecondToFirstOrgLevel))
           {
-              var audit = new OrderSendBackAudit
-              {
-                  OrderId = dto.OrderId,
+	          var workflow = await _workflowDomainService.GetWorkflowAsync(dto.WorkflowId, withSteps: true, cancellationToken: HttpContext.RequestAborted);
+             var audit = new OrderSendBackAudit
+			  {
+                  OrderId = workflow.ExternalId,
                   State = ESendBackAuditState.Apply,
                   Content = dto.Opinion,
                   SendBackData = dto,
@@ -2850,7 +2799,12 @@ public class OrderController : BaseController
               };
               await _orderSendBackAuditRepository.AddAsync(audit, HttpContext.RequestAborted);
           }
-        }
+          else
+          {
+	          await _workflowApplication.PreviousAsync(dto, HttpContext.RequestAborted);
+	          //发送短信TODO
+          }
+		}
         else
         {
             await _workflowApplication.PreviousAsync(dto, HttpContext.RequestAborted);