From 1a4cc039b240eef5229d6691ec28ba462cf1f9a9 Mon Sep 17 00:00:00 2001 From: dmitriylaukhin Date: Sat, 27 Jun 2026 15:57:08 +0500 Subject: [PATCH] =?UTF-8?q?fix(stats):=20=D0=BF=D1=80=D0=BE=D1=86=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=20=D0=BF=D0=BE=20=D0=B2=D1=81=D0=B5=D0=BC=20=D0=B8?= =?UTF-8?q?=D0=B7=D0=B2=D0=BB=D0=B5=D1=87=D1=91=D0=BD=D0=BD=D1=8B=D0=BC=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=B7=D0=B8=D1=86=D0=B8=D1=8F=D0=BC=20(76,1%)=20?= =?UTF-8?q?=E2=80=94=20=D0=BA=D0=B0=D0=BA=20=D0=B2=20=D0=BE=D1=82=D1=87?= =?UTF-8?q?=D1=91=D1=82=D0=B5=20=D0=B8=20=D0=B4=D0=B5=D0=BA=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Дашборд считал по активным (после версионирования) и показывал 75,3% — расходилось с презентацией. Канон — по всем извлечённым. Co-Authored-By: Claude Opus 4.8 (1M context) --- api/main.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/api/main.py b/api/main.py index d582aa7..e50ec0b 100644 --- a/api/main.py +++ b/api/main.py @@ -547,12 +547,13 @@ def manual_match(item_id: int, service_id: str): @app.get("/stats", response_model=Stats, summary="Сводка качества обработки") def stats(): - """Считается из базы — так после загрузки нового архива цифры обновляются сразу.""" + """Качество обработки по ВСЕМ извлечённым позициям — как в отчёте о качестве и + презентации (не только по активным; иначе версионирование занижает процент).""" with db() as conn: docs = conn.execute("SELECT COUNT(*) FROM price_document").fetchone()[0] - items = conn.execute("SELECT COUNT(*) FROM price_item WHERE is_active = 1").fetchone()[0] + items = conn.execute("SELECT COUNT(*) FROM price_item").fetchone()[0] matched = conn.execute( - "SELECT COUNT(*) FROM price_item WHERE is_active = 1 AND service_id IS NOT NULL" + "SELECT COUNT(*) FROM price_item WHERE service_id IS NOT NULL" ).fetchone()[0] if items: return Stats(