builder.AppendFormat($@"SELECT t.TeacherName,croom.RoomName,t.TeacherIcon,c.ClassHours,c.ClassName,cou.CourseName,lp.LessonPlanId,A.ClassPlanId,A.ClassId,A.`Status`,A.ClassRoomId,A.Group_Id,A.School_Id,A.TeacherId,B.ClassTimeId,CONCAT( DATE_FORMAT(A.ClassDate,'%Y-%m-%d') ,' ',B.StartTime,':00') AS NewPlanDateTime,
B.EndTime,B.StartTime,B.SuiPai,B.ClassStatus,CONCAT( DATE_FORMAT(A.ClassDate,'%Y-%m-%d') ,' ',B.EndTime,':00') AS NewEndPlanDateTime
FROM rb_class_plan AS A INNER JOIN rb_class_time AS B ON A.ClassPlanId=B.ClassPlanId
LEFT JOIN rb_teacher as t on a.TeacherId=t.TId
LEFT JOIN rb_class as c on c.ClassId=a.ClassId
LEFT JOIN rb_course as cou on cou.CourseId=c.CouseId
LEFT JOIN rb_class_room as croom on croom.RoomId=a.ClassRoomId
LEFT JOIN (SELECT ClassPlanId,MAX(LessonPlanId) as LessonPlanId from rb_class_lessonplan where `Status`=0 GROUP BY ClassPlanId) as lp on lp.ClassPlanId=a.ClassPlanId
where a.`Status`=0 and c.ClassStatus =2 and a.TeacherId={TId} and a.Group_Id={Group_Id} and DATE_FORMAT(A.ClassDate,'%Y-%m-%d')>=DATE_FORMAT(NOW(),'%Y-%m-%d') ORDER BY CONCAT( DATE_FORMAT(A.ClassDate,'%Y-%m-%d') ,' ',B.EndTime,':00') asc LIMIT 10");
joinTable=string.Format(" INNER JOIN (SELECT PlanId,DutyMan FROM rb_duty_plandetails WHERE 1=1 AND DutyMan IN({0})) AS C ON A.Id=C.PlanId ",query.QDutyMan);
stringjoinWhere="";
if(!string.IsNullOrEmpty(query.QDutyMan))
{
joinWhere+=string.Format(" AND DutyMan IN({0}) ",query.QDutyMan);
}
if(query.QDutyStatus>-1)
{
joinWhere+=string.Format(" AND Status={0} ",query.QDutyStatus);
}
//迟到
if(query.QAttendanceStatus==1)
{
joinWhere+=string.Format(" AND CheckLateTime>0 ");
}
//早退
if(query.QAttendanceStatus==2)
{
joinWhere+=string.Format(" AND FinishLateTime>0 ");
}
//缺勤
if(query.QAttendanceStatus==3)
{
joinWhere+=string.Format(" AND Status=0 AND FinishLateTime=0 AND CheckLateTime=0 ");
}
//正常
if(query.QAttendanceStatus==4)
{
joinWhere+=string.Format(" AND Status=2 AND FinishLateTime=0 AND CheckLateTime=0 ");
}
joinTable=string.Format(" INNER JOIN (SELECT PlanId FROM rb_duty_plandetails WHERE 1=1 {0} GROUP BY PlanId ) AS C ON A.Id=C.PlanId ",joinWhere);
}
StringBuilderbuilder=newStringBuilder();
...
...
@@ -125,6 +155,10 @@ WHERE 1=1 AND A.`Status`=0
{
builder.AppendFormat(@" AND B.{0}={1} ",nameof(RB_Duty_PlanDetails_ViewModel.DutyMan),query.QDutyMan);
}
if(query.QShift>0)
{
builder.AppendFormat(@" AND B.{0}={1} ",nameof(RB_Duty_PlanDetails_ViewModel.Shift),query.QShift);
}
if(query.Id>0)
{
builder.AppendFormat(@" AND A.{0}={1} ",nameof(RB_Duty_Plan_ViewModel.Id),query.Id);