Commit a40a3979 authored by 吴春's avatar 吴春

提交代码

parent 82707095
......@@ -8,7 +8,7 @@ using Edu.Model.CacheModel;
using Edu.Model.Entity.Course;
using Edu.Model.Entity.Mall;
using Edu.Model.ViewModel.Course;
using Edu.Model.ViewModel.Mall;
//using Edu.Model.ViewModel.Mall;
using Edu.Model.ViewModel.Reserve;
using Edu.Model.ViewModel.User;
using Edu.Repository.Course;
......@@ -581,6 +581,12 @@ namespace Edu.Module.Course
List<RB_Class_Plan_ViewModel> classPlanList = CreateClassPlanList(model, defaultPlanTimeList, BasicMinutes);
model.ClassPlanList = classPlanList;
#region 同步班级到甲鹤小程序 Add by:W 2021-08-02 09:49
// SetGoodsSpecificationValue(model);
#endregion
return flag;
}
......@@ -1056,10 +1062,214 @@ namespace Edu.Module.Course
});
//已经完成的上课计划
var finishClassHours = oldPlanList?.Sum(qitem => qitem.TimeHour) ?? 0;
List<RB_Class_Plan_ViewModel> classPlanList = class_PlanRepository.CreateClassPlanRepository(model, defaultPlanTimeList, finishClassHours, BasicMinutes);
List<RB_Class_Plan_ViewModel> classPlanList = new List<RB_Class_Plan_ViewModel>();
if (model.ClassHours > 0 && defaultPlanTimeList != null && defaultPlanTimeList.Count > 0)
{
var srartDate = model.OpenTime;
if (model.OpenTime < DateTime.Now)
{
srartDate = DateTime.Now;
}
//按周排课和按月排课
if (model.ClassStyle == ClassStyleEnum.Week || model.ClassStyle == ClassStyleEnum.Month)
{
int i = 0;
double totalHours = Convert.ToDouble(finishClassHours);
while (model.ClassHours > totalHours)
{
var newDate = srartDate.AddDays(i);
foreach (var item in model.WeekDayList)
{
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 = new List<RB_Class_Time_ViewModel>(),
TeacherId = model.Teacher_Id,
ClassDate = newDate
};
if (model.ClassStyle == ClassStyleEnum.Week)
{
switch (item)
{
case "1":
if (newDate.DayOfWeek == DayOfWeek.Monday)
{
var timeList = defaultPlanTimeList.Where(qitem => qitem.DateList.Contains(item))?.FirstOrDefault()?.TimeList;
if (timeList != null && timeList.Count > 0)
{
var dayHours = CalcDayClassHoursModule(timeList, planModel.PlanTimeList, model, BasicMinutes);
totalHours += dayHours;
classPlanList.Add(planModel);
}
}
break;
case "2":
if (newDate.DayOfWeek == DayOfWeek.Tuesday)
{
var timeList = defaultPlanTimeList.Where(qitem => qitem.DateList.Contains(item))?.FirstOrDefault()?.TimeList;
if (timeList != null && timeList.Count > 0)
{
var dayHours = CalcDayClassHoursModule(timeList, planModel.PlanTimeList, model, BasicMinutes);
totalHours += dayHours;
classPlanList.Add(planModel);
}
}
break;
case "3":
if (newDate.DayOfWeek == DayOfWeek.Wednesday)
{
var timeList = defaultPlanTimeList.Where(qitem => qitem.DateList.Contains(item))?.FirstOrDefault()?.TimeList;
if (timeList != null && timeList.Count > 0)
{
var dayHours = CalcDayClassHoursModule(timeList, planModel.PlanTimeList, model, BasicMinutes);
totalHours += dayHours;
classPlanList.Add(planModel);
}
}
break;
case "4":
if (newDate.DayOfWeek == DayOfWeek.Thursday)
{
var timeList = defaultPlanTimeList.Where(qitem => qitem.DateList.Contains(item))?.FirstOrDefault()?.TimeList;
if (timeList != null && timeList.Count > 0)
{
var dayHours = CalcDayClassHoursModule(timeList, planModel.PlanTimeList, model, BasicMinutes);
totalHours += dayHours;
classPlanList.Add(planModel);
}
}
break;
case "5":
if (newDate.DayOfWeek == DayOfWeek.Friday)
{
var timeList = defaultPlanTimeList.Where(qitem => qitem.DateList.Contains(item))?.FirstOrDefault()?.TimeList;
if (timeList != null && timeList.Count > 0)
{
var dayHours = CalcDayClassHoursModule(timeList, planModel.PlanTimeList, model, BasicMinutes);
totalHours += dayHours;
classPlanList.Add(planModel);
}
}
break;
case "6":
if (newDate.DayOfWeek == DayOfWeek.Saturday)
{
var timeList = defaultPlanTimeList.Where(qitem => qitem.DateList.Contains(item))?.FirstOrDefault()?.TimeList;
if (timeList != null && timeList.Count > 0)
{
var dayHours = CalcDayClassHoursModule(timeList, planModel.PlanTimeList, model, BasicMinutes);
totalHours += dayHours;
classPlanList.Add(planModel);
}
}
break;
case "7":
if (newDate.DayOfWeek == DayOfWeek.Sunday)
{
var timeList = defaultPlanTimeList.Where(qitem => qitem.DateList.Contains(item))?.FirstOrDefault()?.TimeList;
if (timeList != null && timeList.Count > 0)
{
var dayHours = CalcDayClassHoursModule(timeList, planModel.PlanTimeList, model, BasicMinutes);
totalHours += dayHours;
classPlanList.Add(planModel);
}
}
break;
}
}
else if (model.ClassStyle == ClassStyleEnum.Month)
{
if (newDate.Day == Convert.ToInt32(item))
{
var timeList = defaultPlanTimeList.Where(qitem => qitem.DateList.Contains(item))?.FirstOrDefault()?.TimeList;
if (timeList != null && timeList.Count > 0)
{
var dayHours = CalcDayClassHoursModule(timeList, planModel.PlanTimeList, model, BasicMinutes);
totalHours += dayHours;
classPlanList.Add(planModel);
}
}
}
}
i++;
}
}
//固定日期
else if (model.ClassStyle == ClassStyleEnum.FixedDate)
{
foreach (var item in model.WeekDayList)
{
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 = new List<RB_Class_Time_ViewModel>(),
TeacherId = model.Teacher_Id,
ClassDate = Convert.ToDateTime(item)
};
var timeList = defaultPlanTimeList.Where(qitem => qitem.DateList.Contains(item))?.FirstOrDefault()?.TimeList;
if (timeList != null && timeList.Count > 0)
{
CalcDayClassHoursModule(timeList, planModel.PlanTimeList, model, BasicMinutes);
classPlanList.Add(planModel);
}
}
}
//约课
else
{
}
}
return classPlanList;
}
/// <summary>
/// 计算每天课时
/// </summary>
/// <param name="timeList"></param>
/// <param name="classTimeList"></param>
/// <param name="model"></param>
/// <returns></returns>
private double CalcDayClassHoursModule(List<TimeItem> timeList, List<RB_Class_Time_ViewModel> classTimeList, RB_Class_ViewModel model, int BasicMinutes)
{
double dayClassHours = 0;
double dayMinutes = 0;
foreach (var sItem in timeList)
{
var timeModel = new RB_Class_Time_ViewModel()
{
StartTime = sItem.StartTime,
EndTime = sItem.EndTime,
TimeHour = sItem.TimeHour,
};
classTimeList.Add(timeModel);
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;
}
}
if (model.ClassHourMinute > 0)
{
dayClassHours = dayMinutes / model.ClassHourMinute;
}
else
{
dayClassHours = dayMinutes / BasicMinutes;
}
return dayClassHours;
}
/// <summary>
/// 根据班级编号获取班级详细信息
/// </summary>
......@@ -3651,6 +3861,11 @@ namespace Edu.Module.Course
#region 甲鹤小程序商品信息
/// <summary>
/// 同步班级到甲鹤小程序
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
//public bool SetGoodsSpecificationValue(RB_Class_ViewModel model)
//{
// bool flag = false;
......@@ -3784,6 +3999,21 @@ namespace Edu.Module.Course
// #endregion
// }
// }
// return flag;
//}
/// <summary>
///
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
//public bool UpdateGoodsSpecificationValue(RB_Class_ViewModel model)
//{
// bool flag = false;
// return flag;
//}
#endregion
......
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