Browse Source

Merge branch 'feature/task301expiration_time' into release

qinchaoyue 7 months ago
parent
commit
865327bccc

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

@@ -51,6 +51,7 @@ public class ZiGongExpireTimeTest
     [InlineData("企业投诉件单元测试", "2024-09-05 14:00:00", "CenterToOrg", "2024-09-09 14:00:00")]
     [InlineData("四川省12345咨询件单元测试", "2024-09-05 14:00:00", "CenterToOrg", "2024-09-06 14:00:00")]
     [InlineData("四川省12345建议件单元测试", "2024-09-05 14:00:00", "CenterToOrg", "2024-09-10 14:00:00")]
+    [InlineData("中心到中心24小时", "2024-09-12 14:00:00", "CenterToCenter", "2024-09-13 14:00:00")]
     public async Task CalcExpiredTime_Test(string title, string beginTxt, string flowTxt, string expected)
     {
         var beginTime = DateTime.Parse(beginTxt);

+ 8 - 2
src/Hotline.Share/Dtos/Settings/TimeConfig.cs

@@ -3,6 +3,7 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using Hotline.Share.Enums.FlowEngine;
 using Hotline.Share.Enums.Order;
 using Hotline.Share.Enums.Settings;
 using Hotline.Share.Tools;
@@ -27,9 +28,14 @@ namespace Hotline.Share.Dtos.Settings
         public string? AcceptTypeCode { get; set; }
 
         /// <summary>
-        /// 24小时办结
+        /// 流程方向
         /// </summary>
-        [NoCode] // 不需要查询 BusCode
+        public EFlowDirection FlowDirection { get; set; }
+
+       /// <summary>
+       /// 24小时办结
+       /// </summary>
+       [NoCode] // 不需要查询 BusCode
         public bool Is24HoursComplete { get; set; }
 
         /// <summary>

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

@@ -42,7 +42,8 @@ public class ZiGongExpireTimeLimit : ExpireTimeLimitBase, ICalcExpireTime, IScop
 
     public override async Task<ExpiredTimeWithConfig> CalcExpiredTime(DateTime beginTime, EFlowDirection flowDirection, OrderTimeClacInfo order)
     {
-        if (EFlowDirection.CenterToOrg == flowDirection)
+        order.FlowDirection = flowDirection;
+        if (EFlowDirection.CenterToOrg == flowDirection || EFlowDirection.CenterToCenter == flowDirection)
         {
             var timeConfig = await GetTimeConfigByOrderAsync(order);
             timeConfig.WorkTime = GetWorkTimes(SettingConstants.WorkTime);