notebookvb

This commit is contained in:
2026-04-12 06:08:48 +02:00
parent c2d94b2362
commit 595a69e3c5
3 changed files with 8994 additions and 139 deletions
+18 -14
View File
@@ -579,6 +579,11 @@ def uloz(conn, zprava, predpisy, vydeji, predepisujici, vydavajici,
Ulozi parsovana data do MySQL.
pacient_id — FK na tabulku pacient (None pokud volano primo z 06)
xml_soubor — relativni cesta k archivnimu XML souboru (None pokud neni archivovano)
Vraci dict se statistikami:
predpisy_novych, predpisy_celkem,
vydeji_novych, vydeji_celkem,
predpis_slozka, vydej_slozka
"""
iplp_predpisu = 0
iplp_vydejuu = 0
@@ -604,7 +609,6 @@ def uloz(conn, zprava, predpisy, vydeji, predepisujici, vydavajici,
stazeno = CURRENT_TIMESTAMP
""", zprava_row)
zprava_id = _najdi_id(cur, "zprava", "id_zpravy", zprava["id_zpravy"])
print(f" zprava id={zprava_id} ({zprava['id_zpravy']})")
# ── predpisy + jejich slozky ───────────────────────────────────────────
vlozeno_p = 0
@@ -640,9 +644,6 @@ def uloz(conn, zprava, predpisy, vydeji, predepisujici, vydavajici,
""", s)
vlozeno_ps += 1
print(f" predpisy: {vlozeno_p} novych (celkem {len(predpisy)})")
print(f" predpis_slozka: {vlozeno_ps} slozek z {iplp_predpisu} IPLP predpisu")
# ── vydeji + jejich slozky ────────────────────────────────────────────
vlozeno_v = 0
vlozeno_vs = 0
@@ -679,11 +680,7 @@ def uloz(conn, zprava, predpisy, vydeji, predepisujici, vydavajici,
""", s)
vlozeno_vs += 1
print(f" vydeji: {vlozeno_v} novych (celkem {len(vydeji)})")
print(f" vydej_slozka: {vlozeno_vs} slozek z {iplp_vydejuu} IPLP vydejuu")
# ── predepisujici ─────────────────────────────────────────────────────
vlozeno_pre = 0
for row in predepisujici:
if not row.get("lekar_kod"):
continue
@@ -705,11 +702,8 @@ def uloz(conn, zprava, predpisy, vydeji, predepisujici, vydavajici,
psc = VALUES(psc),
telefon = VALUES(telefon)
""", row)
vlozeno_pre += cur.rowcount
print(f" predepisujici: {vlozeno_pre} radku (celkem {len(predepisujici)})")
# ── vydavajici ────────────────────────────────────────────────────────
vlozeno_vyd = 0
for row in vydavajici:
if not row.get("lekarnik_kod"):
continue
@@ -729,11 +723,18 @@ def uloz(conn, zprava, predpisy, vydeji, predepisujici, vydavajici,
psc = VALUES(psc),
telefon = VALUES(telefon)
""", row)
vlozeno_vyd += cur.rowcount
print(f" vydavajici: {vlozeno_vyd} radku (celkem {len(vydavajici)})")
conn.commit()
return dict(
predpisy_novych = vlozeno_p,
predpisy_celkem = len(predpisy),
vydeji_novych = vlozeno_v,
vydeji_celkem = len(vydeji),
predpis_slozka = vlozeno_ps,
vydej_slozka = vlozeno_vs,
)
# ── main ──────────────────────────────────────────────────────────────────────
@@ -751,7 +752,10 @@ def main():
try:
vytvor_schema(conn)
print("Ukladani ...")
uloz(conn, zprava, predpisy, vydeji, predepisujici, vydavajici)
stats = uloz(conn, zprava, predpisy, vydeji, predepisujici, vydavajici)
print(f" predpisy: {stats['predpisy_novych']} novych (celkem {stats['predpisy_celkem']})")
print(f" vydeji: {stats['vydeji_novych']} novych (celkem {stats['vydeji_celkem']})")
print(f" slozky: {stats['predpis_slozka']} predpis / {stats['vydej_slozka']} vydej")
print("Hotovo OK")
finally:
conn.close()