SELECT A.*,IFNULL(B.JoinType,0) AS JoinType,IFNULL(B.TargetJoinType,0) AS TargetJoinType,IFNULL(B.StartClassHours,0) AS StartClassHours,IFNULL(C.CourseName,'') AS CourseName
,sc.StopClassEffectTime,B.SourceOrderId,B.TargetOrderId,stu.StuTel,stu.StuRealMobile,IFNULL(B.CreateBy,0) AS OrderCreateBy,IFNULL(stu.StuId,0) AS StudentId
FROM RB_Order_Guest AS A LEFT JOIN rb_order AS B ON A.OrderId=B.OrderId
FROM RB_Order_Guest AS A LEFT JOIN rb_order AS B ON A.OrderId=B.OrderId AND B.OrderState IN(1,2)
LEFT JOIN rb_class as class on class.ClassId=a.ClassId
LEFT JOIN rb_student_orderguest as sog on sog.GuestId=a.Id
LEFT JOIN rb_student AS stu ON sog.Student_Id=stu.StuId
...
...
@@ -367,7 +367,6 @@ WHERE 1=1 and A.Status=0 and class.Status=0 and b.OrderState<>3
}
if(demodel.Teacher_Id>0||demodel.HelpEnterId>0)
{
//builder.AppendFormat($@" and (class.Teacher_Id ={demodel.Teacher_Id} OR o.HelpEnterId ={demodel.HelpEnterId} )");
builder.AppendFormat($@" and (class.Teacher_Id ={demodel.Teacher_Id} OR stu.StuId IN(SELECT StuId FROM rb_student_assist WHERE `Status`=0 AND AssistId={demodel.HelpEnterId}) ) ");
}
if(!string.IsNullOrEmpty(demodel.GuestName))
...
...
@@ -399,6 +398,71 @@ WHERE 1=1 and A.Status=0 and class.Status=0 and b.OrderState<>3
FROM RB_Order_Guest AS A LEFT JOIN rb_order AS B ON A.OrderId=B.OrderId AND B.OrderState IN(1,2)
LEFT JOIN rb_class as class on class.ClassId=a.ClassId
LEFT JOIN rb_student_orderguest as sog on sog.GuestId=a.Id
LEFT JOIN rb_student AS stu ON sog.Student_Id=stu.StuId
LEFT JOIN rb_course AS C ON (B.CourseId=C.CourseId AND B.CourseId>0 AND B.OrderType=1)
LEFT JOIN (SELECT ClassId,COUNT(*) TotalPlanNum from rb_class_plan where `Status`=0 GROUP BY ClassId) as plan on plan.ClassId=class.ClassId
LEFT JOIN (SELECT ClassId,COUNT(*) Ranks from rb_class_plan where `Status`=0 and DATE_FORMAT(ClassDate,'%Y-%m-%d') <=DATE_FORMAT(NOW(),'%Y-%m-%d') GROUP BY ClassId) as planr on planr.ClassId=class.ClassId
LEFT JOIN (SELECT OrderGuestId,MAX(TakeEffectTime) as StopClassEffectTime from rb_student_stopclass where IsAuditThrough=1 GROUP BY OrderGuestId) as sc on sc.OrderGuestId=a.Id
WHERE 1=1 and A.Status=0 and class.Status=0 and b.OrderState<>3
");
if(demodel.Group_Id>0)
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.Group_Id)} ={demodel.Group_Id}");
}
if(demodel.School_Id>0)
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.School_Id)} ={demodel.School_Id}");
}
if(demodel.OrderId>0)
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.OrderId)} ={demodel.OrderId}");
}
if(demodel.Teacher_Id>0||demodel.HelpEnterId>0)
{
builder.AppendFormat($@" and (class.Teacher_Id ={demodel.Teacher_Id} OR stu.StuId IN(SELECT StuId FROM rb_student_assist WHERE `Status`=0 AND AssistId={demodel.HelpEnterId}) ) ");
}
if(!string.IsNullOrEmpty(demodel.GuestName))
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.GuestName)} like '%{demodel.GuestName}%'");
}
if(demodel.ClassId>0)
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.ClassId)} ={demodel.ClassId}");
}
if(demodel.CourseId>0)
{
builder.AppendFormat($@" AND B.{nameof(RB_Order_Guest_ViewModel.CourseId)} ={demodel.CourseId}");
}
if(demodel.EnterID>0)
{
builder.AppendFormat($@" AND B.{nameof(RB_Order_Guest_ViewModel.EnterID)} ={demodel.EnterID}");
}
if(demodel.SourceId>0)
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.SourceId)} ={demodel.SourceId}");
}
if(demodel.GuestState>0)
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.GuestState)} ={(int)demodel.GuestState}");
stringsql=$@"SELECT g.Mobile FROM rb_order_guest g
LEFT JOIN rb_order o on g.OrderId = o.OrderId
WHERE g.`Status` =0 and g.Group_Id ={groupId} and o.OrderState <>3 and o.OrderType =1 and o.CustomerId ={customerId} and g.Mobile in ({("'"+string.Join("','",mobileList)+"'")}) ";
SELECT CONCAT(DATE_FORMAT(A.Date, '%Y-%m'),'-01') AS Date,A.YearStr,SUM(StudentCount) AS StudentCount,SUM(AttendClassHour) AS AttendClassHour,SUM(AttendClassHourScore) AS AttendClassHourScore
,SUM(OnLineInteractive) AS OnLineInteractive,SUM(OnLineInteractiveScore) AS OnLineInteractiveScore,SUM(Renew) AS Renew,SUM(RenewScore) AS RenewScore,SUM(`Upgrade`) AS `Upgrade`
,SUM(UpgradeScore) AS UpgradeScore,SUM(Trans) AS Trans,SUM(TransScore) AS TransScore,SUM(TrialSpeak) AS TrialSpeak,SUM(TrialSpeakScore) AS TrialSpeakScore,SUM(Truancy) AS Truancy
,SUM(TruancyScore) AS TruancyScore,SUM(Withdraws) AS Withdraws,SUM(WithdrawsScore) AS WithdrawsScore,SUM(Complaint) AS Complaint,SUM(ComplaintScore) AS ComplaintScore
,SUM(TeacherBeLate) AS TeacherBeLate,SUM(TeacherBeLateScore) AS TeacherBeLateScore,SUM(N5ClassHours) AS N5ClassHours,SUM(N5ClassHoursScore) AS N5ClassHoursScore,SUM(N4ClassHours) AS N4ClassHours
,SUM(N4ClassHoursScore) AS N4ClassHoursScore,SUM(N3ClassHours) AS N3ClassHours,SUM(N3ClassHoursScore) AS N3ClassHoursScore,SUM(N2ClassHours) AS N2ClassHours,SUM(N2ClassHoursScore) AS N2ClassHoursScore
,SUM(N1ClassHours) AS N1ClassHours,SUM(N1ClassHoursScore) AS N1ClassHoursScore,SUM(MiniAppPractise) AS MiniAppPractise,SUM(MiniAppPractiseScore) AS MiniAppPractiseScore,SUM(MiniAppTime) AS MiniAppTime
,SUM(MiniAppTimeScore) AS MiniAppTimeScore,SUM(TotalScore) AS TotalScore,SUM(AvgScore) AS AvgScore,SUM(ScoreGap) AS ScoreGap
FROM RB_Teacher_Static AS A
WHERE 1=1 AND A.Date<>'0001-01-01 00:00:00'
");
if(query!=null)
{
if(query.Group_Id>0)
{
builder.AppendFormat(" AND A.{0}={1} ",nameof(RB_Teacher_Static_Extend.Group_Id),query.Group_Id);
}
if(query.YearStr>0)
{
if(isYear)
{
builder.AppendFormat(" AND A.{0}<={1} ",nameof(RB_Teacher_Static_Extend.YearStr),query.YearStr);
}
else
{
builder.AppendFormat(" AND A.{0}={1} ",nameof(RB_Teacher_Static_Extend.YearStr),query.YearStr);
}
}
}
builder.AppendFormat(" GROUP BY DATE_FORMAT(A.Date, '%Y-%m') ");
builder.AppendFormat(" ORDER BY DATE_FORMAT(A.Date, '%Y-%m') ASC ");
SELECT CONCAT(A.YearStr,'-01','-01') AS Date,A.YearStr,SUM(StudentCount) AS StudentCount,SUM(AttendClassHour) AS AttendClassHour,SUM(AttendClassHourScore) AS AttendClassHourScore
,SUM(OnLineInteractive) AS OnLineInteractive,SUM(OnLineInteractiveScore) AS OnLineInteractiveScore,SUM(Renew) AS Renew,SUM(RenewScore) AS RenewScore,SUM(`Upgrade`) AS `Upgrade`
,SUM(UpgradeScore) AS UpgradeScore,SUM(Trans) AS Trans,SUM(TransScore) AS TransScore,SUM(TrialSpeak) AS TrialSpeak,SUM(TrialSpeakScore) AS TrialSpeakScore,SUM(Truancy) AS Truancy
,SUM(TruancyScore) AS TruancyScore,SUM(Withdraws) AS Withdraws,SUM(WithdrawsScore) AS WithdrawsScore,SUM(Complaint) AS Complaint,SUM(ComplaintScore) AS ComplaintScore
,SUM(TeacherBeLate) AS TeacherBeLate,SUM(TeacherBeLateScore) AS TeacherBeLateScore,SUM(N5ClassHours) AS N5ClassHours,SUM(N5ClassHoursScore) AS N5ClassHoursScore,SUM(N4ClassHours) AS N4ClassHours
,SUM(N4ClassHoursScore) AS N4ClassHoursScore,SUM(N3ClassHours) AS N3ClassHours,SUM(N3ClassHoursScore) AS N3ClassHoursScore,SUM(N2ClassHours) AS N2ClassHours,SUM(N2ClassHoursScore) AS N2ClassHoursScore
,SUM(N1ClassHours) AS N1ClassHours,SUM(N1ClassHoursScore) AS N1ClassHoursScore,SUM(MiniAppPractise) AS MiniAppPractise,SUM(MiniAppPractiseScore) AS MiniAppPractiseScore,SUM(MiniAppTime) AS MiniAppTime
,SUM(MiniAppTimeScore) AS MiniAppTimeScore,SUM(TotalScore) AS TotalScore,SUM(AvgScore) AS AvgScore,SUM(ScoreGap) AS ScoreGap
FROM RB_Teacher_Static AS A
WHERE 1=1 AND A.Date<>'0001-01-01 00:00:00'
");
if(query!=null)
{
if(query.Group_Id>0)
{
builder.AppendFormat(" AND A.{0}={1} ",nameof(RB_Teacher_Static_Extend.Group_Id),query.Group_Id);
}
if(query.YearStr>0)
{
builder.AppendFormat(" AND A.{0}<={1} ",nameof(RB_Teacher_Static_Extend.YearStr),query.YearStr);