From 41cceabd5e33e43a171607e19984b87ad92f01df Mon Sep 17 00:00:00 2001 From: Arity-T Date: Thu, 12 Feb 2026 10:04:06 +0300 Subject: [PATCH] =?UTF-8?q?=D0=91=D0=B0=D0=B3=20=D1=81=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=B4=D1=81=D1=87=D1=91=D1=82=D0=BE=D0=BC=20=D0=B7=D0=B0=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D1=88=D1=91=D0=BD=D0=BD=D1=8B=D1=85=20=D1=81=D1=86?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=D1=80=D0=B8=D0=B5=D0=B2=20=D0=B2=20=D0=B0?= =?UTF-8?q?=D0=B4=D0=BC=D0=B8=D0=BD=D0=BA=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/database.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/database.py b/src/database.py index d55b865..dabc9af 100644 --- a/src/database.py +++ b/src/database.py @@ -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]