Commit 5ebb8cc6 authored by 黄奎's avatar 黄奎

11111

parent dca1aaa1
......@@ -146,5 +146,10 @@ namespace Edu.Model.Entity.Scroll
/// 课程等级 对应的章节 与CourseGradeId 组成唯一
/// </summary>
public int CourseGradeNo { get; set; }
/// <summary>
/// 消耗目标课程章节编号
/// </summary>
public int Consume_CourseGradeNo { get; set; }
}
}
\ No newline at end of file
......@@ -109,6 +109,7 @@ namespace Edu.Model.ViewModel.User
/// 合同数量
/// </summary>
public int ContractNum { get; set; }
/// <summary>
/// 课程ID
/// </summary>
......
......@@ -291,7 +291,7 @@ namespace Edu.Module.Course
detailsList = GetPlanAppointmentStatic(new Model.ViewModel.Scroll.RB_Plan_Appointment_Details_ViewModel()
{
QPlanAppointmentIds = ids
});
})?.Where(qitem=>qitem.Status==0)?.ToList();
}
for (var i = 0; i <= days; i++)
......
......@@ -2504,18 +2504,30 @@ namespace Edu.Module.Course
#region 学生的课程
//获取正在上课的课程
var learnModel = student_OrderGuestRepository.GetStudentLearningCourse(demodel.StuId, demodel.Group_Id, demodel.GuestId);
if (learnModel == null) { return demodel.StuName + " 未查询有正在学习的课程,无法约课"; }
if (learnModel.ClassScrollType != 2) { return demodel.StuName + " 不是预约学员,无法查看"; }
if (learnModel == null)
{
return demodel.StuName + " 未查询有正在学习的课程,无法约课";
}
if (learnModel.ClassScrollType != 2)
{
return demodel.StuName + " 不是预约学员,无法查看";
}
//获取课程信息
var courseModel = courseRepository.GetEntity(learnModel.CourseId);
if (courseModel.CourseTimeId <= 0) { return "课程未关联上课时段"; }
if (courseModel.CourseTimeId <= 0)
{
return "课程未关联上课时段";
}
//查询课程使用的上课时段
var ctModel = scroll_CourseTimeRepository.GetEntity<RB_Scroll_CourseTime_ViewModel>(courseModel.CourseTimeId);
if (!string.IsNullOrEmpty(ctModel.Content))
{
ctModel.TimeList = JsonHelper.DeserializeObject<List<CourseTimeModel>>(ctModel.Content);
}
else { return "上课时段未配置"; }
else
{
return "上课时段未配置";
}
double NextAppointMinutes = 0;
if (demodel.CourseGradeId > 0 && demodel.CourseGradeNo > 0)
......@@ -2534,7 +2546,10 @@ namespace Edu.Module.Course
demodel.AccountId = teacherRepository.GetTeacherByTId(demodel.TeacherId, demodel.Group_Id).FirstOrDefault().AccountId;
//验证当日老师的数据
var planList = scroll_PlanRepository.GetList(new RB_Scroll_Plan_ViewModel() { Group_Id = demodel.Group_Id, AccountId = demodel.AccountId, STime = Date, ETime = Date });
if (!planList.Any()) { return "老师当日未查询到可预约课,请刷新后再试"; }
if (!planList.Any())
{
return "老师当日未查询到可预约课,请刷新后再试";
}
//开始验证 此时段数据是否可以预约
var pcList = class_PlanRepository.GetClassPlanModelRepository(new RB_Class_Plan_ViewModel() { Group_Id = demodel.Group_Id, QClassDateStr = Date, TeacherId = demodel.TeacherId });
......@@ -2625,13 +2640,28 @@ namespace Edu.Module.Course
var planModel = planList.FirstOrDefault();
var timeList = planModel.CourseTimeList.Where(x => ("," + demodel.ShiftSort + ",").Contains("," + x.Sort + ",")).ToList();
if (timeList.Sum(x => x.Minutes) != NextAppointMinutes) { return "预约时长不正确"; }
if (timeList.Where(x => x.State == 2).Any()) { return "此时段不可预约,请刷新后再试"; }
if (timeList.Sum(x => x.Minutes) != NextAppointMinutes)
{
return "预约时长不正确";
}
if (timeList.Where(x => x.State == 2).Any())
{
return "此时段不可预约,请刷新后再试";
}
foreach (var item in timeList.Where(x => x.State == 3))
{
if (demodel.CourseGradeId != item.CourseGradeId) { return "预约课次等级不一致"; }
if (demodel.CourseGradeNo != item.CourseGradeNo) { return "预约课程章节不一致"; }
if (item.PeopleNum + 1 > item.MaxPeopleNum) { return "该时段已预约满,请预约其他时段"; }
if (demodel.CourseGradeId != item.CourseGradeId)
{
return "预约课次等级不一致";
}
if (demodel.CourseGradeNo != item.CourseGradeNo)
{
return "预约课程章节不一致";
}
if (item.PeopleNum + 1 > item.MaxPeopleNum)
{
return "该时段已预约满,请预约其他时段";
}
demodel.CourseId = item.CourseId;
demodel.RoomId = item.RoomId;
}
......@@ -3539,7 +3569,7 @@ namespace Edu.Module.Course
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public object GetStuLearnChapterStaticModule(StuCourseQuery demodel,out int MaxLength)
public List<object> GetStuLearnChapterStaticModule(StuCourseQuery demodel, out int MaxLength)
{
MaxLength = 0;
List<object> Rlist = new List<object>();
......@@ -3551,8 +3581,8 @@ namespace Edu.Module.Course
AssistId = demodel.TeacherAccountId,
CourseId = demodel.CourseId,
CourseRate = demodel.CourseRate,
Student_Id=demodel.Student_Id,
StuGuestState=demodel.GuestState,
Student_Id = demodel.Student_Id,
StuGuestState = demodel.GuestState,
});
if (dataList.Any())
......@@ -3575,7 +3605,11 @@ namespace Edu.Module.Course
StuId = demodel.Student_Id
});
//查询所有的 补课记录
var SkipList = scroll_SkipCourseRepository.GetList(new RB_Scroll_SkipCourse_ViewModel() { Group_Id = demodel.Group_Id });
var SkipList = scroll_SkipCourseRepository.GetList(new RB_Scroll_SkipCourse_ViewModel()
{
Group_Id = demodel.Group_Id,
StuId = demodel.Student_Id
});
string courseIds = string.Join(",", dataList.Select(qitem => qitem.CourseId).Distinct());
//获取所有课程章节信息
var totalChapterList = course_ChapterRepository.GetChapterListRepository(new RB_Course_Chapter_ViewModel()
......@@ -3604,7 +3638,7 @@ namespace Edu.Module.Course
{
x.SortNum = Convert.ToDouble(x.ChapterNo);
});
if (item.ClassScrollType == 2)
{
var achildList = AppointList.Where(x => x.GuestId == ogModel.GuestId).ToList();//当前课程的
......@@ -3675,8 +3709,8 @@ namespace Edu.Module.Course
item.CourseId,
item.CourseName,
item.ClassScrollType,
StuName= oguestModel?.GuestName??"",
TeacherName=teacherModel?.AssistName??"",
StuName = oguestModel?.GuestName ?? "",
TeacherName = teacherModel?.AssistName ?? "",
oguestModel.CourseChapterNo,
oguestModel.TotalChapterNo,
ChapterList
......
......@@ -844,29 +844,31 @@ and og.TotalChapterNo > og.CourseChapterNo and (og.CourseChapterNo + 1 + IFNULL(
/// <returns></returns>
public List<RB_Student_OrderGuest_ViewModel> GetCanAppointmentStuList_V2(string stuName, int NextChapterGradeNo, int CourseGradeId, int SchoolId, int group_Id)
{
string sql = $@"SELECT sog.Student_Id,sog.GuestId,sog.OrderId,cou.CourseName,s.StuName as GuestName,og.CourseChapterNo,sa.AppointNum,ss.MakeUpNum FROM rb_student_orderguest sog
string sql = $@"
SELECT sog.Student_Id,sog.GuestId,sog.OrderId,cou.CourseName,s.StuName as GuestName,og.CourseChapterNo,sa.AppointNum,ss.MakeUpNum
,o.CourseId
FROM rb_student_orderguest sog
INNER JOIN rb_order_guest og on sog.GuestId = og.Id
INNER JOIN rb_order o on sog.OrderId = o.OrderId
INNER JOIN rb_course cou on o.CourseId = cou.CourseId
INNER JOIN rb_student s on sog.Student_Id = s.StuId
INNER JOIN rb_class c on o.ClassId = c.ClassId
inner join rb_course_chapter cc on o.CourseId = cc.CourseId and cc.ParentId =0 and cc.ChapterGradeNo ={NextChapterGradeNo} and cc.CourseRate ={CourseGradeId}
LEFT JOIN (
SELECT sa1.StuId,COUNT(0) as AppointNum FROM rb_scroll_appointment sa1
INNER JOIN rb_student s1 on sa1.StuId = s1.StuId
WHERE sa1.`Status` =0 and sa1.State <>5 and sa1.Group_Id ={group_Id} and s1.StuName LIKE '%{stuName}%' and sa1.CourseGradeId ={CourseGradeId} and sa1.CourseGradeNo ={NextChapterGradeNo} GROUP BY sa1.StuId
SELECT sa1.StuId,COUNT(0) as AppointNum
FROM rb_scroll_appointment sa1 INNER JOIN rb_student s1 on sa1.StuId = s1.StuId
WHERE sa1.`Status` =0 and sa1.State <>5 and sa1.Group_Id ={group_Id} and s1.StuName LIKE '%{stuName}%' and sa1.CourseGradeId ={CourseGradeId} and sa1.CourseGradeNo ={NextChapterGradeNo} GROUP BY sa1.StuId
) sa on sog.Student_Id = sa.StuId
LEFT JOIN (
SELECT ss1.StuId,COUNT(0) as MakeUpNum FROM rb_scroll_skipcourse ss1
INNER JOIN rb_student s1 on ss1.StuId = s1.StuId
WHERE ss1.`Status` =0 and ss1.State =1 and ss1.Group_Id ={group_Id} and s1.StuName LIKE '%{stuName}%' and ss1.CourseGradeId ={CourseGradeId} and ss1.CourseGradeNo ={NextChapterGradeNo} GROUP BY ss1.StuId
SELECT ss1.StuId,COUNT(0) as MakeUpNum
FROM rb_scroll_skipcourse ss1 INNER JOIN rb_student s1 on ss1.StuId = s1.StuId
WHERE ss1.`Status` =0 and ss1.State =1 and ss1.Group_Id ={group_Id} and s1.StuName LIKE '%{stuName}%' and ss1.CourseGradeId ={CourseGradeId} and ss1.CourseGradeNo ={NextChapterGradeNo} GROUP BY ss1.StuId
) ss on sog.Student_Id = ss.StuId
WHERE o.Group_Id ={group_Id} and sog.`Status` =0 and og.GuestState NOT IN(2,7) and o.OrderState <>3 and c.ClassScrollType =2 and s.StuName LIKE '%{stuName}%'";
if (SchoolId >= 0)
{
sql += $@" and o.ScrollSchoolId ={SchoolId}";
}
sql += string.Format(@" AND EXISTS (SELECT 1 FROM rb_course_chapter WHERE Status=0 AND CourseId= o.CourseId AND ParentId =0 AND ChapterGradeNo ={0} AND CourseRate ={1})", NextChapterGradeNo, CourseGradeId);
return Get<RB_Student_OrderGuest_ViewModel>(sql).ToList();
}
......
......@@ -117,7 +117,7 @@ namespace Edu.WebApi.Controllers.Applet
DateTime startTime = DateTime.Now;
int NowWeek = (int)today.DayOfWeek;
DateTime endTime = DateTime.Now;
if (NowWeek > WeekStr - 1)
if (NowWeek <= WeekStr)
{
startTime = today.AddDays(0 - Convert.ToInt16(today.DayOfWeek) + 7 + 1);
endTime = today.AddDays(6 - Convert.ToInt16(today.DayOfWeek) + 7 + 1);
......
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