田爽 hace 1 año
padre
commit
0920923009

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

@@ -219,19 +219,38 @@ namespace Hotline.Api.Controllers
 					throw UserFriendlyException.SameMessage("请传入排班用户信息");
 				if (string.IsNullOrEmpty(dtos.ShiftId))
 					throw UserFriendlyException.SameMessage("请传入排班班次信息");
-
-				var scheduling = new Scheduling
+				if (dtos.SchedulingStartTime.HasValue  && dtos.SchedulingEndTime.HasValue)
 				{
-					SchedulingUserId = dto.UserId,
-					SchedulingUserName = dto.UserName,
-					ShiftId = dtos.ShiftId,
-					ShiftName = dtos.ShiftName,
-					SchedulingTime = dtos.SchedulingTime,
-					WorkingTime = dtos.WorkingTime,
-					OffDutyTime = dtos.OffDutyTime,
-					SendOrderNum = 0
-				};
-				schedulings.Add(scheduling);
+					for (int i = 0; dtos.SchedulingStartTime.Value.AddDays(i) <= dtos.SchedulingEndTime.Value; i++)
+					{
+						var scheduling = new Scheduling
+						{
+							SchedulingUserId = dto.UserId,
+							SchedulingUserName = dto.UserName,
+							ShiftId = dtos.ShiftId,
+							ShiftName = dtos.ShiftName,
+							SchedulingTime = dtos.SchedulingStartTime.Value.AddDays(i),
+							WorkingTime = dtos.WorkingTime,
+							OffDutyTime = dtos.OffDutyTime,
+							SendOrderNum = 0
+						};
+						schedulings.Add(scheduling);
+					}
+                }
+				else {
+					var scheduling = new Scheduling
+					{
+						SchedulingUserId = dto.UserId,
+						SchedulingUserName = dto.UserName,
+						ShiftId = dtos.ShiftId,
+						ShiftName = dtos.ShiftName,
+						SchedulingTime = dtos.SchedulingTime,
+						WorkingTime = dtos.WorkingTime,
+						OffDutyTime = dtos.OffDutyTime,
+						SendOrderNum = 0
+					};
+					schedulings.Add(scheduling);
+				}
 			}
 			await _schedulingRepository.AddRangeAsync(schedulings, HttpContext.RequestAborted);
 		}

+ 10 - 0
src/Hotline.Share/Dtos/Schedulings/SchedulingDto.cs

@@ -82,6 +82,16 @@ namespace Hotline.Share.Dtos.Schedulings
 		/// 排班时间
 		/// </summary>
 		public DateTime? SchedulingTime { get; set; }
+
+		/// <summary>
+		/// 排班开始时间
+		/// </summary>
+		public DateTime? SchedulingStartTime { get; set; }
+
+		/// <summary>
+		/// 排班结束时间
+		/// </summary>
+		public DateTime? SchedulingEndTime { get; set; }
 	}
 	public class UpdateDto : AddDto
 	{