fixed problem with wrong worktime calculations

This commit is contained in:
Thomas Hille
2017-02-24 16:35:13 +01:00
parent fe8b04fcfc
commit 01470bff97

View File

@ -67,7 +67,7 @@ class Exercise < ActiveRecord::Base
FROM FROM
(SELECT user_id, (SELECT user_id,
id, id,
(created_at - lag(created_at) over (PARTITION BY user_id (created_at - lag(created_at) over (PARTITION BY user_id, exercise_id
ORDER BY created_at)) AS working_time ORDER BY created_at)) AS working_time
FROM submissions FROM submissions
WHERE exercise_id=#{id}) AS foo) AS bar WHERE exercise_id=#{id}) AS foo) AS bar
@ -89,10 +89,10 @@ class Exercise < ActiveRecord::Base
FROM FROM
(SELECT user_id, (SELECT user_id,
id, id,
(created_at - lag(created_at) OVER (PARTITION BY user_id (created_at - lag(created_at) OVER (PARTITION BY user_id, exercise_id
ORDER BY created_at)) AS working_time ORDER BY created_at)) AS working_time
FROM submissions FROM submissions
WHERE exercise_id=#{self.id}) AS foo) AS bar WHERE exercise_id=#{self.id} AND user_type = 'ExternalUser') AS foo) AS bar
GROUP BY user_id GROUP BY user_id
) AS foo ) AS foo
""") """)
@ -128,7 +128,7 @@ class Exercise < ActiveRecord::Base
(SELECT CASE WHEN working_time >= '0:30:00' THEN '0' ELSE working_time END AS working_time_new (SELECT CASE WHEN working_time >= '0:30:00' THEN '0' ELSE working_time END AS working_time_new
FROM FROM
(SELECT id, (SELECT id,
(created_at - lag(created_at) over (PARTITION BY user_id (created_at - lag(created_at) over (PARTITION BY user_id, exercise_id
ORDER BY created_at)) AS working_time ORDER BY created_at)) AS working_time
FROM submissions FROM submissions
WHERE exercise_id=#{id} and user_id=#{user_id} and user_type='ExternalUser') AS foo) AS bar WHERE exercise_id=#{id} and user_id=#{user_id} and user_type='ExternalUser') AS foo) AS bar