stringsql=$@"SELECT f.*,f1.Remark,f1.CreateTime FROM
(SELECT StuId,AssistType,DATE_FORMAT(CreateTime,'%Y-%m') as MonthStr,MAX(Id) AS Id FROM rb_student_follow WHERE Group_Id ={group_Id} and `Status` =0 and StuId in ({stuIds}) and AssistType in(2,4)
GROUP BY StuId,AssistType,DATE_FORMAT(CreateTime,'%Y-%m')
stringsql=$@"SELECT s.StuId,DATE_FORMAT(o.CreateTime,'%Y-%m') AS MonthStr FROM rb_student s
INNER JOIN rb_student_orderguest sog on s.StuId = sog.Student_Id
INNER JOIN rb_order o on sog.OrderId = o.OrderId
INNER JOIN rb_order_guest og on og.Id = sog.GuestId
where s.Group_Id ={group_Id} and s.`Status` =0 and sog.`Status` =0 and o.OrderState <>3 and (o.RenewOrderId >0 or og.RenewState =2) and s.StuId in({stuIds})
GROUP BY s.StuId,DATE_FORMAT(o.CreateTime,'%Y-%m')
where+=$" AND (s.{nameof(RB_Student_ViewModel.CreateBy)} IN({createIds}) OR s.StuId IN (SELECT StuId FROM rb_student_assist WHERE AssistId IN({createIds}) AND `Status`=0)) ";
}
}
else
{
where+=$" AND s.{nameof(RB_Student_ViewModel.CreateBy)} ={demodel.CreateBy} ";
}
}
}
else
{
if(demodel.CreateBy>0)
{
where+=$" AND s.{nameof(RB_Student_ViewModel.CreateBy)} ={demodel.CreateBy} ";
}
}
stringsql=$@"SELECT s.StuId,s.StuName,s.StuTel,s.StuRealMobile,s.QQ,DATE_FORMAT(ec.CreateTime,'%Y-%m-%d') as followUpTime,c.CourseId,c.CourseName,s.JapanBaseInfo,s.StuBirth,org.GuestState as StuGuestState
FROM rb_student s
INNER JOIN rb_student_orderguest og on og.Student_Id = s.StuId
INNER JOIN (SELECT og.Student_Id,MAX(og.Id) as Id FROM rb_student_orderguest og
INNER JOIN rb_order o on og.OrderId = o.OrderId
WHERE o.OrderState <>3 GROUP BY og.Student_Id) stu on og.Id = stu.Id and og.Student_Id = s.StuId
INNER JOIN rb_order_guest org on org.Id = og.GuestId
INNER JOIN rb_order o on og.OrderId = o.OrderId
INNER JOIN rb_course c on o.CourseId = c.CourseId
LEFT JOIN rb_education_contract ec on ec.GuestId = og.GuestId";
sql+=$@"LEFT JOIN rb_student_follow f on s.StuId = f.StuId and f.`Status` =0 and f.CreateTime >='{demodel.SFTime}' and f.CreateTime <='{demodel.EFTime} 23:59:59'";
select count(0) as OrderCount,sum(case when t.RenewState = 1 then 1 else 0 end) AS RenewOrderCount,
SUM(CASE WHEN t.StuGuestState =1 THEN 1 ELSE 0 END) AS StudyNum,
SUM(CASE WHEN t.StuGuestState =2 THEN 1 ELSE 0 END) AS DropOutNum,
SUM(CASE WHEN t.StuGuestState =5 THEN 1 ELSE 0 END) AS SuspendNum,
SUM(CASE WHEN t.StuGuestState =7 THEN 1 ELSE 0 END) AS GraduateNum
from(
SELECT s.StuId,s.StuName,s.StuTel,s.StuRealMobile,s.QQ,ec.CreateTime,c.CourseId,c.CourseName,s.JapanBaseInfo,s.StuBirth,org.GuestState as StuGuestState,
case when o.RenewOrderId >0 or org.RenewState =2 then 1 else 0 end AS RenewState
FROM rb_student s
{(demodel.IsQueryMyStu==1?"INNER JOIN rb_student_assist sa on s.StuId = sa.StuId and sa.`Status` =0 and sa.AssistId ="+demodel.CreateBy:"")}
INNER JOIN rb_student_orderguest og on og.Student_Id = s.StuId
INNER JOIN (SELECT og.Student_Id,MAX(og.Id) as Id FROM rb_student_orderguest og
INNER JOIN rb_order o on og.OrderId = o.OrderId
WHERE o.OrderState <>3 GROUP BY og.Student_Id) stu on og.Id = stu.Id and og.Student_Id = s.StuId
INNER JOIN rb_order_guest org on org.Id = og.GuestId
INNER JOIN rb_order o on og.OrderId = o.OrderId
INNER JOIN rb_course c on o.CourseId = c.CourseId
LEFT JOIN rb_education_contract ec on ec.GuestId = og.GuestId";
sql+=$@"LEFT JOIN rb_student_follow f on s.StuId = f.StuId and f.`Status` =0 and f.CreateTime >='{demodel.SFTime}' and f.CreateTime <='{demodel.EFTime} 23:59:59'";
where+=$" AND (s.{nameof(RB_Student_ViewModel.CreateBy)} IN({createIds}) OR s.StuId IN (SELECT StuId FROM rb_student_assist WHERE AssistId IN({createIds}) AND `Status`=0)) ";
}
}
else
{
where+=$" AND s.{nameof(RB_Student_ViewModel.CreateBy)} ={demodel.CreateBy} ";
}
}
}
else
{
if(demodel.CreateBy>0)
{
where+=$" AND s.{nameof(RB_Student_ViewModel.CreateBy)} ={demodel.CreateBy} ";
}
}
stringsql=$@"SELECT s.*,case when o.OrderId is null then 2 else 1 end as Q_EnrollState,og.GuestState,c.CourseId,c.CourseName,ch.Name as StuChannelName
FROM rb_student s
LEFT JOIN (
SELECT sog.Student_Id,MAX(og.Id) AS GuestId FROM rb_student_orderguest sog
INNER JOIN rb_order o on sog.OrderId = o.OrderId
INNER JOIN rb_order_guest og on sog.GuestId = og.Id
WHERE o.Group_Id =100000 and sog.`Status` =0 and o.OrderState <>3 and og.`Status` =0 GROUP BY sog.Student_Id