田爽 1 年之前
父節點
當前提交
15adc9aceb

+ 2 - 2
src/Hotline.Api/Controllers/Bi/BiOrderController.cs

@@ -164,8 +164,8 @@ namespace Hotline.Api.Controllers.Bi
                 {
                     UserName = x.AcceptorName,
                     UserId = x.AcceptorId,
-                    CentreArchive = SqlFunc.AggregateSum(SqlFunc.IIF((int)x.Status >= 300 && x.ProcessType == EProcessType.Zhiban, 1, 0)),
-                    CentreCareOf = SqlFunc.AggregateSum(SqlFunc.IIF((int)x.Status >= 300 && x.ProcessType == EProcessType.Jiaoban, 1, 0)),
+                    CentreArchive = SqlFunc.AggregateSum(SqlFunc.IIF(x.Status >=  EOrderStatus.Filed && x.ProcessType == EProcessType.Zhiban, 1, 0)),
+                    CentreCareOf = SqlFunc.AggregateSum(SqlFunc.IIF(x.Status >= EOrderStatus.Filed && x.ProcessType == EProcessType.Jiaoban, 1, 0)),
                     //NoCentreCareOf = SqlFunc.AggregateSum(SqlFunc.IIF((int)x.Status < 300 && x.ExpiredTime > x.FiledTime, 1, 0)),
                     Invalid = SqlFunc.AggregateSum(SqlFunc.IIF(x.AcceptType == "无效", 1, 0)),
                     Repeat = SqlFunc.AggregateSum(SqlFunc.IIF(x.DuplicateIds != null && SqlFunc.JsonArrayLength(x.DuplicateIds) > 0, 1, 0))

+ 17 - 5
src/Hotline.Api/Controllers/OrderController.cs

@@ -3461,16 +3461,28 @@ public class OrderController : BaseController
     public async Task<object> SpecialBaseData(string id)
     {
         var step = await _workflowApplication.GetRecallStepsAsync(id, HttpContext.RequestAborted);
-        if (step != null && step.Steps.Any() && _sessionContext.Roles.Contains("zuoxi"))
+        var specialSeats = bool.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.SpecialSeats).SettingValue[0]);
+        var specialSendOrder = bool.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.SpecialSendOrder).SettingValue[0]);
+
+		var baseTypeId = string.Empty;
+        if (step != null && step.Steps.Any() && _sessionContext.Roles.Contains("zuoxi") && specialSeats)
         {
-            step.Steps = step.Steps.Where(x => x.Key == "start").ToList();
-        }
+			step.Steps = step.Steps.Where(x => x.Key.ToLower() == "start").ToList();
+			if (step.Steps.Any()) baseTypeId = step.Steps[0].Key;
+		}
+
+        if (step != null && step.Steps.Any() && _sessionContext.Roles.Contains("paidanyuan") && specialSendOrder)
+        {
+            step.Steps = step.Steps.Where(d => d.BusinessType is EBusinessType.Send).ToList();
+            if (step.Steps.Any()) baseTypeId = step.Steps[0].Key;
+		}
         var rsp = new
         {
             SpecialTimeType = EnumExts.GetDescriptions<ETimeType>(),
             SpecialReason = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.SpecialReason),
-            Step = step
-        };
+            Step = step,
+            BaseTypeId = baseTypeId
+		};
         return rsp;
     }
 

+ 10 - 0
src/XF.Domain/Constants/SettingConstants.cs

@@ -182,5 +182,15 @@ namespace XF.Domain.Constants
         /// </summary>
         public const string TranspondCity = "TranspondCity";
 
+		/// <summary>
+		/// 特提坐席权限
+		/// </summary>
+		public const string SpecialSeats = "SpecialSeats";
+
+		/// <summary>
+		/// 特提派单组权限
+		/// </summary>
+		public const string SpecialSendOrder = "SpecialSendOrder";
+
 	}
 }