@ -498,8 +498,8 @@ class BidsController < ApplicationController
#增加作业按评分排序,
#增加作业按评分排序,
#@homework_list = @bid.homeworks.eager_load(:rate_averages, :user, :attachments).order('seems_rateable_cached_ratings.avg DESC').order("#{HomeworkAttach.table_name}.created_at ASC")
#@homework_list = @bid.homeworks.eager_load(:rate_averages, :user, :attachments).order('seems_rateable_cached_ratings.avg DESC').order("#{HomeworkAttach.table_name}.created_at ASC")
@homework_list = HomeworkAttach . eager_load ( :attachments , :user , :rate_averages ) . find_by_sql ( " SELECT homework_attaches.*,
@homework_list = HomeworkAttach . eager_load ( :attachments , :user , :rate_averages ) . find_by_sql ( " SELECT homework_attaches.*,
( SELECT AVG ( stars ) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches . id AND rater_id = 659 ) AS t_score ,
( SELECT AVG ( stars ) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches . id AND rater_id = #{@bid.courses.first.teacher.id}) AS t_score ,
( SELECT AVG ( stars ) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches . id AND rater_id < > 659 ) AS s_score
( SELECT AVG ( stars ) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches . id AND rater_id < > #{@bid.courses.first.teacher.id}) AS s_score
FROM homework_attaches WHERE bid_id = #{@bid.id} ORDER BY
FROM homework_attaches WHERE bid_id = #{@bid.id} ORDER BY
( CASE WHEN t_score IS NULL THEN 0 ELSE t_score * 0 . 6 END + CASE WHEN s_score IS NULL THEN 0 ELSE s_score * 0 . 4 END ) DESC , created_at ASC " )
( CASE WHEN t_score IS NULL THEN 0 ELSE t_score * 0 . 6 END + CASE WHEN s_score IS NULL THEN 0 ELSE s_score * 0 . 4 END ) DESC , created_at ASC " )
if params [ :student_id ] . present?
if params [ :student_id ] . present?