changed working time calculation to only consider submissions within 5 minutes instead of 30

This commit is contained in:
Thomas Hille
2017-04-03 18:09:30 +02:00
parent cff46f963d
commit 5a099a42b8
3 changed files with 5 additions and 5 deletions

View File

@ -40,7 +40,7 @@ class ExecutionEnvironmentsController < ApplicationController
FROM FROM
(SELECT user_id, (SELECT user_id,
exercise_id, exercise_id,
CASE WHEN working_time >= '0:30:00' THEN '0' ELSE working_time END AS working_time_new CASE WHEN working_time >= '0:05:00' THEN '0' ELSE working_time END AS working_time_new
FROM FROM
(SELECT user_id, (SELECT user_id,
exercise_id, exercise_id,

View File

@ -27,7 +27,7 @@ class ExternalUsersController < ApplicationController
score, score,
id, id,
CASE CASE
WHEN working_time >= '0:30:00' THEN '0' WHEN working_time >= '0:05:00' THEN '0'
ELSE working_time ELSE working_time
END AS working_time_new END AS working_time_new
FROM FROM

View File

@ -67,7 +67,7 @@ class Exercise < ActiveRecord::Base
sum(working_time_new) AS working_time sum(working_time_new) AS working_time
FROM FROM
(SELECT user_id, (SELECT user_id,
CASE WHEN working_time >= '0:30:00' THEN '0' ELSE working_time END AS working_time_new CASE WHEN working_time >= '0:05:00' THEN '0' ELSE working_time END AS working_time_new
FROM FROM
(SELECT user_id, (SELECT user_id,
id, id,
@ -169,7 +169,7 @@ class Exercise < ActiveRecord::Base
exercise_id, exercise_id,
max_score, max_score,
CASE CASE
WHEN working_time >= '0:30:00' THEN '0' WHEN working_time >= '0:05:00' THEN '0'
ELSE working_time ELSE working_time
END AS working_time_new END AS working_time_new
FROM all_working_times_until_max ), result AS FROM all_working_times_until_max ), result AS
@ -263,7 +263,7 @@ class Exercise < ActiveRecord::Base
FILTERED_TIMES_UNTIL_MAX AS FILTERED_TIMES_UNTIL_MAX AS
( (
SELECT user_id,exercise_id, max_score, CASE WHEN working_time >= '0:30:00' THEN '0' ELSE working_time END AS working_time_new SELECT user_id,exercise_id, max_score, CASE WHEN working_time >= '0:05:00' THEN '0' ELSE working_time END AS working_time_new
FROM ALL_WORKING_TIMES_UNTIL_MAX FROM ALL_WORKING_TIMES_UNTIL_MAX
) )
SELECT e.external_id AS external_user_id, f.user_id, exercise_id, MAX(max_score) AS max_score, sum(working_time_new) AS working_time SELECT e.external_id AS external_user_id, f.user_id, exercise_id, MAX(max_score) AS max_score, sum(working_time_new) AS working_time