Просмотр исходного кода

修复 BUG_6 弹窗应用自贡特殊期满规则

qinchaoyue 6 месяцев назад
Родитель
Сommit
04d28c0683

+ 1 - 0
src/Hotline.Application.Tests/Domain/ZiGongExpireTimeTest.cs

@@ -66,6 +66,7 @@ public class ZiGongExpireTimeTest
 
     [Theory]
     [InlineData("求助三个工作日", "2024-09-12 22:01:28", "CenterToOrg", "2024-09-20 08:30:00")]
+    [InlineData("string", "2024-09-12 22:01:28", "CenterToOrg", "2024-09-20 08:30:00")]
     public async Task CalcExpiredTime_Release_Test(string title, string beginTxt, string flowTxt, string expected)
     {
         var beginTime = DateTime.Parse(beginTxt);

+ 17 - 6
src/Hotline/Settings/TimeLimitDomain/ExpireTimeLimitBase.cs

@@ -121,7 +121,7 @@ public abstract class ExpireTimeLimitBase
     /// </summary>
     /// <param name="code"></param>
     /// <returns></returns>
-    public virtual TimeConfig GetOrderTimeLimitConfig(string? code = null)
+    public TimeConfig GetOrderTimeLimitConfigBase(string? code = null)
     {
         if (string.IsNullOrEmpty(code))
         {
@@ -135,6 +135,17 @@ public abstract class ExpireTimeLimitBase
         }
     }
 
+    /// <summary>
+    /// 获取办理时限配置
+    /// </summary>
+    /// <param name="code"></param>
+    /// <returns></returns>
+    public virtual TimeConfig GetOrderTimeLimitConfig(string? code = null)
+    {
+        return GetOrderTimeLimitConfigBase(code);
+    }
+
+
     /// <summary>
     /// 计算期满时间
     /// </summary>
@@ -149,11 +160,11 @@ public abstract class ExpireTimeLimitBase
             throw new UserFriendlyException("中心派至部门的工单期满时间需受理类型参数");
         var timeConfig = flowDirection switch
         {
-            EFlowDirection.CenterToOrg => GetOrderTimeLimitConfig(order.AcceptTypeCode),
-            EFlowDirection.OrgToCenter => GetOrderTimeLimitConfig(),
-            EFlowDirection.FiledToCenter => GetOrderTimeLimitConfig(),
-			EFlowDirection.CenterToCenter => GetOrderTimeLimitConfig(order.AcceptTypeCode),
-            EFlowDirection.FiledToOrg => GetOrderTimeLimitConfig(order.AcceptTypeCode),
+            EFlowDirection.CenterToOrg => GetOrderTimeLimitConfigBase(order.AcceptTypeCode),
+            EFlowDirection.OrgToCenter => GetOrderTimeLimitConfigBase(),
+            EFlowDirection.FiledToCenter => GetOrderTimeLimitConfigBase(),
+			EFlowDirection.CenterToCenter => GetOrderTimeLimitConfigBase(order.AcceptTypeCode),
+            EFlowDirection.FiledToOrg => GetOrderTimeLimitConfigBase(order.AcceptTypeCode),
 			_ => throw new ArgumentOutOfRangeException(nameof(flowDirection), flowDirection, null)
         };
 

+ 6 - 1
src/Hotline/Settings/TimeLimitDomain/ZiGongExpireTimeLimit.cs

@@ -61,6 +61,11 @@ public class ZiGongExpireTimeLimit : ExpireTimeLimitBase, ICalcExpireTime, IScop
         return await base.CalcExpiredTime(beginTime, flowDirection, order);
     }
 
+    public override TimeConfig GetOrderTimeLimitConfig(string? code = null)
+    {
+        return GetTimeConfigByOrderAsync(new OrderTimeClacInfo(code)).GetAwaiter().GetResult();
+    }
+
     /// <summary>
     /// 根据订单信息获取时间配置
     /// </summary>
@@ -109,7 +114,7 @@ public class ZiGongExpireTimeLimit : ExpireTimeLimitBase, ICalcExpireTime, IScop
                 return false;
             return true;
         });
-        if (busCode is null && code.IsNullOrEmpty()) base.GetOrderTimeLimitConfig();
+        if (busCode.IsNullOrEmpty() && code.IsNullOrEmpty()) base.GetOrderTimeLimitConfigBase();
         var inventory = await _timeLimitSettingInventoryRepository.GetByCode(code);
         if (inventory is not null) return inventory.Adapt<TimeConfig>();
         var timeConfig = await _timeLimitSettingRepository.GetByBusCode(busCode)