Commit f69db26a authored by 黄奎's avatar 黄奎

页面修改

parent b1b579fd
......@@ -97,7 +97,7 @@ namespace Edu.Model.ViewModel.Course
/// <summary>
///班级计划默认上课时间
/// </summary>
public List<RB_Class_Time_ViewModel> DefaultTimeList { get; set; }
public List<ClassTimeItem> DefaultTimeList { get; set; }
/// <summary>
/// 课程优惠信息列表
......@@ -132,11 +132,6 @@ namespace Edu.Model.ViewModel.Course
/// </summary>
public List<string> WeekDayList { get; set; }
/// <summary>
/// 默认上课时间
/// </summary>
public List<RB_Class_Time_ViewModel> DefaultPlanTimeList { get; set; }
/// <summary>
/// 月份
/// </summary>
......@@ -193,4 +188,37 @@ namespace Edu.Model.ViewModel.Course
/// </summary>
public decimal CourseOriginalPrice { get; set; }
}
/// <summary>
/// 上课时间配置项
/// </summary>
public class ClassTimeItem
{
/// <summary>
/// 上课日期【ClassStyle:1-周(1,2...);2和3(具体日期);4(暂无)】
/// </summary>
public List<string> DateList { get; set; }
/// <summary>
/// 具体上课时间
/// </summary>
public List<TimeItem> TimeList { get; set; }
}
/// <summary>
/// 上课时间对象
/// </summary>
public class TimeItem
{
/// <summary>
/// 开始时间
/// </summary>
public string StartTime { get; set; }
/// <summary>
/// 结束时间
/// </summary>
public string EndTime { get; set; }
}
}
\ No newline at end of file
......@@ -350,19 +350,24 @@ namespace Edu.Module.Course
#region 班级计划
//默认上课时间
var defaultPlanTimeList = new List<RB_Class_Time_ViewModel>();
foreach (var tItem in model.DefaultPlanTimeList)
var defaultPlanTimeList = new List<ClassTimeItem>();
foreach (var tItem in model.DefaultTimeList)
{
defaultPlanTimeList.Add(new RB_Class_Time_ViewModel()
ClassTimeItem tModel = new ClassTimeItem()
{
Group_Id = model.Group_Id,
School_Id = model.School_Id,
ClassId = model.ClassId,
ClassPlanId = 0,
ClassTimeId = 0,
StartTime = tItem.StartTime,
EndTime = tItem.EndTime
});
DateList = new List<string>(),
TimeList = new List<TimeItem>()
};
tModel.DateList = tItem.DateList;
foreach (var subItem in tItem.TimeList)
{
tModel.TimeList.Add(new TimeItem()
{
StartTime = subItem.StartTime,
EndTime = subItem.EndTime
});
defaultPlanTimeList.Add(tModel);
}
}
//班级上课计划列表
......@@ -459,7 +464,7 @@ namespace Edu.Module.Course
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
private List<RB_Class_Plan_ViewModel> CreateClassPlanList(RB_Class_ViewModel model, List<RB_Class_Time_ViewModel> defaultPlanTimeList)
private List<RB_Class_Plan_ViewModel> CreateClassPlanList(RB_Class_ViewModel model, List<ClassTimeItem> defaultPlanTimeList)
{
var planList = class_PlanRepository.GetClassPlanListRepository(new RB_Class_Plan_ViewModel() { ClassId = model.ClassId, StartTime = DateTime.Now.ToString("yyyy-MM-dd") });
if (planList != null && planList.Count > 0)
......@@ -471,197 +476,134 @@ namespace Edu.Module.Course
var flag2 = class_PlanRepository.DeleteClassPlanRepository(ids);
}
}
List<RB_Class_Plan_ViewModel> classPlanList = new List<RB_Class_Plan_ViewModel>();
double totalMinutes = 0;
foreach (var item in defaultPlanTimeList)
{
var startDate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + item.StartTime + ":00");
var endDate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + item.EndTime + ":00");
TimeSpan span = endDate.Subtract(startDate);
if (span.TotalMinutes > 0)
{
totalMinutes += span.TotalMinutes;
}
}
//计算每天课时数
var dayClassHour = totalMinutes / 45.0;
if (dayClassHour > 0)
List<RB_Class_Plan_ViewModel> classPlanList = new List<RB_Class_Plan_ViewModel>();
if (model.ClassHours > 0)
{
var totalDay = model.ClassHours / dayClassHour;
var srartDate = model.OpenTime;
switch (model.ClassStyle)
List<RB_Class_Time_ViewModel> PlanTimeList = new List<RB_Class_Time_ViewModel>();
int i = 0;
double totalHours = 0;
foreach (var rootItem in defaultPlanTimeList)
{
//按周排课
case Common.Enum.Course.ClassStyleEnum.Week:
int i = 0;
while (classPlanList.Count < totalDay)
PlanTimeList = new List<RB_Class_Time_ViewModel>();
double dayHours = 0;//每一天课时
double dayMinutes = 0;//每一天上课分钟数
foreach (var sItem in rootItem.TimeList)
{
var startDate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + sItem.StartTime + ":00");
var endDate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + sItem.EndTime + ":00");
TimeSpan span = endDate.Subtract(startDate);
if (span.TotalMinutes > 0)
{
dayMinutes += span.TotalMinutes;
}
PlanTimeList.Add(new RB_Class_Time_ViewModel()
{
var newDate = srartDate.AddDays(i);
foreach (var item in model.WeekDayList)
StartTime = sItem.StartTime,
EndTime = sItem.EndTime
});
}
dayHours = dayMinutes / 45.0;
foreach (var item in rootItem.DateList)
{
var planModel = new RB_Class_Plan_ViewModel()
{
ClassId = model.ClassId,
ClassPlanId = 0,
ClassRoomId = model.ClassRoomId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
PlanTimeList = PlanTimeList,
TeacherId = model.Teacher_Id,
};
//按周排课和按月排课
if (model.ClassStyle == ClassStyleEnum.Week || model.ClassStyle == ClassStyleEnum.Month)
{
while (model.ClassHours > totalHours)
{
switch (item)
var newDate = srartDate.AddDays(i);
foreach (var dItem in rootItem.DateList)
{
case "1":
if (newDate.DayOfWeek == System.DayOfWeek.Monday)
{
classPlanList.Add(new RB_Class_Plan_ViewModel()
{
ClassDate = newDate,
ClassId = model.ClassId,
ClassPlanId = 0,
ClassRoomId = model.ClassRoomId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
PlanTimeList = defaultPlanTimeList,
TeacherId = model.Teacher_Id,
});
}
break;
case "2":
if (newDate.DayOfWeek == System.DayOfWeek.Tuesday)
{
classPlanList.Add(new RB_Class_Plan_ViewModel()
{
ClassDate = newDate,
ClassId = model.ClassId,
ClassPlanId = 0,
ClassRoomId = model.ClassRoomId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
PlanTimeList = defaultPlanTimeList,
TeacherId = model.Teacher_Id,
});
}
break;
case "3":
if (newDate.DayOfWeek == System.DayOfWeek.Wednesday)
{
classPlanList.Add(new RB_Class_Plan_ViewModel()
{
ClassDate = newDate,
ClassId = model.ClassId,
ClassPlanId = 0,
ClassRoomId = model.ClassRoomId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
PlanTimeList = defaultPlanTimeList,
TeacherId = model.Teacher_Id,
});
}
break;
case "4":
if (newDate.DayOfWeek == System.DayOfWeek.Thursday)
{
classPlanList.Add(new RB_Class_Plan_ViewModel()
{
ClassDate = newDate,
ClassId = model.ClassId,
ClassPlanId = 0,
ClassRoomId = model.ClassRoomId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
PlanTimeList = defaultPlanTimeList,
TeacherId = model.Teacher_Id,
});
}
break;
case "5":
if (newDate.DayOfWeek == System.DayOfWeek.Friday)
{
classPlanList.Add(new RB_Class_Plan_ViewModel()
{
ClassDate = newDate,
ClassId = model.ClassId,
ClassPlanId = 0,
ClassRoomId = model.ClassRoomId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
PlanTimeList = defaultPlanTimeList,
TeacherId = model.Teacher_Id,
});
}
break;
case "6":
if (newDate.DayOfWeek == System.DayOfWeek.Saturday)
planModel.ClassDate = newDate;
if (model.ClassStyle == ClassStyleEnum.Week)
{
switch (item)
{
classPlanList.Add(new RB_Class_Plan_ViewModel()
{
ClassDate = newDate,
ClassId = model.ClassId,
ClassPlanId = 0,
ClassRoomId = model.ClassRoomId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
PlanTimeList = defaultPlanTimeList,
TeacherId = model.Teacher_Id,
});
case "1":
if (newDate.DayOfWeek == DayOfWeek.Monday)
{
classPlanList.Add(planModel);
totalHours += dayHours;
}
break;
case "2":
if (newDate.DayOfWeek == DayOfWeek.Tuesday)
{
classPlanList.Add(planModel);
totalHours += dayHours;
}
break;
case "3":
if (newDate.DayOfWeek == DayOfWeek.Wednesday)
{
classPlanList.Add(planModel);
totalHours += dayHours;
}
break;
case "4":
if (newDate.DayOfWeek == DayOfWeek.Thursday)
{
classPlanList.Add(planModel);
totalHours += dayHours;
}
break;
case "5":
if (newDate.DayOfWeek == DayOfWeek.Friday)
{
classPlanList.Add(planModel);
totalHours += dayHours;
}
break;
case "6":
if (newDate.DayOfWeek == DayOfWeek.Saturday)
{
classPlanList.Add(planModel);
totalHours += dayHours;
}
break;
case "7":
if (newDate.DayOfWeek == DayOfWeek.Sunday)
{
classPlanList.Add(planModel);
totalHours += dayHours;
}
break;
}
break;
case "7":
if (newDate.DayOfWeek == System.DayOfWeek.Sunday)
}
else
{
if (newDate.Day == Convert.ToInt32(item))
{
classPlanList.Add(new RB_Class_Plan_ViewModel()
{
ClassDate = newDate,
ClassId = model.ClassId,
ClassPlanId = 0,
ClassRoomId = model.ClassRoomId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
PlanTimeList = defaultPlanTimeList,
TeacherId = model.Teacher_Id,
});
classPlanList.Add(planModel);
totalHours += dayHours;
}
break;
}
i++;
}
}
i++;
}
break;
//按月排课
case Common.Enum.Course.ClassStyleEnum.Month:
int j = 0;
while (classPlanList.Count < totalDay)
//固定日期
else if (model.ClassStyle == ClassStyleEnum.FixedDate)
{
var newDate = srartDate.AddDays(j);
foreach (var item in model.WeekDayList)
{
if (newDate.Day == Convert.ToInt32(item))
{
classPlanList.Add(new RB_Class_Plan_ViewModel()
{
ClassDate = newDate,
ClassId = model.ClassId,
ClassPlanId = 0,
ClassRoomId = model.ClassRoomId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
PlanTimeList = defaultPlanTimeList,
TeacherId = model.Teacher_Id,
});
}
}
j++;
planModel.ClassDate = Convert.ToDateTime(item);
classPlanList.Add(planModel);
}
break;
//固定日期排课
case Common.Enum.Course.ClassStyleEnum.FixedDate:
foreach (var item in model.WeekDayList)
//约课
else
{
classPlanList.Add(new RB_Class_Plan_ViewModel()
{
ClassDate = Convert.ToDateTime(item),
ClassId = model.ClassId,
ClassPlanId = 0,
ClassRoomId = model.ClassRoomId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
PlanTimeList = defaultPlanTimeList,
TeacherId = model.Teacher_Id,
});
}
break;
}
}
}
return classPlanList;
......@@ -692,7 +634,7 @@ namespace Edu.Module.Course
}
if (!string.IsNullOrEmpty(extModel.DefaultTimeJson))
{
extModel.DefaultTimeList = Common.Plugin.JsonHelper.DeserializeObject<List<RB_Class_Time_ViewModel>>(extModel.DefaultTimeJson);
extModel.DefaultTimeList = Common.Plugin.JsonHelper.DeserializeObject<List<ClassTimeItem>>(extModel.DefaultTimeJson);
}
if (!string.IsNullOrEmpty(extModel.DateJson) && extModel.ClassStyle != Common.Enum.Course.ClassStyleEnum.OnLine)
{
......@@ -1010,11 +952,10 @@ namespace Edu.Module.Course
if (!string.IsNullOrWhiteSpace(item))
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Order_Guest_ViewModel.GuestState),2},
{nameof(RB_Order_Guest_ViewModel.DropOutRemark),dropOutRemark}
};
{
{nameof(RB_Order_Guest_ViewModel.GuestState),2},
{nameof(RB_Order_Guest_ViewModel.DropOutRemark),dropOutRemark}
};
//写日志
flag = order_GuestRepository.Update(fileds, new WhereHelper(nameof(RB_Order_Guest_ViewModel.Id), item));
}
......@@ -1165,11 +1106,11 @@ namespace Edu.Module.Course
{
ClassId = checkModel.ClassId,
OrderGuestId = checkModel.OrderGuestId,
EndDate=Common.ConvertHelper.FormatDate(checkModel.ClassDate)
EndDate = Common.ConvertHelper.FormatDate(checkModel.ClassDate)
}).OrderByDescending(qitem => qitem.ClassDate).ToList();
for (var i = 0; i < checkList.Count; i++)
{
if ((checkList[i].CheckStatus == 1 )&&(checkList[i].MakeUpStatus == 3|| checkList[i].MakeUpStatus == 1))
if ((checkList[i].CheckStatus == 1) && (checkList[i].MakeUpStatus == 3 || checkList[i].MakeUpStatus == 1))
{
NoFinishHours += checkList[i].CurrentDeductionHours;
}
......@@ -1774,7 +1715,6 @@ namespace Edu.Module.Course
/// <returns></returns>
public bool UpdateTimeClassVideo(string videoUrl, int Id)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{ nameof(RB_Class_Time_ViewModel.VideoUrl),videoUrl},
......@@ -1782,5 +1722,21 @@ namespace Edu.Module.Course
return class_TimeRepository.Update(fileds, new WhereHelper(nameof(RB_Class_Time_ViewModel.ClassTimeId), Id));
}
#endregion
/// <summary>
/// 修改班级默认上课时间
/// </summary>
/// <param name="ClassId"></param>
/// <param name="DefaultTimeJson"></param>
/// <returns></returns>
public bool UpdateClassTimeModule(int ClassId, string DefaultTimeJson)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{ nameof(RB_Class_ViewModel.DefaultTimeJson), DefaultTimeJson},
};
var flag = classRepository.Update(fileds, new WhereHelper(nameof(RB_Class_ViewModel.ClassId), ClassId));
return flag;
}
}
}
......@@ -88,7 +88,8 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetClassListForProperty() {
public ApiResult GetClassListForProperty()
{
var query = new RB_Class_ViewModel()
{
CouseId = base.ParmJObj.GetInt("CourseId"),
......@@ -257,36 +258,39 @@ namespace Edu.WebApi.Controllers.Course
string DefaultPlanTimeListStr = base.ParmJObj.GetStringValue("DefaultPlanTimeList");
if (!string.IsNullOrEmpty(DefaultPlanTimeListStr))
{
extModel.DefaultPlanTimeList = Common.Plugin.JsonHelper.DeserializeObject<List<RB_Class_Time_ViewModel>>(DefaultPlanTimeListStr);
extModel.DefaultTimeList = Common.Plugin.JsonHelper.DeserializeObject<List<ClassTimeItem>>(DefaultPlanTimeListStr);
}
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "SetClass_DefaultPlanTimeList");
}
if (extModel.DefaultPlanTimeList != null && extModel.DefaultPlanTimeList.Count > 0)
if (extModel.DefaultTimeList != null && extModel.DefaultTimeList.Count > 0)
{
foreach (var item in extModel.DefaultPlanTimeList)
foreach (var rootItem in extModel.DefaultTimeList)
{
string message = "";
if (!Common.ConvertHelper.IsTime(item.StartTime + ":00"))
{
message = "【" + item.StartTime + "】格式不正确!(参考格式为 00:00)";
}
if (!Common.ConvertHelper.IsTime(item.EndTime + ":00"))
foreach (var item in rootItem.TimeList)
{
string message = "";
if (!Common.ConvertHelper.IsTime(item.StartTime + ":00"))
{
message = "【" + item.StartTime + "】格式不正确!(参考格式为 00:00)";
}
if (!Common.ConvertHelper.IsTime(item.EndTime + ":00"))
{
if (!string.IsNullOrEmpty(message))
{
message += ",";
}
message += "【" + item.EndTime + "】格式不正确!(参考格式为 00:00)";
}
if (!string.IsNullOrEmpty(message))
{
message += ",";
return ApiResult.ParamIsNull(message: message);
}
message += "【" + item.EndTime + "】格式不正确!(参考格式为 00:00)";
}
if (!string.IsNullOrEmpty(message))
{
return ApiResult.ParamIsNull(message: message);
}
}
extModel.DefaultTimeJson = Common.Plugin.JsonHelper.Serialize(extModel.DefaultPlanTimeList);
extModel.DefaultTimeJson = Common.Plugin.JsonHelper.Serialize(extModel.DefaultTimeList);
}
else
{
......@@ -300,6 +304,32 @@ namespace Edu.WebApi.Controllers.Course
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 添加修改班级
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult InitClassTime()
{
var list = classModule.GetClassListModule(new RB_Class_ViewModel());
foreach (var item in list)
{
List<string> dateList = new List<string>();
if (!string.IsNullOrEmpty(item.DateJson))
{
dateList = Common.Plugin.JsonHelper.DeserializeObject<List<string>>(item.DateJson);
}
if (dateList != null && dateList.Count > 0 && !string.IsNullOrEmpty(item.DefaultTimeJson))
{
var model = Common.Plugin.JsonHelper.DeserializeObject<ClassTimeItem>(item.DefaultTimeJson);
List<ClassTimeItem> slist = new List<ClassTimeItem>();
slist.Add(model);
bool flag = classModule.UpdateClassTimeModule(item.ClassId, Common.Plugin.JsonHelper.Serialize(slist));
}
}
return ApiResult.Success();
}
/// <summary>
/// 修改班级状态
/// </summary>
......@@ -346,8 +376,8 @@ namespace Edu.WebApi.Controllers.Course
CouseId = extModel?.CouseId ?? 0,
DateJson = extModel?.DateJson ?? "",
DefaultTimeJson = extModel?.DefaultTimeJson ?? "",
DefaultPlanTimeList = extModel?.DefaultPlanTimeList ?? new List<RB_Class_Time_ViewModel>(),
DefaultTimeList = extModel?.DefaultTimeList ?? new List<RB_Class_Time_ViewModel>(),
DefaultPlanTimeList = extModel?.DefaultTimeList ?? new List<ClassTimeItem>(),
DefaultTimeList = extModel?.DefaultTimeList ?? new List<ClassTimeItem>(),
EndClassDate = Common.ConvertHelper.FormatDate(extModel?.EndClassDate),
EndOrderTime = Common.ConvertHelper.FormatDate(extModel?.EndOrderTime),
EndTime = Common.ConvertHelper.FormatDate(extModel?.EndTime),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment