|
|
|
@ -48,7 +48,7 @@ class HomeworkAttachController < ApplicationController
|
|
|
|
|
order_by = "created_at #{direction}"
|
|
|
|
|
end
|
|
|
|
|
all_homework_list = HomeworkAttach.eager_load(:attachments,:user,:rate_averages).find_by_sql("SELECT * FROM (SELECT homework_attaches.*,
|
|
|
|
|
(SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 1 and stars IS NOT NULL) AS t_score,
|
|
|
|
|
(SELECT stars FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 1 AND stars IS NOT NULL ORDER BY updated_at DESC limit 0,1) AS t_score,
|
|
|
|
|
(SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 0) AS s_score
|
|
|
|
|
FROM homework_attaches WHERE bid_id = #{@bid.id}
|
|
|
|
|
ORDER BY #{order_by}) AS table1
|
|
|
|
@ -80,7 +80,7 @@ class HomeworkAttachController < ApplicationController
|
|
|
|
|
order_by = "created_at #{direction}"
|
|
|
|
|
end
|
|
|
|
|
all_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 is_teacher_score = 1) AS t_score,
|
|
|
|
|
(SELECT stars FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 1 AND stars IS NOT NULL ORDER BY updated_at DESC limit 0,1) AS t_score,
|
|
|
|
|
(SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 0) AS s_score
|
|
|
|
|
FROM homework_attaches WHERE bid_id = #{@bid.id}
|
|
|
|
|
ORDER BY #{order_by}")
|
|
|
|
@ -101,7 +101,7 @@ class HomeworkAttachController < ApplicationController
|
|
|
|
|
def get_student_batch_homework
|
|
|
|
|
@is_student_batch_homework = true
|
|
|
|
|
all_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 is_teacher_score = 1) AS t_score,
|
|
|
|
|
(SELECT stars FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 1 AND stars IS NOT NULL ORDER BY updated_at DESC limit 0,1) AS t_score,
|
|
|
|
|
(SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 0) AS s_score,
|
|
|
|
|
(SELECT stars FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND rater_id = #{User.current.id} AND is_teacher_score = 0) AS m_score
|
|
|
|
|
FROM homework_attaches
|
|
|
|
@ -119,14 +119,14 @@ class HomeworkAttachController < ApplicationController
|
|
|
|
|
def get_my_homework
|
|
|
|
|
@is_my_homework = true
|
|
|
|
|
all_homework_list = HomeworkAttach.find_by_sql("SELECT homework_attaches.*,
|
|
|
|
|
(SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 1) AS t_score,
|
|
|
|
|
(SELECT stars FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 1 AND stars IS NOT NULL ORDER BY updated_at DESC limit 0,1) AS t_score,
|
|
|
|
|
(SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 0) AS s_score
|
|
|
|
|
FROM homework_attaches
|
|
|
|
|
WHERE homework_attaches.bid_id = #{@bid.id} AND homework_attaches.user_id = #{User.current.id}")
|
|
|
|
|
#如果我没有创建过作业,就检索我是否参与了某个作业
|
|
|
|
|
if all_homework_list.empty?
|
|
|
|
|
all_homework_list = HomeworkAttach.find_by_sql("SELECT homework_attaches.*,
|
|
|
|
|
(SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 1) AS t_score,
|
|
|
|
|
(SELECT stars FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 1 AND stars IS NOT NULL ORDER BY updated_at DESC limit 0,1) AS t_score,
|
|
|
|
|
(SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 0) AS s_score
|
|
|
|
|
FROM homework_attaches
|
|
|
|
|
INNER JOIN homework_users ON homework_users.homework_attach_id = homework_attaches.id
|
|
|
|
@ -435,17 +435,19 @@ class HomeworkAttachController < ApplicationController
|
|
|
|
|
@is_teacher,@is_anonymous_comments,@m_score = params[:is_teacher]=="true",params[:is_anonymous_comments]=="true",params[:stars_value]
|
|
|
|
|
@cur_page,@cur_type = params[:cur_page] || 1,params[:cur_type] || 5
|
|
|
|
|
@homework = HomeworkAttach.find(params[:homework_id])
|
|
|
|
|
@stars_reates = @homework.rates(:quality)
|
|
|
|
|
homework = @homework
|
|
|
|
|
is_teacher = @is_teacher ? 1 : 0
|
|
|
|
|
#保存评分@homework.rate(@m_score.to_i,User.current.id,:quality, (@is_teacher ? 1 : 0))
|
|
|
|
|
if @m_score
|
|
|
|
|
rate = @homework.rates(:quality).where(:rater_id => User.current.id, :is_teacher_score => is_teacher).first
|
|
|
|
|
if @m_score && rate.stars != @m_score
|
|
|
|
|
if rate
|
|
|
|
|
rate.stars = @m_score
|
|
|
|
|
rate.save!
|
|
|
|
|
else
|
|
|
|
|
@homework.rates(:quality).new(:stars => @m_score, :rater_id => User.current.id, :is_teacher_score => is_teacher).save!
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if homework.is_teacher_score == 0
|
|
|
|
|
if is_teacher == 1
|
|
|
|
|
homework.score = @m_score
|
|
|
|
@ -470,7 +472,6 @@ class HomeworkAttachController < ApplicationController
|
|
|
|
|
@homework.addjours User.current.id, params[:new_form][:user_message],0,@is_comprehensive_evaluation
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
@stars_reates = @homework.rates(:quality)
|
|
|
|
|
@teacher_stars = @stars_reates.where("is_teacher_score = 1") #老师评分列表
|
|
|
|
|
@student_stars = @stars_reates.where("is_teacher_score = 0") #学生评分列表
|
|
|
|
|
jours = @homework.journals_for_messages.where("is_comprehensive_evaluation = 3 or is_comprehensive_evaluation is null").order("created_on DESC")#jours留言 is null条件用以兼容历史数据
|
|
|
|
@ -481,18 +482,18 @@ class HomeworkAttachController < ApplicationController
|
|
|
|
|
get_not_batch_homework_list "s_socre","desc",@homework.bid_id
|
|
|
|
|
elsif @cur_type == "2" #老师已批列表
|
|
|
|
|
@result_homework = HomeworkAttach.find_by_sql("SELECT homework_attaches.*,
|
|
|
|
|
(SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 1 and stars IS NOT NULL) AS t_score,
|
|
|
|
|
(SELECT stars FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 1 AND stars IS NOT NULL ORDER BY updated_at DESC limit 0,1) AS t_score,
|
|
|
|
|
(SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 0) AS s_score
|
|
|
|
|
FROM homework_attaches WHERE id = #{@homework.id}").first
|
|
|
|
|
elsif @cur_type == "3" #全部作业列表
|
|
|
|
|
@result_homework = HomeworkAttach.find_by_sql("SELECT homework_attaches.*,
|
|
|
|
|
(SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 1) AS t_score,
|
|
|
|
|
(SELECT stars FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 1 AND stars IS NOT NULL ORDER BY updated_at DESC limit 0,1) AS t_score,
|
|
|
|
|
(SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 0) AS s_score
|
|
|
|
|
FROM homework_attaches WHERE id = #{@homework.id}").first
|
|
|
|
|
elsif @cur_type == "4" #匿评作业列表
|
|
|
|
|
@is_student_batch_homework = true
|
|
|
|
|
@result_homework = HomeworkAttach.find_by_sql("SELECT homework_attaches.*,
|
|
|
|
|
(SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 1) AS t_score,
|
|
|
|
|
(SELECT stars FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 1 AND stars IS NOT NULL ORDER BY updated_at DESC limit 0,1) AS t_score,
|
|
|
|
|
(SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 0) AS s_score,
|
|
|
|
|
(SELECT stars FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND rater_id = #{User.current.id} AND is_teacher_score = #{is_teacher}) AS m_score
|
|
|
|
|
FROM homework_attaches
|
|
|
|
@ -596,7 +597,7 @@ class HomeworkAttachController < ApplicationController
|
|
|
|
|
order_by = "created_at #{direction}"
|
|
|
|
|
end
|
|
|
|
|
@all_homework_list = HomeworkAttach.eager_load(:attachments,:user,:rate_averages).find_by_sql("SELECT * FROM (SELECT homework_attaches.*,
|
|
|
|
|
(SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 1) AS t_score,
|
|
|
|
|
(SELECT stars FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 1 AND stars IS NOT NULL ORDER BY updated_at DESC limit 0,1) AS t_score,
|
|
|
|
|
(SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 0) AS s_score
|
|
|
|
|
FROM homework_attaches WHERE bid_id = #{bid_id}
|
|
|
|
|
ORDER BY #{order_by}) AS table1
|
|
|
|
|