Browse Source

Merge branch 'release' of http://110.188.24.182:10023/Fengwo/hotline into release

xf 7 months ago
parent
commit
eba6695135

+ 24 - 0
src/Hotline.Api/Controllers/OrderController.cs

@@ -1188,6 +1188,30 @@ public class OrderController : BaseController
         await _orderVisitRepository.UpdateRangeAsync(visits, HttpContext.RequestAborted);
     }
 
+
+    /// <summary>
+    /// 查询回访平移待办理人
+    /// </summary>
+    [HttpGet("ordervisit/migration")]
+    public async Task<IReadOnlyList<OrderMigrationHandler>> VisitMigration()
+    {
+        var setting = _systemSettingCacheManager.GetSetting(SettingConstants.OrderVisitRole);
+        var roles = setting?.SettingValue.ToList();
+        var users = await _userRepository.Queryable()
+            .Includes(d => d.Organization)
+            .Includes(d => d.Roles)
+            .Where(d => d.Roles.Any(x => roles.Contains(x.Name)))
+            .ToListAsync(HttpContext.RequestAborted);
+        return users.Select(d => new OrderMigrationHandler
+        {
+            UserId = d.Id,
+            Username = d.Name,
+            OrgId = d.OrgId,
+            OrgName = d.Organization.Name,
+            RoleNames = string.Join(',', d.Roles.Select(x => x.DisplayName).ToList())
+        }).ToList();
+    }
+
     #endregion
 
     #region 二次回访申请

+ 17 - 8
src/Hotline.Api/Controllers/TestController.cs

@@ -125,9 +125,10 @@ public class TestController : BaseController
     //private readonly ITypedCache<List<User>> _cache;
     //private readonly ICacheManager<User> _cache;
     private readonly ICalcExpireTime _expireTime;
+    private readonly IOptions<CityBaseConfiguration> _cityBaseConfiguration;
 
 
-    public TestController(
+	public TestController(
         //INewRockClient client,
         ILogger<TestController> logger,
         //IAuthorizeGenerator authorizeGenerator,
@@ -175,8 +176,10 @@ IRepository<Hotspot> hotspotRepository,
 IOrderDomainService orderDomainService,
 ICallApplication callApplication,
         IOptionsSnapshot<AppConfiguration> appOptions,
-        ISystemSettingCacheManager systemSettingCacheManager
-        )
+        ISystemSettingCacheManager systemSettingCacheManager,
+        ICalcExpireTime expireTime,
+        IOptions<CityBaseConfiguration> cityBaseConfiguration
+		)
     {
         _logger = logger;
         //_authorizeGenerator = authorizeGenerator;
@@ -224,7 +227,9 @@ ICallApplication callApplication,
         _callApplication = callApplication;
         _appOptions = appOptions;
         _systemSettingCacheManager = systemSettingCacheManager;
-    }
+        _expireTime = expireTime;
+        _cityBaseConfiguration = cityBaseConfiguration;
+	}
 
 
     [HttpGet("time")]
@@ -687,10 +692,14 @@ ICallApplication callApplication,
     [HttpGet("t5")]
     public async Task<string> GetUserAllowAnonymous()
     {
-        var users = await _userRepository.Queryable()
-            .FirstAsync(d => d.Name == "xf", HttpContext.RequestAborted);
-        return users.Id;
-    }
+        //var users = await _userRepository.Queryable()
+        //    .FirstAsync(d => d.Name == "xf", HttpContext.RequestAborted);
+        //return users.Id;
+        var b = _cityBaseConfiguration.Value;
+
+		var a = await _expireTime.WorkDay_ZG(DateTime.Now);
+        return string.Empty;
+	}
 
     [HttpGet("t6")]
     public async Task<string> GetUserWithAuth()

+ 1 - 0
src/Hotline/Orders/OrderSendBackAudit.cs

@@ -27,6 +27,7 @@ namespace Hotline.Orders
 		/// 部门等级/分类为:depCodes, 角色为:userIds
 		/// </example>
 		/// </summary>
+		[SugarColumn(ColumnDataType = "json", IsJson = true)]
 		public List<FlowStepHandler>? NextHandlers { get; set; } = new();
 
 		/// <summary>

+ 5 - 0
src/Hotline/Settings/SettingConstants.cs

@@ -494,5 +494,10 @@ namespace Hotline.Settings
         /// 是否发送超期短信
         /// </summary>
         public const string IsSendOverTimeSms = "IsSendOverTimeSms";
+
+        /// <summary>
+        /// 可分配回访角色
+        /// </summary>
+        public const string OrderVisitRole = "OrderVisitRole";
     }
 }

+ 21 - 14
src/Hotline/Settings/TimeLimitDomain/ExpireTimeLimitBase.cs

@@ -78,15 +78,26 @@ public abstract class ExpireTimeLimitBase
 
     public virtual async Task<DateTime> WorkDay_ZG(DateTime date)
     {
-	    //一级部门退回中心的可退回时间为1个工作日(从派单组交办给部门就开始倒计时);节假日派单组派给部门的工单,一级部门退回截止时间该为第2个工作日18: 00
-		var workTime = GetWorkTimes(SettingConstants.WorkTime);
-	    var (WorkBeginTime, WorkEndTime) = GetWorkTime(DateTime.Now, workTime);
-	    if (await IsWorkDay(date))
-	    {
-		    if (date < WorkBeginTime || date > WorkEndTime)
-		    {
-			    date = date.AddDays(1);
-		    }
+	 
+		if (await IsWorkDay(date))
+		{
+			var workTime = GetWorkTimes(SettingConstants.WorkTime);
+			var (WorkBeginTime, WorkEndTime) = GetWorkTime(date, workTime);
+            if (date > WorkBeginTime && date < WorkEndTime)
+            {
+                date = date.AddDays(1);
+				while (await NotWorkDay(date))
+				{
+					date = date.AddDays(1);
+				}
+			}
+            else {
+				date = WorkBeginTime.AddDays(2);
+				while (await NotWorkDay(date))
+				{
+					date = date.AddDays(1);
+				}
+			}
 	    }
 	    else
 	    {
@@ -94,11 +105,7 @@ public abstract class ExpireTimeLimitBase
 		    {
 			    date = date.AddDays(1);
 		    }
-		    while (await NotWorkDay(date))
-		    {
-			    date = date.AddDays(1);
-		    }
-		    date = DateTime.Parse(date.ToShortDateString() + "18:00");
+			date = DateTime.Parse(date.ToShortDateString() + "18:00");
 		}
 	    return date;
     }