diff --git a/Medevio/40 agenda a požadavky/Report_AgendaPozadavky.py b/Medevio/40 agenda a požadavky/Report_AgendaPozadavky.py index 3f967ac..882e1f0 100644 --- a/Medevio/40 agenda a požadavky/Report_AgendaPozadavky.py +++ b/Medevio/40 agenda a požadavky/Report_AgendaPozadavky.py @@ -6,6 +6,7 @@ Full Medevio Report: - Agenda (API, next 30 days) - Otevřené požadavky (MySQL) - Merged (Agenda + Open, deduplicated) +- Agenda kompletní (MySQL medevio_agenda, všechny záznamy) - Vaccine sheets (from merged data) """ @@ -196,13 +197,13 @@ df_agenda = pd.DataFrame(rows).sort_values(["Date", "Time"]) print(f"✅ Loaded {len(df_agenda)} agenda rows.") -# ==================== 2️⃣ LOAD OPEN REQUESTS (MySQL) ==================== -print("📡 Loading open requests from MySQL...") +# ==================== 2️⃣ LOAD OPEN REQUESTS + COMPLETE AGENDA (MySQL) ==================== +print("📡 Loading open requests and complete agenda from MySQL...") conn = pymysql.connect(**DB_CONFIG) with conn.cursor() as cur: cur.execute( """ - SELECT + SELECT id AS Request_ID, displayTitle AS Title, pacient_prijmeni AS Pacient_Prijmeni, @@ -215,6 +216,28 @@ with conn.cursor() as cur: """ ) rows = cur.fetchall() + +with conn.cursor() as cur: + cur.execute( + """ + SELECT + date AS Date, + time_interval AS Time, + request_title AS Title, + patient_surname AS surname, + patient_name AS name, + patient_dob AS DOB, + insurance_short AS Insurance, + note AS Note, + color AS Color, + request_id AS Request_ID, + reservation_id AS Reservation_ID + FROM medevio_agenda + ORDER BY date, time_interval + """ + ) + agenda_full_rows = cur.fetchall() + conn.close() df_open = pd.DataFrame(rows) @@ -246,6 +269,17 @@ if not df_open.empty: ] print(f"✅ Loaded {len(df_open)} open requests.") +df_agenda_full = pd.DataFrame(agenda_full_rows) +if not df_agenda_full.empty: + df_agenda_full["Patient"] = ( + df_agenda_full["surname"].fillna("") + " " + df_agenda_full["name"].fillna("") + ).str.strip() + df_agenda_full = df_agenda_full[ + ["Date", "Time", "Title", "Patient", "DOB", "Insurance", "Note", "Color", "Request_ID", "Reservation_ID"] + ].fillna("") + df_agenda_full["Date"] = df_agenda_full["Date"].astype(str) +print(f"✅ Loaded {len(df_agenda_full)} rows from medevio_agenda.") + # ==================== 3️⃣ MERGE + DEDUPLICATE ==================== print("🟢 Merging and deduplicating (Agenda preferred)...") @@ -276,12 +310,14 @@ with pd.ExcelWriter(xlsx_path, engine="openpyxl") as writer: df_agenda.to_excel(writer, sheet_name="Agenda", index=False) df_open.to_excel(writer, sheet_name="Otevřené požadavky", index=False) df_merged.to_excel(writer, sheet_name="Merged", index=False) + df_agenda_full.to_excel(writer, sheet_name="Agenda kompletní", index=False) wb = load_workbook(xlsx_path) for name, df_ref in [ ("Agenda", df_agenda), ("Otevřené požadavky", df_open), ("Merged", df_merged), + ("Agenda kompletní", df_agenda_full), ]: ws = wb[name] format_ws(ws, df_ref)