Commit 3b94b4f0 authored by 吴春's avatar 吴春

提交代码

parent d799607a
......@@ -126,6 +126,12 @@ namespace Edu.Module.Course
/// </summary>
private readonly RB_Visitor_ReserveRepository visitor_ReserveRepository = new RB_Visitor_ReserveRepository();
/// <summary>
/// 教室异常仓储对象
/// </summary>
private readonly RB_Class_RoomUseLogRepository class_RoomUseLogRepository = new RB_Class_RoomUseLogRepository();
/// <summary>
/// 获取班级列表
/// </summary>
......@@ -1072,7 +1078,7 @@ namespace Edu.Module.Course
/// </summary>
/// <param name="classId">班级编号</param>
/// <returns></returns>
public object GetClassStudentListModule(int classId, int school_Id, int group_Id, int ClassTimeId,int QEffectStatus=0)
public object GetClassStudentListModule(int classId, int school_Id, int group_Id, int ClassTimeId, int QEffectStatus = 0)
{
List<object> list = new List<object>();
var orderStudentList = order_GuestRepository.GetOrderGuestListRepository(new RB_Order_Guest_ViewModel()
......@@ -1080,7 +1086,7 @@ namespace Edu.Module.Course
ClassId = classId,
Group_Id = group_Id,
School_Id = school_Id,
QEffectStatus= QEffectStatus,
QEffectStatus = QEffectStatus,
}).Where(x => x.GuestState == 1).ToList();
var classModel = GetClassModule(classId);
var courseModel = courseRepository.GetEntity((classModel?.CouseId ?? 0));
......@@ -1296,13 +1302,13 @@ namespace Edu.Module.Course
{
List<RB_Class_Check_ViewModel> list = new List<RB_Class_Check_ViewModel>();
bool flag = false;
var checkList= classCheckRepository.GetClassCheckListRepository(new RB_Class_Check_ViewModel());
var basic= class_ConfigRepository.GetBasicMinutesRepository(100000);
var checkList = classCheckRepository.GetClassCheckListRepository(new RB_Class_Check_ViewModel());
var basic = class_ConfigRepository.GetBasicMinutesRepository(100000);
if (checkList != null && checkList.Count > 0)
{
classCheckRepository.ClearCheck();
string classIds = string.Join(",", checkList.Select(qitem => qitem.ClassId));
var planList= class_PlanRepository.GetClassPlanListExtRepository(new RB_Class_Plan_ViewModel() { QClassIds = classIds });
var planList = class_PlanRepository.GetClassPlanListExtRepository(new RB_Class_Plan_ViewModel() { QClassIds = classIds });
foreach (var item in checkList)
{
var tempPlanList = planList.Where(qitem => qitem.ClassId == item.ClassId && qitem.ClassDate == item.ClassDate).ToList();
......@@ -1310,25 +1316,25 @@ namespace Edu.Module.Course
{
RB_Class_Check_ViewModel model = new RB_Class_Check_ViewModel()
{
ClassCheckId=0,
ClassId=item.ClassId,
ClassDate=item.ClassDate,
Status=item.Status,
ClassRoomId=item.ClassRoomId,
Group_Id=item.Group_Id,
School_Id=item.School_Id,
TeacherId=item.TeacherId,
OrderGuestId=item.OrderGuestId,
CheckStatus=item.CheckStatus,
CreateBy=item.CreateBy,
CreateTime=item.CreateTime,
StudyNum=subItem.ClassMinutes,
MakeUpStatus=item.MakeUpStatus,
CurrentDeductionHours=subItem.ClassMinutes/ basic,
IsAbsentHours=item.IsAbsentHours,
ClassTimeId=subItem.ClassTimeId
ClassCheckId = 0,
ClassId = item.ClassId,
ClassDate = item.ClassDate,
Status = item.Status,
ClassRoomId = item.ClassRoomId,
Group_Id = item.Group_Id,
School_Id = item.School_Id,
TeacherId = item.TeacherId,
OrderGuestId = item.OrderGuestId,
CheckStatus = item.CheckStatus,
CreateBy = item.CreateBy,
CreateTime = item.CreateTime,
StudyNum = subItem.ClassMinutes,
MakeUpStatus = item.MakeUpStatus,
CurrentDeductionHours = subItem.ClassMinutes / basic,
IsAbsentHours = item.IsAbsentHours,
ClassTimeId = subItem.ClassTimeId
};
flag= classCheckRepository.Insert(model)>0;
flag = classCheckRepository.Insert(model) > 0;
}
}
}
......@@ -2176,7 +2182,7 @@ namespace Edu.Module.Course
/// <param name="query">查询条件</param>
/// <param name="ClassType">课程类型(0-全部,1-正常,2-试听课)</param>
/// <returns></returns>
public object GetClassPlanStatisticalModule(RB_Class_Plan_ViewModel query,int ClassType=0)
public object GetClassPlanStatisticalModule(RB_Class_Plan_ViewModel query, int ClassType = 0)
{
List<object> mondayList = new List<object>();
List<object> tuesdayList = new List<object>();
......@@ -2216,11 +2222,11 @@ namespace Edu.Module.Course
reserveList = reserve_ClassRepository.GetReserveClassListRepository(reserveQuery);
}
if (list != null || reserveList!=null)
if (list != null || reserveList != null)
{
var timeList = new List<RB_Class_Time_ViewModel>();
var guestList = new List<RB_Order_Guest_ViewModel>();
if (list != null&& list.Count>0)
if (list != null && list.Count > 0)
{
string classIds = string.Join(",", list.Select(qitem => qitem.ClassId));
string planIds = string.Join(",", list.Select(qitem => qitem.ClassPlanId));
......@@ -2268,17 +2274,17 @@ namespace Edu.Module.Course
var currentDate = Common.ConvertHelper.FormatDate(ClassDate) + " " + (subItem?.ClassTime ?? "");
subList.Add(new
{
ClassType=2,
ClassId= subItem.ReserveClassId,
ClassName= "试听课",
CourseName= subItem.ClassContent,
ClassType = 2,
ClassId = subItem.ReserveClassId,
ClassName = "试听课",
CourseName = subItem.ClassContent,
subItem.RoomName,
subItem.TeacherName,
TimeStr = Common.ConvertHelper.GetTimeStr(currentDate),
StartTime = subItem.ClassTime,
subItem.EndTime,
CompleteProgress=-1,
GuestList = visitorList?.Where(qitem => qitem.ReserveClassId == subItem.ReserveClassId)?.Select(qitem => new { GuestName=qitem.VisitorName })
CompleteProgress = -1,
GuestList = visitorList?.Where(qitem => qitem.ReserveClassId == subItem.ReserveClassId)?.Select(qitem => new { GuestName = qitem.VisitorName })
});
}
var obj = new
......@@ -2343,5 +2349,199 @@ namespace Edu.Module.Course
}
return result;
}
/// <summary>
/// 教室使用记录
/// </summary>
/// <param name="query">查询条件</param>
/// <param name="ClassType">课程类型(0-全部,1-正常,2-试听课)</param>
/// <returns></returns>
public object GetClassUseStatisticalModule(RB_Class_Plan_ViewModel query, int ClassType = 0)
{
List<object> mondayList = new List<object>();
List<object> tuesdayList = new List<object>();
List<object> wednesdayList = new List<object>();
List<object> thursdayList = new List<object>();
List<object> fridayList = new List<object>();
List<object> saturdayList = new List<object>();
List<object> sundayList = new List<object>();
var startTime = Convert.ToDateTime(Common.ConvertHelper.GetWeekMonday(query.StartTime));
var endTime = Convert.ToDateTime(Common.ConvertHelper.GetWeekSunday(query.EndTime));
TimeSpan sp = endTime.Subtract(startTime);
var days = sp.Days + 1;
//正常上课计划列表
var list = new List<RB_Class_Plan_ViewModel>();
//试听课列表
var reserveList = new List<RB_Reserve_Class_Extend>();
List<RB_Class_RoomUseLog_ViewModel> roomUserLogList = new List<RB_Class_RoomUseLog_ViewModel>();
var reserveQuery = new RB_Reserve_Class_Extend()
{
StartClassDate = query.StartTime,
EndClassDate = query.EndTime,
TeacherId = query.TeacherId,
ClassRoomId = query.ClassRoomId
};
if (ClassType == 0)
{
list = class_PlanRepository.GetClassPlanStatisticalRepository(query);
reserveList = reserve_ClassRepository.GetReserveClassListRepository(reserveQuery);
}
else if (ClassType == 1)
{
list = class_PlanRepository.GetClassPlanStatisticalRepository(query);
}
else if (ClassType == 2)
{
reserveList = reserve_ClassRepository.GetReserveClassListRepository(reserveQuery);
}
if (list != null || reserveList != null)
{
var timeList = new List<RB_Class_Time_ViewModel>();
var guestList = new List<RB_Order_Guest_ViewModel>();
List<int> classRoomId = new List<int>();
if (list != null && list.Any())
{
classRoomId.AddRange(list.Select(x => x.ClassRoomId).ToList());
}
if (reserveList != null && reserveList.Any())
{
classRoomId.AddRange(reserveList.Select(x => x.ClassRoomId).ToList());
}
string roomIds = string.Join(",", classRoomId.Select(x => x).Distinct());
if (!string.IsNullOrWhiteSpace(roomIds))
{
roomUserLogList = class_RoomUseLogRepository.GetClassRoomUseLogListRepository(new RB_Class_RoomUseLog_ViewModel { StartTime = query.StartTime, EndTime = query.EndTime, QRoomIds = roomIds });
}
if (list != null && list.Count > 0)
{
string classIds = string.Join(",", list.Select(qitem => qitem.ClassId));
string planIds = string.Join(",", list.Select(qitem => qitem.ClassPlanId));
timeList = class_TimeRepository.GetClassTimeListRepository(new RB_Class_Time_ViewModel() { QClassIds = classIds, QClassPlanIds = planIds });
guestList = order_GuestRepository.GetOrderGuestListRepository(new RB_Order_Guest_ViewModel() { ClassIds = classIds });
}
var visitorList = new List<RB_Visitor_Reserve_Extend>();
if (reserveList != null && reserveList.Count > 0)
{
string reserveClassIds = string.Join(",", reserveList.Select(qitem => qitem.ReserveClassId));
visitorList = visitor_ReserveRepository.GetVisitorReserveListRepository(new Model.ViewModel.Reserve.RB_Visitor_Reserve_Extend()
{
Q_ReserveClassIds = reserveClassIds
});
}
for (var i = 0; i < days; i++)
{
var ClassDate = startTime.AddDays(i);
List<object> subList = new List<object>();
var tempRoomUseLogList = roomUserLogList.Where(qitem => qitem.CreateTime.ToString("yyyy-MM-dd") == ClassDate.ToString("yyyy-MM-dd")).OrderBy(qitem => qitem.CreateTime);
foreach (var subItem in tempRoomUseLogList)
{
subList.Add(new
{
Id = subItem.RoomErrorId,
ClassType = 2,
ClassId = 0,
ClassName = subItem.ErrorTitle,
CourseName = subItem.ErrorContent,
RoomName = "",
TeacherName = "",
TimeStr = Common.ConvertHelper.GetTimeStr(subItem.CreateTime),
StartTime = subItem.CreateTime.ToString("HHLmm"),
EndTime = subItem.UpdateTime.HasValue ? subItem.UpdateTime.Value.ToString("HHLmm") : "未知",
CompleteProgress = -1,
GuestList = new List<string>(),
Type = subItem.ErrorType,// 0-班级,1-使用记录,2-异常记录
});
}
var tempList = list.Where(qitem => qitem.ClassDate == ClassDate).OrderBy(qitem => qitem.StartTime);
foreach (var subItem in tempList)
{
var tempTimeList = timeList?.Where(qitem => qitem.ClassPlanId == subItem.ClassPlanId)?.ToList()?.OrderBy(qitem => qitem.StartTime);
var currentDate = Common.ConvertHelper.FormatDate(ClassDate) + " " + (tempTimeList?.FirstOrDefault()?.StartTime ?? "");
foreach (var item in tempTimeList)
{
subList.Add(new
{
Id = item?.ClassTimeId ?? 0,
ClassType = 1,
subItem.ClassId,
subItem.ClassName,
subItem.CourseName,
subItem.RoomName,
subItem.TeacherName,
subItem.CompleteProgress,
TimeStr = Common.ConvertHelper.GetTimeStr(currentDate),
StartTime = item?.StartTime ?? "",
EndTime = item?.EndTime ?? "",
GuestList = guestList.Where(qitem => qitem.ClassId == subItem.ClassId)?.Select(qitem => new { qitem.GuestName }),
Type = 0,// 0-班级,1-使用记录,2-异常记录
});
}
}
var tempReserveList = reserveList.Where(qitem => qitem.ClassDate == ClassDate).OrderBy(qitem => qitem.ClassTime);
foreach (var subItem in tempReserveList)
{
var currentDate = Common.ConvertHelper.FormatDate(ClassDate) + " " + (subItem?.ClassTime ?? "");
subList.Add(new
{
Id = subItem.ReserveClassId,
ClassType = 2,
ClassId = subItem.ReserveClassId,
ClassName = "试听课",
CourseName = subItem.ClassContent,
subItem.RoomName,
subItem.TeacherName,
TimeStr = Common.ConvertHelper.GetTimeStr(currentDate),
StartTime = subItem.ClassTime,
subItem.EndTime,
CompleteProgress = -1,
GuestList = visitorList?.Where(qitem => qitem.ReserveClassId == subItem.ReserveClassId)?.Select(qitem => new { GuestName = qitem.VisitorName }),
Type = 0,// 0-班级,1-使用记录,2-异常记录
});
}
var obj = new
{
ClassDate = Common.ConvertHelper.FormatDate(ClassDate),
WeekStr = Common.ConvertHelper.GetWeekDay(ClassDate),
SubList = subList
};
switch (ClassDate.DayOfWeek)
{
case DayOfWeek.Monday:
mondayList.Add(obj);
break;
case DayOfWeek.Tuesday:
tuesdayList.Add(obj);
break;
case DayOfWeek.Wednesday:
wednesdayList.Add(obj);
break;
case DayOfWeek.Thursday:
thursdayList.Add(obj);
break;
case DayOfWeek.Friday:
fridayList.Add(obj);
break;
case DayOfWeek.Saturday:
saturdayList.Add(obj);
break;
case DayOfWeek.Sunday:
sundayList.Add(obj);
break;
}
}
}
return new { mondayList, tuesdayList, wednesdayList, thursdayList, fridayList, saturdayList, sundayList };
}
}
}
......@@ -230,6 +230,49 @@ namespace Edu.WebApi.Controllers.Course
/// <summary>
/// 老师上课计划统计
/// </summary>
/// <returns></returns>
public ApiResult GetNewClassRoomTimeList()
{
var startDate = base.ParmJObj.GetStringValue("StartTime");
var endDate = base.ParmJObj.GetStringValue("EndTime");
DateTime now = DateTime.Now;
//获取当前月的第一天
DateTime d1 = new DateTime(now.Year, now.Month, 1);
//当月最后一天
DateTime d2 = d1.AddMonths(1).AddDays(-1);
if (string.IsNullOrEmpty(startDate))
{
startDate = Common.ConvertHelper.FormatDate(d1);
}
if (string.IsNullOrEmpty(endDate))
{
endDate = Common.ConvertHelper.FormatDate(d2);
}
else
{
}
RB_Class_Plan_ViewModel query = new RB_Class_Plan_ViewModel()
{
StartTime = startDate,
EndTime = endDate,
TeacherId = base.ParmJObj.GetInt("TeacherId"),
ClassRoomId = base.ParmJObj.GetInt("ClassRoomId"),
Group_Id = base.UserInfo.Group_Id,
ClassId = base.ParmJObj.GetInt("ClassId"),
};
//课程类型(0-全部,1-正常,2-试听课)
int ClassType = base.ParmJObj.GetInt("ClassType");
var obj = classModule.GetClassUseStatisticalModule(query, ClassType: ClassType);
return ApiResult.Success(data: obj);
}
/// <summary>
/// 教室使用记录
/// </summary>
......
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