SELECT A.*,IFNULL(B.ClassName,'') AS ClassName,IFNULL(B.ClassNo,'') AS ClassNo,IFNULL(C.TeacherName,'') AS TeacherName
,IFNULL(D.SName,'') AS SchoolName,IFNULL(E.CourseName,'') AS CourseName,IFNULL(backClass.GuestId,0) AS BackClassGuestId
,IFNULL(stopClass.OrderGuestId,0) AS StopClassGuestId,IFNULL(orderChange.OrderGuestId,0) AS OrderChangeGuestId,IFNULL(tempinvitation.OrderGuestIds,'') AS TempinvitationGuestIds
FROM RB_Education_Receipt AS A LEFT JOIN rb_class AS B ON A.ClassId=B.ClassId
LEFT JOIN rb_teacher AS C ON B.Teacher_Id=C.TId
LEFT JOIN rb_school AS D ON A.School_Id=D.SId
LEFT JOIN rb_course AS E ON B.CouseId=E.CourseId
LEFT JOIN rb_student_backclass AS backClass ON A.RelationId=backClass.BackId AND A.ReceiptType=2
LEFT JOIN rb_student_stopclass AS stopClass ON A.RelationId=stopClass.Id AND A.ReceiptType=3
LEFT JOIN rb_order_change AS orderChange ON A.RelationId=orderChange.Id AND A.ReceiptType IN(5,6)
LEFT JOIN rb_student_tempinvitation AS tempinvitation ON A.RelationId=tempinvitation.Id AND A.ReceiptType=4
WHERE 1=1
");
if(query!=null)
{
if(query.Group_Id>0)
{
builder.AppendFormat(@" AND A.{0}={1} ",nameof(RB_Education_Receipt_ViewModel.Group_Id),query.Group_Id);
}
if(!string.IsNullOrEmpty(query.QIds))
{
builder.AppendFormat(@" AND A.{0} IN ({1}) ",nameof(RB_Education_Receipt_ViewModel.Id),query.QIds);
}
if(query.RelationId>0)
{
builder.AppendFormat(@" AND A.{0} IN ({1}) ",nameof(RB_Education_Receipt_ViewModel.RelationId),query.RelationId);
}
if(!string.IsNullOrEmpty(query.QRelationIds))
{
builder.AppendFormat(@" AND A.{0} IN ({1}) ",nameof(RB_Education_Receipt_ViewModel.RelationId),query.QRelationIds);
}
if(!string.IsNullOrEmpty(query.Title))
{
builder.AppendFormat(@" AND A.{0} LIKE @Title ",nameof(RB_Education_Receipt_ViewModel.Title));
builder.AppendFormat(@" AND A.{0}>='{1}' ",nameof(RB_Education_Receipt_ViewModel.CreateTime),query.StartTime);
}
if(!string.IsNullOrEmpty(query.EndTime))
{
builder.AppendFormat(@" AND A.{0}<='{1} 23:59:59' ",nameof(RB_Education_Receipt_ViewModel.CreateTime),query.EndTime);
}
if(query.ReceiptType>0)
{
builder.AppendFormat(@" AND A.{0}={1} ",nameof(RB_Education_Receipt_ViewModel.ReceiptType),query.ReceiptType);
}
if(!string.IsNullOrEmpty(query.QReceiptTypes))
{
builder.AppendFormat(@" AND A.{0} IN({1}) ",nameof(RB_Education_Receipt_ViewModel.ReceiptType),query.QReceiptTypes);
}
if(query.VerifyStatus>-1)
{
builder.AppendFormat(@" AND A.{0}={1} ",nameof(RB_Education_Receipt_ViewModel.VerifyStatus),query.VerifyStatus);
}
if(!string.IsNullOrEmpty(query.QEffectiveDate))
{
builder.AppendFormat(@" AND A.{0}>='{1}' ",nameof(RB_Education_Receipt_ViewModel.EffectiveDate),query.QEffectiveDate);
}
if(!string.IsNullOrEmpty(query.QGuestIds))
{
builder.AppendFormat("AND (backClass.GuestId IN({0}) OR stopClass.OrderGuestId IN({0}) OR orderChange.OrderGuestId IN({0}) OR tempinvitation.OrderGuestIds IN({0}) ) ",query.QGuestIds);
stringsql=$@"SELECT OrderGuestId, SUM(CurrentDeductionHours) as CurrentDeductionHours FROM rb_class_check where `Status`=0 and Group_Id ={groupId} and OrderGuestId in ({guestIds}) group by OrderGuestId";