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

提交代码

parent d799607a
...@@ -126,6 +126,12 @@ namespace Edu.Module.Course ...@@ -126,6 +126,12 @@ namespace Edu.Module.Course
/// </summary> /// </summary>
private readonly RB_Visitor_ReserveRepository visitor_ReserveRepository = new RB_Visitor_ReserveRepository(); 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>
/// 获取班级列表 /// 获取班级列表
/// </summary> /// </summary>
...@@ -1072,7 +1078,7 @@ namespace Edu.Module.Course ...@@ -1072,7 +1078,7 @@ namespace Edu.Module.Course
/// </summary> /// </summary>
/// <param name="classId">班级编号</param> /// <param name="classId">班级编号</param>
/// <returns></returns> /// <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>(); List<object> list = new List<object>();
var orderStudentList = order_GuestRepository.GetOrderGuestListRepository(new RB_Order_Guest_ViewModel() var orderStudentList = order_GuestRepository.GetOrderGuestListRepository(new RB_Order_Guest_ViewModel()
...@@ -1080,7 +1086,7 @@ namespace Edu.Module.Course ...@@ -1080,7 +1086,7 @@ namespace Edu.Module.Course
ClassId = classId, ClassId = classId,
Group_Id = group_Id, Group_Id = group_Id,
School_Id = school_Id, School_Id = school_Id,
QEffectStatus= QEffectStatus, QEffectStatus = QEffectStatus,
}).Where(x => x.GuestState == 1).ToList(); }).Where(x => x.GuestState == 1).ToList();
var classModel = GetClassModule(classId); var classModel = GetClassModule(classId);
var courseModel = courseRepository.GetEntity((classModel?.CouseId ?? 0)); var courseModel = courseRepository.GetEntity((classModel?.CouseId ?? 0));
...@@ -1296,13 +1302,13 @@ namespace Edu.Module.Course ...@@ -1296,13 +1302,13 @@ namespace Edu.Module.Course
{ {
List<RB_Class_Check_ViewModel> list = new List<RB_Class_Check_ViewModel>(); List<RB_Class_Check_ViewModel> list = new List<RB_Class_Check_ViewModel>();
bool flag = false; bool flag = false;
var checkList= classCheckRepository.GetClassCheckListRepository(new RB_Class_Check_ViewModel()); var checkList = classCheckRepository.GetClassCheckListRepository(new RB_Class_Check_ViewModel());
var basic= class_ConfigRepository.GetBasicMinutesRepository(100000); var basic = class_ConfigRepository.GetBasicMinutesRepository(100000);
if (checkList != null && checkList.Count > 0) if (checkList != null && checkList.Count > 0)
{ {
classCheckRepository.ClearCheck(); classCheckRepository.ClearCheck();
string classIds = string.Join(",", checkList.Select(qitem => qitem.ClassId)); 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) foreach (var item in checkList)
{ {
var tempPlanList = planList.Where(qitem => qitem.ClassId == item.ClassId && qitem.ClassDate == item.ClassDate).ToList(); var tempPlanList = planList.Where(qitem => qitem.ClassId == item.ClassId && qitem.ClassDate == item.ClassDate).ToList();
...@@ -1310,25 +1316,25 @@ namespace Edu.Module.Course ...@@ -1310,25 +1316,25 @@ namespace Edu.Module.Course
{ {
RB_Class_Check_ViewModel model = new RB_Class_Check_ViewModel() RB_Class_Check_ViewModel model = new RB_Class_Check_ViewModel()
{ {
ClassCheckId=0, ClassCheckId = 0,
ClassId=item.ClassId, ClassId = item.ClassId,
ClassDate=item.ClassDate, ClassDate = item.ClassDate,
Status=item.Status, Status = item.Status,
ClassRoomId=item.ClassRoomId, ClassRoomId = item.ClassRoomId,
Group_Id=item.Group_Id, Group_Id = item.Group_Id,
School_Id=item.School_Id, School_Id = item.School_Id,
TeacherId=item.TeacherId, TeacherId = item.TeacherId,
OrderGuestId=item.OrderGuestId, OrderGuestId = item.OrderGuestId,
CheckStatus=item.CheckStatus, CheckStatus = item.CheckStatus,
CreateBy=item.CreateBy, CreateBy = item.CreateBy,
CreateTime=item.CreateTime, CreateTime = item.CreateTime,
StudyNum=subItem.ClassMinutes, StudyNum = subItem.ClassMinutes,
MakeUpStatus=item.MakeUpStatus, MakeUpStatus = item.MakeUpStatus,
CurrentDeductionHours=subItem.ClassMinutes/ basic, CurrentDeductionHours = subItem.ClassMinutes / basic,
IsAbsentHours=item.IsAbsentHours, IsAbsentHours = item.IsAbsentHours,
ClassTimeId=subItem.ClassTimeId ClassTimeId = subItem.ClassTimeId
}; };
flag= classCheckRepository.Insert(model)>0; flag = classCheckRepository.Insert(model) > 0;
} }
} }
} }
...@@ -2176,7 +2182,7 @@ namespace Edu.Module.Course ...@@ -2176,7 +2182,7 @@ namespace Edu.Module.Course
/// <param name="query">查询条件</param> /// <param name="query">查询条件</param>
/// <param name="ClassType">课程类型(0-全部,1-正常,2-试听课)</param> /// <param name="ClassType">课程类型(0-全部,1-正常,2-试听课)</param>
/// <returns></returns> /// <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> mondayList = new List<object>();
List<object> tuesdayList = new List<object>(); List<object> tuesdayList = new List<object>();
...@@ -2215,12 +2221,12 @@ namespace Edu.Module.Course ...@@ -2215,12 +2221,12 @@ namespace Edu.Module.Course
{ {
reserveList = reserve_ClassRepository.GetReserveClassListRepository(reserveQuery); reserveList = reserve_ClassRepository.GetReserveClassListRepository(reserveQuery);
} }
if (list != null || reserveList!=null) if (list != null || reserveList != null)
{ {
var timeList = new List<RB_Class_Time_ViewModel>(); var timeList = new List<RB_Class_Time_ViewModel>();
var guestList = new List<RB_Order_Guest_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 classIds = string.Join(",", list.Select(qitem => qitem.ClassId));
string planIds = string.Join(",", list.Select(qitem => qitem.ClassPlanId)); string planIds = string.Join(",", list.Select(qitem => qitem.ClassPlanId));
...@@ -2268,17 +2274,17 @@ namespace Edu.Module.Course ...@@ -2268,17 +2274,17 @@ namespace Edu.Module.Course
var currentDate = Common.ConvertHelper.FormatDate(ClassDate) + " " + (subItem?.ClassTime ?? ""); var currentDate = Common.ConvertHelper.FormatDate(ClassDate) + " " + (subItem?.ClassTime ?? "");
subList.Add(new subList.Add(new
{ {
ClassType=2, ClassType = 2,
ClassId= subItem.ReserveClassId, ClassId = subItem.ReserveClassId,
ClassName= "试听课", ClassName = "试听课",
CourseName= subItem.ClassContent, CourseName = subItem.ClassContent,
subItem.RoomName, subItem.RoomName,
subItem.TeacherName, subItem.TeacherName,
TimeStr = Common.ConvertHelper.GetTimeStr(currentDate), TimeStr = Common.ConvertHelper.GetTimeStr(currentDate),
StartTime = subItem.ClassTime, StartTime = subItem.ClassTime,
subItem.EndTime, subItem.EndTime,
CompleteProgress=-1, CompleteProgress = -1,
GuestList = visitorList?.Where(qitem => qitem.ReserveClassId == subItem.ReserveClassId)?.Select(qitem => new { GuestName=qitem.VisitorName }) GuestList = visitorList?.Where(qitem => qitem.ReserveClassId == subItem.ReserveClassId)?.Select(qitem => new { GuestName = qitem.VisitorName })
}); });
} }
var obj = new var obj = new
...@@ -2343,5 +2349,199 @@ namespace Edu.Module.Course ...@@ -2343,5 +2349,199 @@ namespace Edu.Module.Course
} }
return result; 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 ...@@ -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>
/// 教室使用记录 /// 教室使用记录
/// </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