@ -27,10 +27,12 @@ class HomeworkAttachController < ApplicationController
#获取已评作业列表
#获取已评作业列表
defget_batch_homeworks
defget_batch_homeworks
teachers=find_course_teachers@course
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.*,
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} and stars IS NOT NULL) AS t_score,
(SELECTAVG(stars)FROMseems_rateable_ratesWHERErateable_type='HomeworkAttach'ANDrateable_id=homework_attaches.idANDrater_idIN#{teachers} and stars IS NOT NULL) AS t_score,
(SELECTAVG(stars)FROMseems_rateable_ratesWHERErateable_type='HomeworkAttach'ANDrateable_id=homework_attaches.idANDrater_idNOTIN#{teachers}) AS s_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}
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")
WHEREtable1.t_scoreISNOTNULL")
@homework_list=paginateHelperall_homework_list,10
@homework_list=paginateHelperall_homework_list,10
respond_todo|format|
respond_todo|format|
@ -41,11 +43,12 @@ class HomeworkAttachController < ApplicationController
(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_idin#{teachers}) AS t_score,
(SELECTAVG(stars)FROMseems_rateable_ratesWHERErateable_type='HomeworkAttach'ANDrateable_id=homework_attaches.idANDrater_idnotin#{teachers}) AS s_score
(SELECTAVG(stars)FROMseems_rateable_ratesWHERErateable_type='HomeworkAttach'ANDrateable_id=homework_attaches.idANDrater_idnotin#{teachers}) AS s_score
FROMhomework_attachesWHEREbid_id=#{@bid.id}
FROMhomework_attachesWHEREbid_id=#{@bid.id}
ORDERBYs_scoreDESC,created_atASC")
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")
@homework_list=paginateHelperall_homework_list,10
@homework_list=paginateHelperall_homework_list,10
respond_todo|format|
respond_todo|format|
format.js
format.js
@ -393,5 +396,15 @@ class HomeworkAttachController < ApplicationController