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