Баг с подсчётом завершённых сценариев в админке
This commit is contained in:
@@ -550,25 +550,25 @@ def get_stats() -> dict:
|
||||
)
|
||||
""").fetchone()[0]
|
||||
|
||||
# Количество полностью озвученных сценариев (все дорожки сценария озвучены)
|
||||
# Количество полностью озвученных сценариев (все дорожки озвучены хотя бы раз)
|
||||
stats["completed_scenarios"] = conn.execute("""
|
||||
SELECT COUNT(*) FROM scenarios s
|
||||
WHERE (
|
||||
SELECT COUNT(DISTINCT speaker_id) FROM replicas WHERE scenario_id = s.id
|
||||
) = (
|
||||
SELECT COUNT(DISTINCT speaker_id) FROM (
|
||||
SELECT r.scenario_id, rep.speaker_id, COUNT(*) as cnt
|
||||
SELECT rep.speaker_id
|
||||
FROM recordings r
|
||||
JOIN replicas rep ON r.scenario_id = rep.scenario_id
|
||||
AND r.replica_index = rep.replica_index
|
||||
WHERE r.scenario_id = s.id
|
||||
GROUP BY r.scenario_id, rep.speaker_id
|
||||
HAVING cnt = (
|
||||
GROUP BY rep.speaker_id, r.user_id
|
||||
HAVING COUNT(*) = (
|
||||
SELECT COUNT(*) FROM replicas rp
|
||||
WHERE rp.scenario_id = r.scenario_id
|
||||
WHERE rp.scenario_id = s.id
|
||||
AND rp.speaker_id = rep.speaker_id
|
||||
)
|
||||
) AS completed
|
||||
) AS completed_tracks
|
||||
)
|
||||
""").fetchone()[0]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user