tangjiang před 4 týdny
rodič
revize
ac89bab002

+ 23 - 10
src/Hotline.Api/Controllers/OrderController.cs

@@ -4049,7 +4049,7 @@ public class OrderController : BaseController
             .Includes(d => d.OrderScreens)
             .Includes(d => d.OrderTerminates)
             .Where(d => d.Contact == dto.PhoneNo)
-            .WhereIF(_sessionContext.OrgIsCenter == false && (_appOptions.Value.IsYiBin == true  || _appOptions.Value.IsLuZhou == true ), d => d.IsSecret == false)
+            .WhereIF(_sessionContext.OrgIsCenter == false && (_appOptions.Value.IsYiBin == true || _appOptions.Value.IsLuZhou == true), d => d.IsSecret == false)
             .WhereIF(!string.IsNullOrEmpty(dto.OrderId) && _appOptions.Value.IsLuZhou == false, d => d.Id != dto.OrderId)
             .WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Title.Contains(dto.Keyword!) || d.No.Contains(dto.Keyword!))
             .Select(d => new OrderHistoryOutDto
@@ -4552,13 +4552,13 @@ public class OrderController : BaseController
         }
         if (_appOptions.Value.IsLuZhou)
         {
-			//期满时间
-			var expiredTimeConfig =
-			   await _expireTime.CalcExpiredTime(DateTime.Now, DateTime.Now, EFlowDirection.CenterToCenter, order.Adapt<OrderTimeClacInfo>());
-			_mapper.Map(expiredTimeConfig, order);
-		}
+            //期满时间
+            var expiredTimeConfig =
+               await _expireTime.CalcExpiredTime(DateTime.Now, DateTime.Now, EFlowDirection.CenterToCenter, order.Adapt<OrderTimeClacInfo>());
+            _mapper.Map(expiredTimeConfig, order);
+        }
 
-		await _orderDomainService.AddAsync(order, true, HttpContext.RequestAborted);
+        await _orderDomainService.AddAsync(order, true, HttpContext.RequestAborted);
 
         if (_systemSettingCacheManager.Snapshot && dto.IndustryId.NotNullOrEmpty() && dto.IndustryName.NotNullOrEmpty())
         {
@@ -5211,7 +5211,7 @@ public class OrderController : BaseController
         else
         {
             var orderNo = await _redPackAuditRepository.Queryable()
-                .LeftJoin<Order>((m , order) => m.OrderId == order.Id)
+                .LeftJoin<Order>((m, order) => m.OrderId == order.Id)
                 .Where(m => dto.OrderIds.Contains(m.OrderId) && m.Status != ERedPackAuditStatus.Pending)
                 .Select((m, order) => order.No)
                 .ToListAsync();
@@ -7049,11 +7049,24 @@ public class OrderController : BaseController
             //             { CenterToOrgHandlerId = flowStepHandler.UserId, CenterToOrgHandlerName = flowStepHandler.Username })
             //         .Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
             // }
+            var handleMode = EHandleMode.Redo;
+            var workflowTraceType = EWorkflowTraceType.Redo;
+            if (dto.SpecialType == ESpecialType.Special)
+            {
+                handleMode = EHandleMode.Recall;
+                workflowTraceType = EWorkflowTraceType.Recall;
+            }
+            if (dto.SpecialType == ESpecialType.SendBack)
+            {
+                handleMode = EHandleMode.PublishPrevious;
+                workflowTraceType = EWorkflowTraceType.PublishPrevious;
+            }
+
             DateTime endTime = order.ExpiredTime!.Value;
             var (workflow, targetStepDefine, currentStep, targetStep, newStep, isOrgToCenter) =
                 await _workflowDomainService.RecallAsync(
-                    recall, recall.NextHandlers.FirstOrDefault(), EWorkflowTraceType.Redo,
-                    endTime, order.Status >= EOrderStatus.Filed, EHandleMode.Redo,
+                    recall, recall.NextHandlers.FirstOrDefault(), workflowTraceType,
+                    endTime, order.Status >= EOrderStatus.Filed, handleMode,
                     (workflow, currentStep, targetStepDefine, targetStep, targetStepNew) =>
                     {
                         var stepAssignInfo = recall.NextHandlers.FirstOrDefault()

+ 6 - 0
src/Hotline.Share/Enums/FlowEngine/EHandleMode.cs

@@ -66,4 +66,10 @@ public enum EHandleMode
     /// </summary>
     [Description("二次办理")]
     SecondaryHandle = 202,
+
+    /// <summary>
+    /// 发布退回
+    /// </summary>
+    [Description("发布退回")]
+    PublishPrevious = 203,
 }

+ 6 - 0
src/Hotline.Share/Enums/FlowEngine/EWorkflowTraceType.cs

@@ -56,5 +56,11 @@ namespace Hotline.Share.Enums.FlowEngine
         /// </summary>
         [Description("二次办理")]
         SecondHandle = 7,
+
+        /// <summary>
+        /// 发布退回
+        /// </summary>
+        [Description("发布退回")]
+        PublishPrevious = 8,
     }
 }