Баг с подсчётом завершённых сценариев в админке

This commit is contained in:
2026-02-12 10:04:06 +03:00
parent ab5cdef34a
commit 41cceabd5e

View File

@@ -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]