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'";
sql+=$@" LEFT JOIN rb_student_follow f on s.StuId = f.StuId and f.`Status` =0 and f.AssistType in(2,4) 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=$@"
stringsql=$@"
select count(0) as OrderCount,sum(case when t.RenewState = 1 then 1 else 0 end) AS RenewOrderCount,
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 in(1,3,4,6,8,9) 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 =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 =5 THEN 1 ELSE 0 END) AS SuspendNum,
SUM(CASE WHEN t.StuGuestState =7 THEN 1 ELSE 0 END) AS GraduateNum
SUM(CASE WHEN t.StuGuestState =7 THEN 1 ELSE 0 END) AS GraduateNum
...
@@ -413,22 +487,22 @@ SUM(CASE WHEN t.StuGuestState =7 THEN 1 ELSE 0 END) AS GraduateNum
...
@@ -413,22 +487,22 @@ SUM(CASE WHEN t.StuGuestState =7 THEN 1 ELSE 0 END) AS GraduateNum
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,
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
case when o.RenewOrderId >0 or org.RenewState =2 then 1 else 0 end AS RenewState
FROM rb_student s
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 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 (SELECT og.Student_Id,MAX(og.Id) as Id FROM rb_student_orderguest og
INNER JOIN rb_order o on og.OrderId = o.OrderId
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
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_guest org on org.Id = og.GuestId
INNER JOIN rb_order o on og.OrderId = o.OrderId
INNER JOIN rb_order o on og.OrderId = o.OrderId
inner join rb_class cl on cl.ClassId = o.ClassId
INNER JOIN rb_course c on o.CourseId = c.CourseId
INNER JOIN rb_course c on o.CourseId = c.CourseId
LEFT JOIN rb_education_contract ec on ec.GuestId = og.GuestId";
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'";
sql+=$@" LEFT JOIN rb_student_follow f on s.StuId = f.StuId and f.`Status` =0 and f.AssistType in(2,4) and f.CreateTime >='{demodel.SFTime}' and f.CreateTime <='{demodel.EFTime} 23:59:59'";
@@ -478,17 +552,25 @@ LEFT JOIN rb_education_contract ec on ec.GuestId = og.GuestId";
...
@@ -478,17 +552,25 @@ LEFT JOIN rb_education_contract ec on ec.GuestId = og.GuestId";
}
}
if(demodel.StuGuestState>0)
if(demodel.StuGuestState>0)
{
{
where+=$" and org.GuestState ={(int)demodel.StuGuestState}";
where+=$" and og.GuestState ={(int)demodel.StuGuestState}";
}
}
if(demodel.Q_EnrollState>0){
if(demodel.Q_EnrollState>0){
if(demodel.Q_EnrollState==1)
if(demodel.Q_EnrollState==1)
{
{
where+=$" and o.OrderId is not null";
where+=$" and o.OrderId is not null and c.CourseId <>1";//排除内部班
}
}
else{
else{
where+=$" and o.OrderId is null";
where+=$" and o.OrderId is null";
}
}
}
}
if(demodel.StuStage>0)
{
where+=$" and s.{nameof(RB_Student_ViewModel.StuStage)} ={demodel.StuStage}";
}
if(demodel.ConsultantId>0)
{
where+=$@" AND s.StuId IN (SELECT StuId FROM rb_student_assist WHERE AssistId ={demodel.ConsultantId} AND `Status`=0)";
}
if(demodel.BelongType>0)
if(demodel.BelongType>0)
{
{
//全部
//全部
...
@@ -531,7 +613,7 @@ LEFT JOIN rb_education_contract ec on ec.GuestId = og.GuestId";
...
@@ -531,7 +613,7 @@ LEFT JOIN rb_education_contract ec on ec.GuestId = og.GuestId";
}
}
}
}
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
stringsql=$@"SELECT s.*,case when o.OrderId is null then 2 else 1 end as Q_EnrollState,og.GuestState as StuGuestState,c.CourseId,c.CourseName,ch.Name as StuChannelName
FROM rb_student s
FROM rb_student s
LEFT JOIN (
LEFT JOIN (
SELECT sog.Student_Id,MAX(og.Id) AS GuestId FROM rb_student_orderguest sog
SELECT sog.Student_Id,MAX(og.Id) AS GuestId FROM rb_student_orderguest sog
...
@@ -543,7 +625,7 @@ LEFT JOIN rb_order_guest og on ot.GuestId = og.Id
...
@@ -543,7 +625,7 @@ LEFT JOIN rb_order_guest og on ot.GuestId = og.Id