Commit d9f824ef authored by liudong1993's avatar liudong1993

Merge branch 'master' of http://gitlab.oytour.com/Kui2/education

parents b68111be a6672e93
...@@ -185,6 +185,11 @@ namespace Edu.Model.ViewModel.Grade ...@@ -185,6 +185,11 @@ namespace Edu.Model.ViewModel.Grade
/// </summary> /// </summary>
public string TeacherName { get; set; } public string TeacherName { get; set; }
/// <summary>
/// 教师头像
/// </summary>
public string TeacherHead { get; set; }
/// <summary> /// <summary>
/// 处理状态字符串 /// 处理状态字符串
/// </summary> /// </summary>
...@@ -237,5 +242,20 @@ namespace Edu.Model.ViewModel.Grade ...@@ -237,5 +242,20 @@ namespace Edu.Model.ViewModel.Grade
/// 目标订单班级名称 /// 目标订单班级名称
/// </summary> /// </summary>
public string TargetClassName { get; set; } public string TargetClassName { get; set; }
/// <summary>
/// 订单学员编号
/// </summary>
public string QOrderGuestIds { get; set; }
/// <summary>
/// 上课开始时间
/// </summary>
public string StartTime { get; set; }
/// <summary>
/// 上课结束时间
/// </summary>
public string EndTime { get; set; }
} }
} }
...@@ -4854,36 +4854,44 @@ namespace Edu.Module.Course ...@@ -4854,36 +4854,44 @@ namespace Edu.Module.Course
public object AppCustomerGetClassPlan(int student_stuId) public object AppCustomerGetClassPlan(int student_stuId)
{ {
List<object> list = new List<object>(); List<object> list = new List<object>();
GetStudentCurrentOrderModule(student_stuId, out int newClassStatus, out string classStatusName, out int classId, out decimal SurplusClassHours); var stuOrderList = student_OrderGuestRepository.GetStrOrderGuestListRepository(new RB_Student_OrderGuest_ViewModel()
if (classId > 0)
{ {
var planList = class_PlanRepository.GetClassPlanListExtRepository(new RB_Class_Plan_ViewModel() Student_Id = student_stuId
});
if (stuOrderList != null && stuOrderList.Count > 0)
{
string guestIds = string.Join(",", stuOrderList.Select(qitem => qitem.GuestId));
var checkList = classCheckRepository.GetClassCheckListRepository(new RB_Class_Check_ViewModel()
{ {
ClassId = classId, QOrderGuestIds = guestIds
StartTime = Common.ConvertHelper.FormatDate(DateTime.Now) })?.OrderByDescending(qitem => qitem.ClassDate)?.ToList();
});
var disList = planList.GroupBy(qitem => new { qitem.ClassId, qitem.ClassDate }).Select(qitem => new { qitem.Key.ClassId, qitem.Key.ClassDate }).Take(10); var groupList = checkList.GroupBy(qitem => new { qitem.OrderId, qitem.ClassName, qitem.CourseName, qitem.RoomName, qitem.TeacherName, qitem.TeacherHead })
foreach (var item in disList) .OrderByDescending(qitem => qitem.Key.OrderId)
.Select(qitem => new { qitem.Key.OrderId, qitem.Key.ClassName, qitem.Key.CourseName, qitem.Key.RoomName, qitem.Key.TeacherName, qitem.Key.TeacherHead });
foreach (var item in groupList)
{ {
var tempModel = planList.Where(qitem => qitem.ClassId == item.ClassId && qitem.ClassDate == item.ClassDate)?.OrderBy(qitem => qitem.StartTime)?.FirstOrDefault(); List<object> subList = new List<object>();
var tempSubList = checkList?.Where(qitem => qitem.OrderId == item.OrderId)?.OrderByDescending(qitem => qitem.ClassDate)?.ToList();
list.Add(new list.Add(new
{ {
tempModel?.CourseName, item.OrderId,
tempModel?.RoomName, item.ClassName,
tempModel?.TeacherName, item.CourseName,
TeacherIcon = tempModel?.UserIcon, item.RoomName,
ClassTime = Common.ConvertHelper.FormatDate2(tempModel?.ClassDate) + " " + tempModel?.StartTime item.TeacherName,
item.TeacherHead,
SubList = tempSubList?.Select(qitem => new
{
ClassData = Common.ConvertHelper.FormatDate2(qitem.ClassDate),
qitem.StartTime,
qitem.EndTime,
}),
}); });
} }
} }
var result = new
{ return list;
classStatus = newClassStatus,
classStatusName,
SurplusClassHours,
PlanList = list
};
return result;
} }
/// <summary> /// <summary>
......
...@@ -23,12 +23,14 @@ namespace Edu.Repository.Grade ...@@ -23,12 +23,14 @@ namespace Edu.Repository.Grade
{ {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" builder.AppendFormat(@"
SELECT A.*,IFNULL(B.GuestName,'') AS GuestName,IFNULL(C.ClassName,'') AS ClassName,IFNULL(D.CourseName,'') AS CourseName,IFNULL(E.RoomName,'') AS RoomName,IFNULL(F.TeacherName,'') AS TeacherName SELECT A.*,IFNULL(B.GuestName,'') AS GuestName,IFNULL(C.ClassName,'') AS ClassName,IFNULL(D.CourseName,'') AS CourseName,IFNULL(E.RoomName,'') AS RoomName
,IFNULL(F.TeacherName,'') AS TeacherName,IFNULL(B.OrderId,0) AS OrderId,IFNULL(F.TeacherHead,'') AS TeacherHead,ct.StartTime,ct.EndTime
FROM RB_Class_Check AS A LEFT JOIN rb_order_guest AS B ON A.OrderGuestId=B.Id FROM RB_Class_Check AS A LEFT JOIN rb_order_guest AS B ON A.OrderGuestId=B.Id
LEFT JOIN rb_class AS C ON A.ClassId=C.ClassId LEFT JOIN rb_class AS C ON A.ClassId=C.ClassId
LEFT JOIN rb_course AS D ON C.CouseId=D.CourseId LEFT JOIN rb_course AS D ON C.CouseId=D.CourseId
LEFT JOIN rb_class_room AS E ON A.ClassRoomId=E.RoomId LEFT JOIN rb_class_room AS E ON A.ClassRoomId=E.RoomId
LEFT JOIN rb_teacher AS F ON A.TeacherId=F.TId LEFT JOIN rb_teacher AS F ON A.TeacherId=F.TId
LEFT JOIN rb_class_time ct on ct.ClassTimeId = A.ClassTimeId
WHERE 1=1 AND A.Status=0 "); WHERE 1=1 AND A.Status=0 ");
if (query != null) if (query != null)
{ {
...@@ -52,6 +54,10 @@ WHERE 1=1 AND A.Status=0 "); ...@@ -52,6 +54,10 @@ WHERE 1=1 AND A.Status=0 ");
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Check_ViewModel.OrderGuestId), query.OrderGuestId); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Check_ViewModel.OrderGuestId), query.OrderGuestId);
} }
if (!string.IsNullOrEmpty(query.QOrderGuestIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Class_Check_ViewModel.OrderGuestId), query.QOrderGuestIds);
}
if (!string.IsNullOrWhiteSpace(query.StartDate)) if (!string.IsNullOrWhiteSpace(query.StartDate))
{ {
builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%Y-%m-%d')>=DATE_FORMAT('{1}','%Y-%m-%d') ", nameof(RB_Class_Check_ViewModel.ClassDate), query.StartDate); builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%Y-%m-%d')>=DATE_FORMAT('{1}','%Y-%m-%d') ", nameof(RB_Class_Check_ViewModel.ClassDate), query.StartDate);
......
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