Add status filter to report generation

- Added ONLY_ACTIVE parameter to filter by hotel status
- Now supports generating reports for 'Действует' (Active) hotels only
- Default: ONLY_ACTIVE = True (Orel region configured)
- Can be easily toggled for all statuses

Changes:
- create_horizontal_report.py: Added status_name filter in SQL query
- Tested on Orel region: 29 active hotels (out of 30 total)
- Average score: 44.1%, RKN registry: 26 hotels
This commit is contained in:
Фёдор
2025-10-27 23:16:29 +03:00
parent 684fada337
commit 309de51744

View File

@@ -42,8 +42,9 @@ DB_CONFIG = {
} }
# ========== НАСТРОЙКИ РЕГИОНА ========== # ========== НАСТРОЙКИ РЕГИОНА ==========
REGION = 'г. Санкт-Петербург' # Измените на нужный регион REGION = 'Орловская область' # Измените на нужный регион
AUDIT_VERSION = 'v1.0_with_rkn' # Версия аудита AUDIT_VERSION = 'v1.0_with_rkn' # Версия аудита
ONLY_ACTIVE = True # Только действующие отели (status_name = 'Действует')
# ======================================= # =======================================
def get_region_data(): def get_region_data():
@@ -52,7 +53,11 @@ def get_region_data():
cur = conn.cursor() cur = conn.cursor()
# Получаем данные аудита с информацией об отелях # Получаем данные аудита с информацией об отелях
cur.execute(""" status_filter = ""
if ONLY_ACTIVE:
status_filter = "AND hm.status_name = 'Действует'"
cur.execute(f"""
SELECT SELECT
har.hotel_id, har.hotel_id,
har.hotel_name, har.hotel_name,
@@ -85,11 +90,13 @@ def get_region_data():
hm.phone, hm.phone,
hm.email, hm.email,
hm.category_name, hm.category_name,
hm.registry_url hm.registry_url,
hm.status_name
FROM hotel_audit_results har FROM hotel_audit_results har
LEFT JOIN hotel_main hm ON hm.id = har.hotel_id LEFT JOIN hotel_main hm ON hm.id = har.hotel_id
WHERE har.region_name = %s WHERE har.region_name = %s
AND har.audit_version = %s AND har.audit_version = %s
{status_filter}
ORDER BY har.score_percentage DESC ORDER BY har.score_percentage DESC
""", (REGION, AUDIT_VERSION)) """, (REGION, AUDIT_VERSION))