@ -49,9 +49,26 @@ class ZipsController < ApplicationController
normal_status ( - 1 , " 试卷不存在 " )
else
@course = @exercise . course
default_ex_users = @exercise . all_exercise_users ( current_user . id ) . exercise_user_committed
@ex_users = default_ex_users #仅导出已提交的,截止后则是全部为提交的。
#是否评阅
if params [ :review ] . present?
review_type = params [ :review ] . first . to_i #已评, 则数据为1, 未评, 则数据为0,前端传过来的为数组
if review_type == 1
@ex_users = @ex_users . where ( " subjective_score >= ? " , 0 . 0 )
else
@ex_users = @ex_users . where ( " subjective_score < ? " , 0 . 0 )
end
end
#答题状态的选择
if params [ :commit_status ] . present? && ( params [ :commit_status ] . to_i == 1 )
@exercise_users_list = @exercise_users_list . where ( commit_status : params [ :commit_status ] )
elsif params [ :commit_status ] . present? && ( params [ :commit_status ] . to_i == 0 )
normal_status ( - 1 , " 仅支持导出已提交的学生! " )
end
#可以分班选择
if group_id . present?
exercise_students = @course . students . where ( course_group_id : group_id ) # 试卷所分班的全部人数
@ -59,6 +76,11 @@ class ZipsController < ApplicationController
@ex_users = @ex_users . where ( user_id : user_ids )
end
#搜索
if params [ :search ] . present?
@ex_users = @ex_users . joins ( user : :user_extension ) . where ( " CONCAT(lastname, firstname) like ? OR student_id like ? " , " % #{ params [ :search ] } % " , " % #{ params [ :search ] } % " )
end
default_ex_users_size = @ex_users & . size
if default_ex_users_size . blank? || default_ex_users_size == 0
@ -80,6 +102,25 @@ class ZipsController < ApplicationController
##7。2 -hs新增
@member = @course . course_member ( current_user . id )
@all_student_works = @homework . teacher_works ( @member )
work_status = params [ :work_status ]
group_id = params [ :course_group ]
if work_status . present? && ! work_status . include? ( 0 )
@all_student_works = @all_student_works . where ( work_status : work_status )
elsif work_status . present? && work_status . include? ( 0 )
normal_status ( - 1 , " 仅支持导出已提交的学生! " )
end
if group_id . present?
group_user_ids = @course . students . where ( course_group_id : params [ :course_group ] ) . pluck ( :user_id )
@all_student_works = @all_student_works . where ( user_id : group_user_ids )
end
unless params [ :search ] . blank?
@all_student_works = @all_student_works . joins ( user : :user_extension ) . where ( " concat(lastname, firstname) like ?
or student_id like ?" , " % #{ params [ :search ] } % " , " % #{ params [ :search ] } % " )
end
student_work_sizes = @all_student_works & . size
if student_work_sizes . blank? || student_work_sizes == 0
normal_status ( - 1 , " 导出失败,暂时没有已提交的学生 " )