diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index 92858d45b..8b2cdad2f 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -868,8 +868,12 @@ class StudentWorkController < ApplicationController end when 2 #教辅评分 教辅评分显示平均分 #@work.teaching_asistant_score = @work.student_works_scores.where(:reviewer_role => 2).average(:score).try(:round, 2).to_f - ts_score = StudentWorksScore.find_by_sql("SELECT AVG(score) AS score FROM (SELECT * FROM (SELECT * FROM student_works_scores WHERE student_work_id = #{@work.id} AND reviewer_role = 2 AND score IS NOT NULL ORDER BY created_at DESC) AS t GROUP BY user_id) AS a") - @work.teaching_asistant_score = ts_score.first.score.nil? ? nil : ts_score.first.score.try(:round, 2).to_f + if @homework.homework_detail_manual.ta_mode == 1 + ts_score = StudentWorksScore.find_by_sql("SELECT AVG(score) AS score FROM (SELECT * FROM (SELECT * FROM student_works_scores WHERE student_work_id = #{@work.id} AND reviewer_role = 2 AND score IS NOT NULL ORDER BY created_at DESC) AS t GROUP BY user_id) AS a") + @work.teaching_asistant_score = ts_score.first.score.nil? ? nil : ts_score.first.score.try(:round, 2).to_f + else + @work.teaching_asistant_score = @new_score.score + end if @is_group_leader && params[:same_score] add_score_to_member @work, @homework, @new_score end @@ -1072,6 +1076,24 @@ class StudentWorkController < ApplicationController homework_detail_manual.save if homework_detail_manual end + if params[:ta_mode] && homework_detail_manual.ta_mode.to_i != params[:ta_mode].to_i + homework_detail_manual.ta_mode = params[:ta_mode].to_i + homework_detail_manual.save + if homework_detail_manual.ta_mode == 1 + @homework.student_works.where("work_status != 0").each do |student_work| + ts_score = StudentWorksScore.find_by_sql("SELECT AVG(score) AS score FROM (SELECT * FROM (SELECT * FROM student_works_scores WHERE student_work_id = #{student_work.id} AND reviewer_role = 2 AND score IS NOT NULL ORDER BY created_at DESC) AS t GROUP BY user_id) AS a") + student_work.teaching_asistant_score = ts_score.first.score.nil? ? nil : ts_score.first.score.try(:round, 2).to_f + student_work.save + end + else + @homework.student_works.where("work_status != 0").each do |student_work| + ts_score = StudentWorksScore.where("student_work_id = #{student_work.id} AND reviewer_role = 2 AND score IS NOT NULL").order("created_at DESC") + student_work.teaching_asistant_score = ts_score.first.nil? ? nil : ts_score.first.score + student_work.save + end + end + end + teacher_priority = params[:teacher_priority].to_i if homework_detail_manual.ta_proportion.to_s != params[:ta_proportion].to_s || @homework.teacher_priority.to_s != teacher_priority.to_s || (homework_detail_programing && homework_detail_programing.ta_proportion.to_s != params[:sy_proportion].to_s) homework_detail_manual.ta_proportion = params[:ta_proportion] diff --git a/app/views/homework_common/_set_score_rule_non_pro.html.erb b/app/views/homework_common/_set_score_rule_non_pro.html.erb index c3d798404..1ffe0d13f 100644 --- a/app/views/homework_common/_set_score_rule_non_pro.html.erb +++ b/app/views/homework_common/_set_score_rule_non_pro.html.erb @@ -1,4 +1,4 @@ -
请输入数值0-50
+请输入数值0-50
+匿评开启后提交的作品,未能参加匿评,
按照全部缺评扣分
学生可对匿评成绩发起申诉
您可以接受或者拒绝申诉
请输入数值0-50
若匿评时评出不合理的成绩被申诉成功,
扣违规匿评分
学生不能对匿评成绩发起申诉
+助教评分 = 各助教最新评分的平均分
+助教评分 = 最新的助教评分
+教师评分-迟交扣分-缺评扣分-违规匿评扣分
+助教评分*其百分比+
+ 学生匿评平均分*其百分比-
+ ( 迟交扣分+缺评扣分+违规匿评扣分 )
请输入数值0-50
-请输入数值0-50
-匿评开启后提交的作品,未能参加
匿评,按照全部缺评扣分
学生可对匿评成绩发起申诉
您可以接受或者拒绝申诉
请输入数值0-50
若匿评时评出不合理的成绩被申诉成功,
扣违规匿评分
学生不能对匿评成绩发起申诉
-教师评分-迟交扣分-缺评扣分-违规匿评扣分
-助教评分*其百分比+
- 学生匿评平均分*其百分比-
- ( 迟交扣分+缺评扣分+违规匿评扣分 )
请输入数值0-50
助教评分 = 各助教最新评分的平均分
+助教评分 = 最新的助教评分
+教师评分 - 迟交扣分
请输入数值0-50
+请输入数值0-50
+匿评开启后提交的作品,未能参加匿评,
按照全部缺评扣分
学生可对匿评成绩发起申诉
您可以接受或者拒绝申诉
请输入数值0-50
若匿评时评出不合理的成绩被申诉成功,
扣违规匿评分
学生不能对匿评成绩发起申诉
+助教评分 = 各助教最新评分的平均分
+助教评分 = 最新的助教评分
+教师评分-迟交扣分-缺评扣分-违规匿评扣分
+系统评分*其百分比+
+ 助教评 *其百分比+
+ 学生匿评平均分*其百分比 -
+ ( 迟交扣分+缺评扣分+违规匿评扣分 )
请输入数值0-50
-请输入数值0-50
-匿评开启后提交的作品,未能参加匿评,
按照全部缺评扣分
学生可对匿评成绩发起申诉
您可以接受或者拒绝申诉
请输入数值0-50
若匿评时评出不合理的成绩被申诉成功,
扣违规匿评分
学生不能对匿评成绩发起申诉
-教师评分-迟交扣分-缺评扣分-违规匿评扣分
-系统评分*其百分比+
- 助教评 *其百分比+
- 学生匿评平均分*其百分比 -
- ( 迟交扣分+缺评扣分+违规匿评扣分 )
请输入数值0-50
+助教评分 = 各助教最新评分的平均分
+助教评分 = 最新的助教评分
+教师评分 - 迟交扣分
+系统评分 * 其百分比 +
+ 助教评分 * 其百分比 -
+ 迟交扣分
请输入数值0-50
-教师评分 - 迟交扣分
-系统评分 * 其百分比 +
- 助教评分 * 其百分比 -
- 迟交扣分