notebookvb
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user