SELECT A.*,IFNULL(B.CateName,'') AS CateName,IFNULL(C.SubjectName,'') AS CourseSubjectName
FROM RB_Course AS A LEFT JOIN rb_course_category AS B ON A.CateId=B.CateId
LEFT JOIN rb_course_subject AS C ON A.CourseSubject=C.Id
builder.AppendFormat($@"
SELECT A.*,IFNULL(B.CateName,'') AS CateName,IFNULL(C.SubjectName,'') AS CourseSubjectName, t.OrderNum, t.GuestNum
FROM RB_Course AS A
LEFT JOIN rb_course_category AS B ON A.CateId=B.CateId
LEFT JOIN rb_course_subject AS C ON A.CourseSubject=C.Id
LEFT JOIN (
SELECT o.CourseId,COUNT(0) AS OrderNum, SUM(o.GuestNum) AS GuestNum FROM rb_order o WHERE o.Group_Id ={query.Group_Id} AND o.OrderState <>3 GROUP BY o.CourseId
) t on t.CourseId = A.CourseId
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1} ",nameof(RB_Course_ViewModel.Group_Id),query.Group_Id);
...
...
@@ -158,6 +162,24 @@ WHERE 1=1
{
builder.AppendFormat(" AND A.{0} IN({1}) ",nameof(RB_Course_ViewModel.CourseSubject),(int)query.CourseSubject);
,MIN(A.StartTime) AS StartTime,MAX(A.EndTime) AS EndTime,
(SELECT COUNT(*) from rb_class_plan p inner join rb_scroll_appointment s on p.ClassPlanId = s.ClassPlanId where p.`Status`=0 and p.PlanType =2 and s.StuId ={2} and DATE_FORMAT(p.ClassDate,'%Y-%m-%d') <=DATE_FORMAT(a.ClassDate,'%Y-%m-%d') and p.CourseId=a.CourseId) as Ranks
FROM
(
SELECT A.ClassPlanId,sa.StuId, A.CourseId,A.ClassDate,A.ClassRoomId,C.CourseName,IFNULL(D.TeacherName,'') AS TeacherName
,IFNULL(D.TeacherHead,'') AS UserIcon,E.RoomName,F.StartTime,F.EndTime
FROM rb_class_plan AS A
INNER JOIN rb_scroll_appointment sa on A.ClassPlanId = sa.ClassPlanId and sa.StuId ={2}
LEFT JOIN rb_course AS C ON A.CourseId=C.CourseId
LEFT JOIN rb_teacher AS D ON A.TeacherId=D.TId
LEFT JOIN rb_class_room AS E ON A.ClassRoomId=E.RoomId
LEFT JOIN rb_class_time F on A.ClassPlanId = F.ClassPlanId
WHERE 1=1 AND A.`Status`=0 {0}
) AS A
GROUP BY A.ClassPlanId,A.StuId,A.CourseId ,A.ClassDate,A.ClassRoomId
SELECT r.*,c.AccountId as TeacherId,t.TeacherName,t.TeacherHead,s.StuName,cou.CourseName,cou.ScrollMinNum,cou.ScrollMaxNum,cou.CourseTimeId From RB_Scroll_Appointment r
SELECT r.*,c.AccountId as TeacherId,t.TeacherName,t.TeacherHead,s.StuName,cou.CourseName,cou.ScrollMinNum,cou.ScrollMaxNum,cou.CourseTimeId,cr.RoomName,sc.SName as RoomSchoolName From RB_Scroll_Appointment r
inner join rb_account c on r.AccountId = c.Id
inner join rb_teacher t on c.AccountId = t.TId
inner join rb_student s on r.StuId = s.StuId
inner join rb_course cou on r.CourseId = cou.CourseId
inner join rb_class_room cr on r.RoomId = cr.RoomId
stringwhere=$@" 1=1 and r.{nameof(RB_Scroll_Appointment_ViewModel.Status)} =0 and r.{nameof(RB_Scroll_Appointment_ViewModel.State)} <>5";
if(demodel.Group_Id>0)
{
where+=$@" and r.{nameof(RB_Scroll_Appointment_ViewModel.Group_Id)} ={demodel.Group_Id}";
}
if(demodel.State>0)
{
where+=$@" and r.{nameof(RB_Scroll_Appointment_ViewModel.State)} ={(int)demodel.State}";
}
if(demodel.AccountId>0)
{
where+=$@" and r.{nameof(RB_Scroll_Appointment_ViewModel.AccountId)} ={demodel.AccountId}";
}
if(demodel.TeacherId>0)
{
where+=$@" and c.AccountId ={demodel.TeacherId}";
}
if(demodel.StuId>0)
{
where+=$@" and r.{nameof(RB_Scroll_Appointment_ViewModel.StuId)} ={demodel.StuId}";
}
if(demodel.CourseId>0)
{
where+=$@" and r.{nameof(RB_Scroll_Appointment_ViewModel.CourseId)} ={demodel.CourseId}";
}
if(!string.IsNullOrEmpty(demodel.StartTime))
{
where+=$@" and r.{nameof(RB_Scroll_Appointment_ViewModel.Date)} >='{demodel.StartTime}'";
}
if(!string.IsNullOrEmpty(demodel.EntTime))
{
where+=$@" and r.{nameof(RB_Scroll_Appointment_ViewModel.Date)} <='{demodel.EntTime} 23:59:59'";
}
stringsql=$@"
SELECT r.*,c.AccountId as TeacherId,c.WorkUserId,t.TeacherName,t.TeacherHead,s.StuName,sc.OpenId as StuOpenId,cou.CourseName,cou.ScrollMinNum,cou.ScrollMaxNum,cou.CourseTimeId,cr.RoomName,sc.SName as RoomSchoolName
From RB_Scroll_Appointment r
inner join rb_account c on r.AccountId = c.Id
inner join rb_teacher t on c.AccountId = t.TId
inner join rb_student s on r.StuId = s.StuId
inner join rb_account sc on sc.AccountId = s.StuId and sc.AccountType =4
inner join rb_course cou on r.CourseId = cou.CourseId
inner join rb_class_room cr on r.RoomId = cr.RoomId
@@ -347,7 +347,11 @@ where b.`Status`=0 and b.ClassStatus in(1,2) and a.status=0 and a.Account_Id={
varparameters=newDynamicParameters();
StringBuilderbuilder=newStringBuilder();
builder.AppendFormat($@"
SELECT s.*,sog.GuestId,o.OrderState,cou.CourseName,cou.CourseId,cou.B2BIcon,cou.B2BBackground,c.ClassName,c.ClassId,c.ClassStatus,sch.SName,sch.SId,t.TeacherName,o.EnterID,og.TotalHours,og.CompleteHours, if((og.ValidClassHours-og.CompleteHours)<0,0,(og.ValidClassHours-og.CompleteHours)) as SurplusHours
case when og.TotalHours <= og.CompleteHours then 3 else
case when og.CompleteHours = 0 then 1 else
case when og.TotalHours > og.CompleteHours then 2 else 0 end end end as ClassStatus,
sch.SName,sch.SId,t.TeacherName,o.EnterID,og.TotalHours,og.CompleteHours, if((og.ValidClassHours-og.CompleteHours)<0,0,(og.ValidClassHours-og.CompleteHours)) as SurplusHours
FROM rb_student as s LEFT JOIN rb_student_orderguest as sog on s.StuId=sog.Student_Id
LEFT JOIN rb_order_guest as og on og.Id=sog.GuestId
SELECT A.*,IFNULL(B.ClassName,'') AS ClassName,IFNULL(B.ClassNo,'') AS ClassNo,IFNULL(C.JoinType,0) AS StuJoinType,IFNULL(D.GuestState,0) AS StuGuestState
,C.OrderState,IFNULL(D.TotalHours,0) AS TotalHours,IFNULL(D.CompleteHours,0) AS CompleteHours,IFNULL(B.ClassStatus,0) AS ClassStatus,IFNULL(D.RenewState,0) AS RenewState
,IFNULL(D.GuestName,'') AS GuestName,IFNULL(E.CourseName,'') AS CourseName,IFNULL(C.OrderType,0) AS OrderType,IFNULL(C.SourceId,0) AS SourceId
,IFNULL(D.GuestName,'') AS GuestName,IFNULL(E.CourseName,'') AS CourseName,IFNULL(C.OrderType,0) AS OrderType,IFNULL(C.SourceId,0) AS SourceId,B.ClassScrollType
FROM RB_Student_OrderGuest AS A INNER JOIN rb_order AS C ON A.OrderId=C.OrderId
INNER JOIN rb_order_guest AS D ON A.GuestId=D.Id
LEFT JOIN rb_course AS E ON c.CourseId=E.CourseId
...
...
@@ -214,12 +214,16 @@ where og.Status =0 and ec.Group_Id ={group_Id} and ec.Status <>4 and o.OrderStat
stringsql=$@"SELECT og.*,o.CourseId,c.ClassStatus,c.ClassName FROM rb_student_orderguest og
stringsql=$@"SELECT og.*,o.CourseId,
case when g.TotalHours <= g.CompleteHours then 3 else
case when g.CompleteHours =0 then 1 else
case when g.TotalHours > g.CompleteHours then 2 else 0 end end end as ClassStatus,c.ClassName,c.ClassScrollType
FROM rb_student_orderguest og
INNER JOIN rb_order_guest g on og.GuestId = g.Id
INNER JOIN rb_order o on og.OrderId = o.OrderId
INNER JOIN rb_class c on o.ClassId = c.ClassId
WHERE og.Status =0 and g.`Status` =0 and o.Group_Id ={group_Id} and o.OrderState <>3 and o.OrderType =1 and og.Student_Id ={accountId} and {(Type==1?"c.ClassStatus =2":"c.ClassStatus <>2")}
ORDER BY {(Type==1?"c.OpenTime asc":"c.OpenTime desc")} LIMIT 1";
WHERE og.Status =0 and g.`Status` =0 and o.Group_Id ={group_Id} and o.OrderState <>3 and o.OrderType =1 and og.Student_Id ={accountId} and {(Type==1?"g.TotalHours > g.CompleteHours":"g.TotalHours <= g.CompleteHours")}
ORDER BY {(Type==1?"og.Id asc":"og.Id desc")} LIMIT 1";
WHERE og.Status =0 and g.`Status` =0 and o.Group_Id ={group_Id} and o.OrderState <>3 and o.OrderType =1 and g.GuestState =1 and og.Student_Id ={accountId}
INNER JOIN rb_class c on o.ClassId = c.ClassId
WHERE og.Status =0 and g.`Status` =0 and o.Group_Id ={group_Id} and o.OrderState <>3 and o.OrderType =1 and g.TotalHours > g.CompleteHours and og.Student_Id ={accountId}