田爽 hace 1 año
padre
commit
332c6aca1e

+ 20 - 12
src/Hotline.Api/Controllers/SchedulingController.cs

@@ -213,25 +213,33 @@ namespace Hotline.Api.Controllers
 		public async Task Add([FromBody] AddDto dtos)
 		{
 			List<Scheduling> schedulings = new List<Scheduling>();
-			foreach (var dto in dtos.UserDtos)
+			
+			if (string.IsNullOrEmpty(dtos.ShiftId))
+				throw UserFriendlyException.SameMessage("请传入排班班次信息");
+			var shift = await _schedulingShiftRepository.GetAsync(dtos.ShiftId, HttpContext.RequestAborted);
+			if (shift  == null)
+				throw UserFriendlyException.SameMessage("传入排班班次信息错误");
+			foreach (var Id in dtos.UserIds)
 			{
-				if (string.IsNullOrEmpty(dto.UserId))
+				if (string.IsNullOrEmpty(Id))
 					throw UserFriendlyException.SameMessage("请传入排班用户信息");
-				if (string.IsNullOrEmpty(dtos.ShiftId))
-					throw UserFriendlyException.SameMessage("请传入排班班次信息");
+				var user = await _schedulingUserRepository.GetAsync(Id, HttpContext.RequestAborted);
+				if (user == null)
+					throw UserFriendlyException.SameMessage("传入排班用户信息错误");
+
 				if (dtos.SchedulingStartTime.HasValue  && dtos.SchedulingEndTime.HasValue)
 				{
 					for (int i = 0; dtos.SchedulingStartTime.Value.AddDays(i) <= dtos.SchedulingEndTime.Value; i++)
 					{
 						var scheduling = new Scheduling
 						{
-							SchedulingUserId = dto.UserId,
-							SchedulingUserName = dto.UserName,
+							SchedulingUserId = user.UserId,
+							SchedulingUserName = user.UserName,
 							ShiftId = dtos.ShiftId,
 							ShiftName = dtos.ShiftName,
 							SchedulingTime = dtos.SchedulingStartTime.Value.AddDays(i),
-							WorkingTime = dtos.WorkingTime,
-							OffDutyTime = dtos.OffDutyTime,
+							WorkingTime = shift.WorkingTime,
+							OffDutyTime = shift.OffDutyTime,
 							SendOrderNum = 0
 						};
 						schedulings.Add(scheduling);
@@ -240,13 +248,13 @@ namespace Hotline.Api.Controllers
 				else {
 					var scheduling = new Scheduling
 					{
-						SchedulingUserId = dto.UserId,
-						SchedulingUserName = dto.UserName,
+						SchedulingUserId = user.UserId,
+						SchedulingUserName = user.UserName,
 						ShiftId = dtos.ShiftId,
 						ShiftName = dtos.ShiftName,
 						SchedulingTime = dtos.SchedulingTime,
-						WorkingTime = dtos.WorkingTime,
-						OffDutyTime = dtos.OffDutyTime,
+						WorkingTime = shift.WorkingTime,
+						OffDutyTime = shift.OffDutyTime,
 						SendOrderNum = 0
 					};
 					schedulings.Add(scheduling);

+ 1 - 11
src/Hotline.Share/Dtos/Schedulings/SchedulingDto.cs

@@ -56,7 +56,7 @@ namespace Hotline.Share.Dtos.Schedulings
 	}
 	public class AddDto
 	{
-		public List<SchedulingUserDto> UserDtos { get; set; }
+		public List<string> UserIds { get; set; }
 
 		/// <summary>
 		/// 班次名称
@@ -68,16 +68,6 @@ namespace Hotline.Share.Dtos.Schedulings
 		/// </summary>
 		public string? ShiftName { get; set; }
 
-		/// <summary>
-		/// 上班时间
-		/// </summary>
-		public TimeSpan? WorkingTime { get; set; }
-
-		/// <summary>
-		/// 下班时间
-		/// </summary>
-		public TimeSpan? OffDutyTime { get; set; }
-
 		/// <summary>
 		/// 排班时间
 		/// </summary>