all_homework_list=HomeworkAttach.eager_load(:attachments,:user,:rate_averages).find_by_sql("SELECT * FROM (SELECT homework_attaches.*,
(SELECTAVG(stars)FROMseems_rateable_ratesWHERErateable_type='HomeworkAttach'ANDrateable_id=homework_attaches.idANDrater_idIN#{teachers}) AS t_score,
(SELECTAVG(stars)FROMseems_rateable_ratesWHERErateable_type='HomeworkAttach'ANDrateable_id=homework_attaches.idANDrater_idNOTIN#{teachers}) AS s_score
FROMhomework_attachesWHEREbid_id=#{@bid.id} ORDER BY s_score DESC,created_at ASC) AS table1
FROMhomework_attachesWHEREbid_id=#{@bid.id} ORDER BY #{order_by}) AS table1
WHEREtable1.t_scoreISNULL")
@homework_list=paginateHelperall_homework_list,10
@direction=direction=='asc'?'desc':'asc'
respond_todo|format|
format.js
end
@ -26,6 +30,7 @@ class HomeworkAttachController < ApplicationController
#获取已评作业列表
defget_batch_homeworks
sort,direction=params[:sort],params[:direction]
teachers=find_course_teachers@course
teacher_proportion=get_teacher_proportion@bid
all_homework_list=HomeworkAttach.eager_load(:attachments,:user,:rate_averages).find_by_sql("SELECT * FROM (SELECT homework_attaches.*,
@ -35,6 +40,7 @@ class HomeworkAttachController < ApplicationController
ORDERBY(CASEWHENt_scoreISNULLTHEN0ELSEt_score*#{teacher_proportion} END + CASE WHEN s_score IS NULL THEN 0 ELSE s_score * #{1 - teacher_proportion} END) DESC,created_at ASC) AS table1
WHEREtable1.t_scoreISNOTNULL")
@homework_list=paginateHelperall_homework_list,10
@direction=direction=='asc'?'desc':'asc'
respond_todo|format|
format.js
end
@ -42,6 +48,7 @@ class HomeworkAttachController < ApplicationController
@ -50,6 +57,7 @@ class HomeworkAttachController < ApplicationController
FROMhomework_attachesWHEREbid_id=#{@bid.id}
ORDERBY(CASEWHENt_scoreISNULLTHEN0ELSEt_score*#{teacher_proportion} END + CASE WHEN s_score IS NULL THEN 0 ELSE s_score * #{1 - teacher_proportion} END) DESC,created_at ASC")