@ -38,14 +38,6 @@ public class TeacherOpenCourseStudentSigninSetting extends BaseEntity{
//班级ID集合
private String schoolClassIds ;
public String getSchoolClassIdsText ( ) {
return schoolClassIdsText ;
}
public void setSchoolClassIdsText ( String schoolClassIdsText ) {
this . schoolClassIdsText = schoolClassIdsText ;
}
@FetchSql (
"@if(strUtil.equalsIgnoreCase(schoolClassIds, 'ALL')) { \n" +
"select '所有班级' \n" +
@ -59,6 +51,20 @@ public class TeacherOpenCourseStudentSigninSetting extends BaseEntity{
"@}\n" )
private String schoolClassIdsText ;
// 如果是全部的班级,则查询该课程关联的全部班级
// 否则 取schoolClassIds 字段。
@FetchSql (
"@if(strUtil.equalsIgnoreCase(schoolClassIds, 'ALL')) { \n" +
"select group_concat(distinct(school_class_id)) \n" +
" from teacher_open_course_merge_school_class t \n" +
" where t.teacher_open_course_id = #teacherOpenCourseId# \n" +
" and t.teacher_open_course_merge_school_class_status = 1 \n" +
" group by t.teacher_open_course_id \n" +
"@} else { \n" +
" select #schoolClassIds# " +
"@}\n" )
private String schoolClassIdsRender ;
// 所有班级标识
public static String ALL_SCHOOL_CLASS_IDS_SIGN = "ALL" ;
@ -92,7 +98,40 @@ public class TeacherOpenCourseStudentSigninSetting extends BaseEntity{
@Dict ( type = "global_status" )
private Integer teacherOpenCourseStudentSigninSettingStatus ;
// 这个开课ID下的签到场次总数量
@FetchSql ( "select count(1) from teacher_open_course_student_signin_setting " +
"where teacher_open_course_id = #teacherOpenCourseId# and teacher_open_course_student_signin_setting_status = 1 " )
private Integer signinSettingCount ;
// 签到总人数
@FetchSql ( "select count(1) " +
"from teacher_open_course_student_signin_log t " +
"left join teacher_open_course_student_signin_setting ta on ta.teacher_open_course_student_signin_setting_id = t.teacher_open_course_student_signin_setting_id " +
"where t.teacher_open_course_id = #teacherOpenCourseId# " )
private Integer signinTotalCount ;
// 学生总人数
@FetchSql ( "select count(1) from student t where find_in_set(t.class_id, #schoolClassIdsIfAll#) " )
private Integer signinStudentTotalCount ;
// 缺勤 schoolClassIds
@FetchSql ( "select if((count(tc.student_id) - #signinTotalCount#) < 0, 0, count(tc.student_id) - #signinTotalCount#) " +
"from teacher_open_course_student_signin_log t " +
"left join teacher_open_course_student_signin_setting ta on ta.teacher_open_course_student_signin_setting_id = t.teacher_open_course_student_signin_setting_id " +
"left join school_class tb on find_in_set(tb.class_id, ta.school_class_ids) " +
"left join student tc on tc.class_id = tb.class_id " +
"where t.teacher_open_course_id = #teacherOpenCourseId# " )
private Integer unsigninCount ;
// 合计到课率 100为单位
@FetchSql ( "select round(#signinTotalCount# / (if((#signinStudentTotalCount#) = 0, 1, (#signinStudentTotalCount#))) * 100, 1)" )
private float signinTotalRate ;
//组织ID
private Long orgId ;
@ -264,4 +303,60 @@ public class TeacherOpenCourseStudentSigninSetting extends BaseEntity{
public void setTeacherOpenCourseStudentSigninSettingSessionTime ( Date teacherOpenCourseStudentSigninSettingSessionTime ) {
this . teacherOpenCourseStudentSigninSettingSessionTime = teacherOpenCourseStudentSigninSettingSessionTime ;
}
public Integer getSigninSettingCount ( ) {
return signinSettingCount ;
}
public void setSigninSettingCount ( Integer signinSettingCount ) {
this . signinSettingCount = signinSettingCount ;
}
public Integer getSigninTotalCount ( ) {
return signinTotalCount ;
}
public void setSigninTotalCount ( Integer signinTotalCount ) {
this . signinTotalCount = signinTotalCount ;
}
public Integer getUnsigninCount ( ) {
return unsigninCount ;
}
public void setUnsigninCount ( Integer unsigninCount ) {
this . unsigninCount = unsigninCount ;
}
public float getSigninTotalRate ( ) {
return signinTotalRate ;
}
public void setSigninTotalRate ( float signinTotalRate ) {
this . signinTotalRate = signinTotalRate ;
}
public String getSchoolClassIdsRender ( ) {
return schoolClassIdsRender ;
}
public void setSchoolClassIdsRender ( String schoolClassIdsRender ) {
this . schoolClassIdsRender = schoolClassIdsRender ;
}
public Integer getSigninStudentTotalCount ( ) {
return signinStudentTotalCount ;
}
public void setSigninStudentTotalCount ( Integer signinStudentTotalCount ) {
this . signinStudentTotalCount = signinStudentTotalCount ;
}
public String getSchoolClassIdsText ( ) {
return schoolClassIdsText ;
}
public void setSchoolClassIdsText ( String schoolClassIdsText ) {
this . schoolClassIdsText = schoolClassIdsText ;
}
}