Commit 65e71ba0 authored by liudong1993's avatar liudong1993

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

parents 6c5d1e29 184d0b0b
...@@ -1867,7 +1867,7 @@ namespace Edu.Module.Course ...@@ -1867,7 +1867,7 @@ namespace Edu.Module.Course
/// <param name="rowsCount"></param> /// <param name="rowsCount"></param>
/// <param name="query"></param> /// <param name="query"></param>
/// <returns></returns> /// <returns></returns>
public List<RB_Class_Plan_ViewModel> GetClassPlanModelRepository(RB_Class_Plan_ViewModel query) public List<RB_Class_Plan_ViewModel> GetClassPlanEntityModule(RB_Class_Plan_ViewModel query)
{ {
return class_PlanRepository.GetClassPlanModelRepository(query); return class_PlanRepository.GetClassPlanModelRepository(query);
} }
......
...@@ -504,9 +504,6 @@ WHERE c.`Status`=0 and sog.`Status`=0 "); ...@@ -504,9 +504,6 @@ WHERE c.`Status`=0 and sog.`Status`=0 ");
} }
/// <summary> /// <summary>
/// 获取app约课 /// 获取app约课
/// </summary> /// </summary>
...@@ -531,12 +528,9 @@ where a.`Status`=0 and a.IsSubscribe=1 and ClassStatus in(1,2)"); ...@@ -531,12 +528,9 @@ where a.`Status`=0 and a.IsSubscribe=1 and ClassStatus in(1,2)");
/// <returns></returns> /// <returns></returns>
public int GetMaxClassNoPrefix(string OpenTime) public int GetMaxClassNoPrefix(string OpenTime)
{ {
string sql = $@"select Max(ClassLetterNum) as ClassLetterNum from RB_Class where Status =0 and OpenTime ='{OpenTime}'"; string sql = $@"SELECT Max(ClassLetterNum) AS ClassLetterNum FROM RB_Class WHERE Status =0 AND OpenTime ='{OpenTime}'";
var obj = ExecuteScalar(sql); var obj = ExecuteScalar(sql);
return obj == null ? 0 : Convert.ToInt32(obj); return obj == null ? 0 : Convert.ToInt32(obj);
} }
} }
} }
\ No newline at end of file
...@@ -146,6 +146,63 @@ WHERE 1=1 ...@@ -146,6 +146,63 @@ WHERE 1=1
return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList(); return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList();
} }
/// <summary>
/// 获取上课计划
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Class_Plan_ViewModel> GetClassPlanList_V2(RB_Class_Plan_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT a.*,c.Teacher_Id,c.ClassName,c.ClassType,c.ClassHourMinute,T.TeacherName ,cou.CourseName
FROM rb_class_plan as a
LEFT JOIN rb_class c on a.ClassId = c.ClassId
LEFT JOIN rb_teacher AS T ON a.TeacherId=T.TId
LEFT JOIN rb_course as cou on cou.CourseId=c.CouseId
where a.`Status`=0 and c.ClassStatus in(2,3) and c.`Status`=0");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Group_Id), query.Group_Id);
}
if (query.School_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.School_Id), query.School_Id);
}
if (query.ClassId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassId), query.ClassId);
}
if (query.ClassRoomId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassRoomId), query.ClassRoomId);
}
if (query.ClassPlanId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassPlanId), query.ClassPlanId);
}
if (query.TeacherId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.TeacherId), query.TeacherId);
}
if (!string.IsNullOrEmpty(query.Q_TeacherIds))
{
builder.AppendFormat(" AND A.{0} in({1}) ", nameof(RB_Class_Plan_ViewModel.TeacherId), query.Q_TeacherIds);
}
if (!string.IsNullOrEmpty(query.StartTime))
{
builder.AppendFormat(" AND A.{0} >='{1}' ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.StartTime);
}
if (!string.IsNullOrEmpty(query.EndTime))
{
builder.AppendFormat(" AND A.{0} <='{1} 23:59:59' ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.EndTime);
}
}
return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList();
}
/// <summary> /// <summary>
/// 获取班级上课计划 /// 获取班级上课计划
/// </summary> /// </summary>
...@@ -167,18 +224,10 @@ WHERE a.`Status`=0 "); ...@@ -167,18 +224,10 @@ WHERE a.`Status`=0 ");
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Group_Id), query.Group_Id); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Group_Id), query.Group_Id);
} }
if (query.School_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.School_Id), query.School_Id);
}
if (query.ClassId > 0) if (query.ClassId > 0)
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassId), query.ClassId); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassId), query.ClassId);
} }
if (query.Status >= 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Status), (int)query.Status);
}
if (!string.IsNullOrEmpty(query.QClassDateStr)) if (!string.IsNullOrEmpty(query.QClassDateStr))
{ {
builder.AppendFormat(@" AND DATE_FORMAT(a.ClassDate,'%Y-%m-%d')=DATE_FORMAT('{0}','%Y-%m-%d') ", query.QClassDateStr); builder.AppendFormat(@" AND DATE_FORMAT(a.ClassDate,'%Y-%m-%d')=DATE_FORMAT('{0}','%Y-%m-%d') ", query.QClassDateStr);
...@@ -237,62 +286,6 @@ WHERE ClassId={1} AND ClassDate>'{2}' ...@@ -237,62 +286,6 @@ WHERE ClassId={1} AND ClassDate>'{2}'
return base.Execute(builder.ToString()) > 0; return base.Execute(builder.ToString()) > 0;
} }
/// <summary>
/// 获取上课计划
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Class_Plan_ViewModel> GetClassPlanList_V2(RB_Class_Plan_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT a.*,c.Teacher_Id,c.ClassName,c.ClassType,c.ClassHourMinute,T.TeacherName ,cou.CourseName
FROM rb_class_plan as a
LEFT JOIN rb_class c on a.ClassId = c.ClassId
LEFT JOIN rb_teacher AS T ON a.TeacherId=T.TId
LEFT JOIN rb_course as cou on cou.CourseId=c.CouseId
where a.`Status`=0 and c.ClassStatus in(2,3) and c.`Status`=0");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Group_Id), query.Group_Id);
}
if (query.School_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.School_Id), query.School_Id);
}
if (query.ClassId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassId), query.ClassId);
}
if (query.ClassRoomId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassRoomId), query.ClassRoomId);
}
if (query.ClassPlanId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassPlanId), query.ClassPlanId);
}
if (query.TeacherId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.TeacherId), query.TeacherId);
}
if (!string.IsNullOrEmpty(query.Q_TeacherIds))
{
builder.AppendFormat(" AND A.{0} in({1}) ", nameof(RB_Class_Plan_ViewModel.TeacherId), query.Q_TeacherIds);
}
if (!string.IsNullOrEmpty(query.StartTime))
{
builder.AppendFormat(" AND A.{0} >='{1}' ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.StartTime);
}
if (!string.IsNullOrEmpty(query.EndTime))
{
builder.AppendFormat(" AND A.{0} <='{1} 23:59:59' ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.EndTime);
}
}
return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList();
}
/// <summary> /// <summary>
/// 获取班级最后一次上课日期 /// 获取班级最后一次上课日期
...@@ -312,7 +305,7 @@ WHERE 1=1 "); ...@@ -312,7 +305,7 @@ WHERE 1=1 ");
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Group_Id), query.Group_Id); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Group_Id), query.Group_Id);
} }
if (query.ClassId > 0) if (query.ClassId > 0)
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassId), query.ClassId); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassId), query.ClassId);
...@@ -326,7 +319,6 @@ WHERE 1=1 "); ...@@ -326,7 +319,6 @@ WHERE 1=1 ");
} }
/// <summary> /// <summary>
/// 获取班级上课记录 /// 获取班级上课记录
/// </summary> /// </summary>
...@@ -397,7 +389,6 @@ WHERE p.`Status`=0 AND p.Group_Id={group_Id} AND p.ClassId ={classId} ...@@ -397,7 +389,6 @@ WHERE p.`Status`=0 AND p.Group_Id={group_Id} AND p.ClassId ={classId}
} }
} }
/// <summary> /// <summary>
/// 获取班级上课计划列表 /// 获取班级上课计划列表
/// </summary> /// </summary>
...@@ -457,35 +448,9 @@ WHERE 1=1 and class.ClassStatus in(1,2) and t.`Status`=0 and a.`Status`=0 and ...@@ -457,35 +448,9 @@ WHERE 1=1 and class.ClassStatus in(1,2) and t.`Status`=0 and a.`Status`=0 and
builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%y-%m-%d')<=DATE_FORMAT('{1}','%y-%m-%d') ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.EndTime); builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%y-%m-%d')<=DATE_FORMAT('{1}','%y-%m-%d') ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.EndTime);
} }
} }
return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList();
return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList();
//// string sql = $@"
////SELECT * from (SELECT IF
//// (
//// @class = a.ClassId,
//// IF
//// ( @score = a.ClassDate, @rank := @rank, @rank := @colum + 1 ),
//// @rank := 1
//// ) AS Ranks,
////IF
//// ( @class = a.ClassId, @colum := @colum + 1, @colum := 1 ) AS colums,
//// (@class := a.ClassId) as rr,
//// ( @score := a.ClassDate) as yy ,
////A.*,class.ClassName,lp.LessonPlanNum,IFNULL(B.RoomName,'') AS RoomName,IFNULL(T.TeacherName,'') AS TeacherName,IFNULL(T.TeacherHead,'') AS UserIcon
////FROM RB_Class_Plan AS A LEFT JOIN rb_class_room AS B ON A.ClassRoomId=B.RoomId
////LEFT JOIN rb_class as class on a.ClassId=class.ClassId
//// LEFT JOIN rb_teacher AS T ON A.TeacherId=T.TId
////LEFT JOIN (SELECT ClassPlanId,COUNT(*) as LessonPlanNum from rb_class_lessonplan where `Status`=0 GROUP BY ClassPlanId)as lp on a.ClassPlanId=lp.ClassPlanId,
////( SELECT @rank := 0, @class := 0, @score := '2020-01-01', @colum := 0 ) r
////WHERE 1=1 and class.ClassStatus=2 and t.`Status`=0 and a.`Status`=0 ORDER BY a.ClassId,a.ClassDate) as a where 1=1 {builder.ToString()} ";
// string sql = $@"CALL proc_GetClassPlanRank('{builder.ToString()}')";
// return Get<RB_Class_Plan_ViewModel>(sql).ToList();
} }
/// <summary> /// <summary>
/// 获取学生上课计划列表 /// 获取学生上课计划列表
/// </summary> /// </summary>
...@@ -613,21 +578,11 @@ GROUP BY A.ClassPlanId,A.ClassId ,A.ClassDate,A.ClassRoomId,A.CompleteProgress ...@@ -613,21 +578,11 @@ GROUP BY A.ClassPlanId,A.ClassId ,A.ClassDate,A.ClassRoomId,A.CompleteProgress
/// <returns></returns> /// <returns></returns>
public double GetCurrentPlanStudyHoursRepository(int planId) public double GetCurrentPlanStudyHoursRepository(int planId)
{ {
// string sql = @"select
// (select SUM(timestampdiff(MINUTE, Concat(SUBSTRING_INDEX(d.ClassDate, ' ', 1), ' ', c.StartTime), Concat(SUBSTRING_INDEX(d.ClassDate, ' ', 1), ' ', c.EndTime))) / 45
// from rb_class_time c left
// join rb_class_plan d on c.ClassPlanId = d.ClassPlanId
// where d.ClassDate < b.ClassDate and c.ClassId = b.ClassId)
//from rb_class_plan b where b.ClassPlanId = " + planId + " and b.`Status`= 0";
string sql = "select (select Count(0) from rb_class_plan b where b.ClassId=a.ClassId and b.ClassDate<a.ClassDate) from rb_class_plan a where ClassPlanId=" + planId + " and `Status`=0"; string sql = "select (select Count(0) from rb_class_plan b where b.ClassId=a.ClassId and b.ClassDate<a.ClassDate) from rb_class_plan a where ClassPlanId=" + planId + " and `Status`=0";
object obj = ExecuteScalar(sql); object obj = ExecuteScalar(sql);
return Convert.IsDBNull(obj) ? -1 : Convert.ToDouble(obj); return Convert.IsDBNull(obj) ? -1 : Convert.ToDouble(obj);
} }
#region 老师-我的课表 #region 老师-我的课表
/// <summary> /// <summary>
...@@ -681,7 +636,7 @@ GROUP BY A.ClassPlanId,A.ClassId ,A.ClassDate,A.ClassRoomId,A.CompleteProgress ...@@ -681,7 +636,7 @@ GROUP BY A.ClassPlanId,A.ClassId ,A.ClassDate,A.ClassRoomId,A.CompleteProgress
{ {
where.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassId), query.ClassId); where.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassId), query.ClassId);
} }
if (query.OrderBy==1) if (query.OrderBy == 1)
{ {
orderby = " a.ClassDate desc ,a.NewPlanDateTime asc"; orderby = " a.ClassDate desc ,a.NewPlanDateTime asc";
} }
...@@ -711,7 +666,7 @@ INNER JOIN rb_class AS B ON A.ClassId=B.ClassId ...@@ -711,7 +666,7 @@ INNER JOIN rb_class AS B ON A.ClassId=B.ClassId
LEFT JOIN ((SELECT ClassId,COUNT(*) as TotalPlanNum from rb_class_plan where `Status`=0 GROUP BY ClassId)) as plan on plan.ClassId=a.ClassId LEFT JOIN ((SELECT ClassId,COUNT(*) as TotalPlanNum from rb_class_plan where `Status`=0 GROUP BY ClassId)) as plan on plan.ClassId=a.ClassId
WHERE 1=1 AND A.`Status`=0 {0} WHERE 1=1 AND A.`Status`=0 {0}
", where.ToString()); ", where.ToString());
if (query.ClassType == 1) if (query.ClassType == 1)
{ {
builder.AppendFormat(@"SELECT A.ClassType,A.ClassTimeId,A.Teacher_Id,A.TeacherName,A.RoomName, a.RoomNum,A.StartTime,A.EndTime,A.ClassPlanId,A.ClassId,A.ClassDate,A.ClassRoomId,A.ClassName,A.CourseName,a.TotalPlanNum, builder.AppendFormat(@"SELECT A.ClassType,A.ClassTimeId,A.Teacher_Id,A.TeacherName,A.RoomName, a.RoomNum,A.StartTime,A.EndTime,A.ClassPlanId,A.ClassId,A.ClassDate,A.ClassRoomId,A.ClassName,A.CourseName,a.TotalPlanNum,
...@@ -736,5 +691,37 @@ GROUP BY a.ClassType,A.ClassTimeId,A.ClassPlanId,A.ClassId ,A.ClassDate,A.ClassR ...@@ -736,5 +691,37 @@ GROUP BY a.ClassType,A.ClassTimeId,A.ClassPlanId,A.ClassId ,A.ClassDate,A.ClassR
return GetPage<RB_Class_Plan_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList(); return GetPage<RB_Class_Plan_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
} }
#endregion #endregion
#region 检查上课计划是否重复
/// <summary>
/// 检查上课计划是否存在时间上的交集【HK2021-07-28新增】
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Class_Plan_ViewModel> CheckClassPlanRepository(RB_Class_Plan_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.* FROM
(
SELECT A.*,B.ClassTimeId,CONCAT(DATE_FORMAT(A.ClassDate,'%Y-%m-%d'),' ',B.StartTime,':00') AS StartTime,CONCAT(DATE_FORMAT(A.ClassDate,'%Y-%m-%d'),' ',B.EndTime,':00') AS EndTime
FROM rb_class_plan AS A INNER JOIN rb_class_time AS B ON A.ClassPlanId=B.ClassPlanId
INNER JOIN rb_class AS C ON A.ClassId=C.ClassId
WHERE A.`Status`=0 AND A.ClassDate>='{0}' AND C.ClassStatus IN(1,2)
) AS A
WHERE 1=1
",Common.ConvertHelper.FormatDate(DateTime.Now));
if (query.ClassId > 0)
{
builder.AppendFormat(" AND A.{0}<>{1} ", nameof(RB_Class_Plan_ViewModel.ClassId), query.ClassId);
}
if (!string.IsNullOrEmpty(query.StartTime) && !string.IsNullOrEmpty(query.EndTime))
{
builder.AppendFormat("AND (NOT (A.StartTime > '{0}' OR A.EndTime < '{1}') ) ",query.EndTime,query.StartTime);
}
return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList();
}
#endregion
} }
} }
\ No newline at end of file
...@@ -1014,7 +1014,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -1014,7 +1014,7 @@ namespace Edu.WebApi.Controllers.Course
} }
//判断今天有课没有 //判断今天有课没有
var planList = classModule.GetClassPlanModelRepository(new RB_Class_Plan_ViewModel var planList = classModule.GetClassPlanEntityModule(new RB_Class_Plan_ViewModel
{ {
Group_Id = base.UserInfo.Group_Id, Group_Id = base.UserInfo.Group_Id,
ClassId = list.FirstOrDefault().ClassId, ClassId = list.FirstOrDefault().ClassId,
...@@ -1111,7 +1111,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -1111,7 +1111,7 @@ namespace Edu.WebApi.Controllers.Course
var orderGuestList = classModule.GetOrderGuestListModule(new RB_Order_Guest_ViewModel { Group_Id = base.UserInfo.Group_Id, ClassId = exModel.ClassId }); var orderGuestList = classModule.GetOrderGuestListModule(new RB_Order_Guest_ViewModel { Group_Id = base.UserInfo.Group_Id, ClassId = exModel.ClassId });
//判断今天有课没有 //判断今天有课没有
var planList = classModule.GetClassPlanModelRepository(new RB_Class_Plan_ViewModel var planList = classModule.GetClassPlanEntityModule(new RB_Class_Plan_ViewModel
{ {
Group_Id = base.UserInfo.Group_Id, Group_Id = base.UserInfo.Group_Id,
ClassId = exModel.ClassId, ClassId = exModel.ClassId,
......
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