Commit 1bf38c90 authored by liudong1993's avatar liudong1993

1

parent b3b2ac97
......@@ -4876,11 +4876,20 @@ namespace Edu.Module.Course
/// <param name="day"></param>
/// <param name="group_Id"></param>
/// <returns></returns>
public object GetStudyCourseReview(int classId, int day, int group_Id)
public object GetStudyCourseReview(int classId,int classScrollType, int stuId, int courseId, int day, int group_Id)
{
List<object> RList = new List<object>();
//先获取最近7天上课计划
var planList = class_PlanRepository.GetStudyCourseReview(classId, day + 1, group_Id);
var planList = new List<RB_Class_Plan_ViewModel>();
if (classScrollType == 2)
{
//约课模式
planList = class_PlanRepository.GetStudyCourseReviewForYK(stuId, courseId, day + 1, group_Id);
}
else
{
planList = class_PlanRepository.GetStudyCourseReview(classId, day + 1, group_Id);
}
if (planList.Any()) {
//获取上课时间
string planIds = string.Join(",", planList.Select(x => x.ClassPlanId));
......@@ -4927,13 +4936,22 @@ namespace Edu.Module.Course
/// </summary>
/// <param name="classId"></param>
/// <returns></returns>
public object GetIndexWords(int classId, int courseId, int groupId,int Stu_Account_Id=0)
public object GetIndexWords(int classId, int courseId, int guestId, int classScrollType, int stuId, int groupId)
{
int NextCourseNo = 0, ReviewCourseNo = 0;
var planModel = class_PlanRepository.GetToDayClassPlan(classId, groupId);
RB_Class_Plan_ViewModel planModel = null;
if (classScrollType == 2)
{
//约课
planModel = class_PlanRepository.GetToDayClassPlanForYK(stuId, courseId, groupId);
}
else {
planModel = class_PlanRepository.GetToDayClassPlan(classId, groupId);
}
if (planModel != null)
{
int zj = planModel.LessonPlanNum + 1;//这次课的章节
var ogModel = order_GuestRepository.GetEntity(guestId);
int zj = ogModel.CourseChapterNo + 1;//这次课的章节
if (planModel.ClassDate.ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-MM-dd"))
{
//查询上课时间 看这节课到底上没有上
......
......@@ -127,7 +127,7 @@ namespace Edu.Module.Course
{
if (orderModel.OrderType == Common.Enum.Sale.OrderTypeEnum.CourseOrder)
{
classModel = classRepository.GetClassAndCourseListRepository(new RB_Class_ViewModel() { ClassId = orderModel.ClassId })?.FirstOrDefault();
classModel = classRepository.GetClassAndCourseListRepository(new RB_Class_ViewModel() { ClassId = orderModel.ClassId, ClassScrollType = 0 })?.FirstOrDefault();
courseModel = courseRepository.GetEntity<RB_Course_ViewModel>(orderModel.CourseId);
}
}
......@@ -493,7 +493,7 @@ namespace Edu.Module.Course
var classModel = new RB_Class_ViewModel();
if (orderModel != null && orderModel.ClassId > 0)
{
classModel = classRepository.GetClassAndCourseListRepository(new RB_Class_ViewModel() { ClassId = orderModel.ClassId })?.FirstOrDefault();
classModel = classRepository.GetClassAndCourseListRepository(new RB_Class_ViewModel() { ClassId = orderModel.ClassId, ClassScrollType = 0 })?.FirstOrDefault();
}
model.School_Id = classModel?.School_Id ?? 0;
//生成合同编码
......
......@@ -1470,7 +1470,8 @@ namespace Edu.Module.Course
var queryNotifyManager = accountRepository.GetWorkUserIdByDictRepository("Push_NewOrder");
var param = new RB_Class_ViewModel()
{
ClassId = demodel.ClassId
ClassId = demodel.ClassId,
ClassScrollType = 0
};
var classDetailModel = classRepository.GetClassAndCourseListRepository(param).FirstOrDefault();
if (queryNotifyManager != null && queryNotifyManager.Count > 0)
......
......@@ -77,19 +77,19 @@ namespace Edu.Module.Course
}
#region 生成班级号
string ClassNo = "GD";int ClassLetterNum = 0;
//查询最大的字母
int CNum = classRepository.GetMaxClassNoPrefix(time + "-01");
if (CNum == 0)
{
ClassNo += OpenTime + "A";
ClassLetterNum = 1;
}
else
{
string ClassNoLetterStr = Edu.Common.Config.ClassNoLetterStr;
ClassNo += OpenTime + GetClassNo(ClassNoLetterStr, CNum);
ClassLetterNum = CNum + 1;
}
////查询最大的字母
//int CNum = classRepository.GetMaxClassNoPrefix(time + "-01");
//if (CNum == 0)
//{
// ClassNo += OpenTime + "A";
// ClassLetterNum = 1;
//}
//else
//{
// string ClassNoLetterStr = Edu.Common.Config.ClassNoLetterStr;
// ClassNo += OpenTime + GetClassNo(ClassNoLetterStr, CNum);
// ClassLetterNum = CNum + 1;
//}
#endregion
RB_Class cmodel = new RB_Class()
{
......@@ -103,7 +103,7 @@ namespace Edu.Module.Course
CreateBy = 0,
UpdateBy = 0,
Status = 0,
ClassPersion = 0,
ClassPersion = 9999,
OpenTime = Convert.ToDateTime(time + "-01"),
EndOrderTime = EndOrderTime,
OriginalPrice = 0,
......@@ -216,7 +216,7 @@ namespace Edu.Module.Course
#endregion
//以老师为单位 遍历
AppointList.GroupBy(x => new { x.Date, x.AccountId, x.WorkUserId, x.TeacherName, x.CourseId, x.CourseName, x.ChapterNo, x.ShiftSort, x.CourseTimeId, x.RoomId, x.RoomName, x.RoomSchoolName, x.ScrollMinNum }).ToList().ForEach(item =>
AppointList.GroupBy(x => new { x.Date, x.AccountId, x.WorkUserId,x.TeacherId, x.TeacherName, x.CourseId, x.CourseName, x.ChapterNo, x.ShiftSort, x.CourseTimeId, x.RoomId, x.RoomName, x.RoomSchoolName, x.ScrollMinNum }).ToList().ForEach(item =>
{
var ctModel = CTList.Where(x => x.Id == item.Key.CourseTimeId).FirstOrDefault();
var CourseTimeList = ctModel.TimeList.Where(x => ("," + item.Key.ShiftSort + ",").Contains("," + x.Sort + ",")).ToList();
......@@ -260,48 +260,51 @@ namespace Edu.Module.Course
}
else
{
//人数达标 写入计划课程
foreach (var qitem in item)
#region 写入class_plan 计划表
//先查询计划是否已存在
int planId = class_PlanRepository.Insert(new RB_Class_Plan()
{
#region 写入class_plan 计划表
int planId = class_PlanRepository.Insert(new RB_Class_Plan()
{
ClassPlanId = 0,
ClassId = 0,
ClassDate = qitem.Date,
Status = 0,
ClassRoomId = qitem.RoomId,
Group_Id = groupId,
School_Id = 0,// 暂时 应该要赋值 订单上的预约校区
TeacherId = qitem.TeacherId,
BeiKeStatus = 0,
FanKuiStatus = 0,
ParentFanKuiStatus = 0,
RepeatPlanIds = "",
PlanType = 2,
CourseId = qitem.CourseId
});
if (planId > 0)
ClassPlanId = 0,
ClassId = 0,
ClassDate = item.Key.Date,
Status = 0,
ClassRoomId = item.Key.RoomId,
Group_Id = groupId,
School_Id = 0,// 暂时 应该要赋值 订单上的预约校区
TeacherId = item.Key.TeacherId,
BeiKeStatus = 0,
FanKuiStatus = 0,
ParentFanKuiStatus = 0,
RepeatPlanIds = "",
PlanType = 2,
CourseId = item.Key.CourseId
});
if (planId > 0)
{
//写入时间
foreach (var citem in CourseTimeList)
{
//写入时间
foreach (var citem in CourseTimeList)
class_TimeRepository.Insert(new RB_Class_Time()
{
class_TimeRepository.Insert(new RB_Class_Time()
{
ClassTimeId = 0,
ClassId = 0,
ClassPlanId = planId,
StartTime = citem.StartTime,
EndTime = citem.EndTime,
Group_Id = groupId,
School_Id = 0,//暂时 应该要赋值 订单上的预约校区
ClassStatus = 0,
SuiPai = "",
VideoUrl = "",
TimeHour = citem.ClassHours
});
}
ClassTimeId = 0,
ClassId = 0,
ClassPlanId = planId,
StartTime = citem.StartTime,
EndTime = citem.EndTime,
Group_Id = groupId,
School_Id = 0,//暂时 应该要赋值 订单上的预约校区
ClassStatus = 0,
SuiPai = "",
VideoUrl = "",
TimeHour = citem.ClassHours
});
}
//人数达标 写入计划课程
foreach (var qitem in item)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Scroll_Appointment_ViewModel.State), Common.Enum.Course.CourseAppointStateEnum.WaitCourse},
{ nameof(RB_Scroll_Appointment_ViewModel.ClassPlanId), planId}
......@@ -320,8 +323,9 @@ namespace Edu.Module.Course
SendAppointmentSusscessMsg(token, qitem.StuOpenId, qitem, StartTime);
}
}
#endregion
}
#endregion
//给老师推送课程 信息
if (!string.IsNullOrEmpty(item.Key.WorkUserId))
......
......@@ -1267,6 +1267,40 @@ WHERE a.`Status`=0 ");
return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList();
}
/// <summary>
/// 获取最近7天上课计划 (约课)
/// </summary>
/// <param name="stuId"></param>
/// <param name="courseId"></param>
/// <param name="day"></param>
/// <param name="group_Id"></param>
/// <returns></returns>
public List<RB_Class_Plan_ViewModel> GetStudyCourseReviewForYK(int stuId, int courseId, int day, int group_Id)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT a.*
FROM rb_class_plan as a
inner join rb_scroll_appointment sa on a.ClassPlanId = sa.ClassPlanId
WHERE a.`Status`=0 ");
if (group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Group_Id), group_Id);
}
if (courseId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.CourseId), courseId);
}
if (stuId > 0) {
builder.AppendFormat(" AND sa.StuId ={0} ", stuId);
}
builder.AppendFormat(@$" and a.PlanType =2 And a.ClassDate <='{Common.ConvertHelper.FormatDate(DateTime.Now)} 23:59:59'");
builder.AppendFormat(@" ORDER BY ClassDate DESC limit " + day);
return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList();
}
/// <summary>
/// 获取最近的上课计划
/// </summary>
......@@ -1275,7 +1309,7 @@ WHERE a.`Status`=0 ");
/// <returns></returns>
public RB_Class_Plan_ViewModel GetToDayClassPlan(int classId, int groupId)
{
string sql = $@"SELECT a.*,(select count(0) from rb_class_plan p where p.`Status`=0 and p.Group_Id ={groupId} and p.ClassId ={classId} and p.ClassDate < a.ClassDate) as LessonPlanNum
string sql = $@"SELECT a.*
FROM rb_class_plan as a
WHERE a.`Status`=0 and a.Group_Id ={groupId} and a.ClassId ={classId}
and a.ClassDate <='{Common.ConvertHelper.FormatDate(DateTime.Now)} 23:59:59'
......@@ -1283,6 +1317,24 @@ order by a.ClassDate desc limit 1";
return Get<RB_Class_Plan_ViewModel>(sql).FirstOrDefault();
}
/// <summary>
/// 获取最近的上课计划
/// </summary>
/// <param name="stuId"></param>
/// <param name="courseId"></param>
/// <param name="groupId"></param>
/// <returns></returns>
public RB_Class_Plan_ViewModel GetToDayClassPlanForYK(int stuId, int courseId, int groupId)
{
string sql = $@"SELECT a.*
FROM rb_class_plan as a
inner join rb_scroll_appointment sa on a.ClassPlanId = sa.ClassPlanId
WHERE a.`Status`=0 and a.Group_Id ={groupId} and a.PlanType =2 and a.CourseId ={courseId} and sa.StuId ={stuId}
and a.ClassDate <='{Common.ConvertHelper.FormatDate(DateTime.Now)} 23:59:59'
order by a.ClassDate desc limit 1";
return Get<RB_Class_Plan_ViewModel>(sql).FirstOrDefault();
}
/// <summary>
/// 获取最近的上课计划
/// </summary>
......
......@@ -314,7 +314,7 @@ namespace Edu.WebApi.Controllers.Applet
var Words = new object();
if (studentModel.ClassId > 0)
{
Words = classModule.GetIndexWords(studentModel.ClassId, studentModel.CourseId, appletUserInfo.Group_Id);
Words = classModule.GetIndexWords(studentModel.ClassId, studentModel.CourseId, studentModel.GuestId, studentModel.ClassScrollType, studentModel.StuId, appletUserInfo.Group_Id);
}
else
{
......@@ -415,7 +415,8 @@ namespace Edu.WebApi.Controllers.Applet
x.CourseName,
x.TotalHours,
x.CompleteHours,
SurplusHours = x.TotalHours - x.CompleteHours
SurplusHours = x.TotalHours - x.CompleteHours,
x.ClassScrollType
}));
}
......@@ -431,13 +432,19 @@ namespace Edu.WebApi.Controllers.Applet
int ClassId = parms.GetInt("ClassId", 0);//班级ID
int CourseId = parms.GetInt("CourseId", 0);//课程ID
int GuestId = parms.GetInt("GuestId", 0);//订单GuestId
int ClassScrollType = parms.GetInt("ClassScrollType", 0);//学习类型 1跟班 2约课
int StuId = parms.GetInt("StuId", 0);//学生ID
if (ClassId <= 0)
{
return ApiResult.ParamIsNull("请传递班级ID");
}
if (ClassScrollType == 2 && StuId <= 0)
{
return ApiResult.ParamIsNull("请传递学生ID");
}
//获取课程回顾
int Day = 7;//默认最近7次上课
var Review = classModule.GetStudyCourseReview(ClassId, Day, appletUserInfo.Group_Id);
var Review = classModule.GetStudyCourseReview(ClassId, ClassScrollType, StuId, CourseId, Day, appletUserInfo.Group_Id);
//获取考试试卷
List<RB_Examination_Publish_ViewModel> examinationPublishList = new List<RB_Examination_Publish_ViewModel>();
......@@ -480,7 +487,7 @@ namespace Edu.WebApi.Controllers.Applet
var Words = new object();
if (ClassId > 0 && CourseId > 0)
{
Words = classModule.GetIndexWords(ClassId, CourseId, appletUserInfo.Group_Id,appletUserInfo.Id);
Words = classModule.GetIndexWords(ClassId, CourseId, GuestId, ClassScrollType, StuId, appletUserInfo.Group_Id);
}
else
{
......
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