notebookVB
This commit is contained in:
52
10 Tests/2026-01-10 Test kdo jsou registrovaní.py
Normal file
52
10 Tests/2026-01-10 Test kdo jsou registrovaní.py
Normal file
@@ -0,0 +1,52 @@
|
||||
from knihovny.medicus_db import MedicusDB
|
||||
import pymysql
|
||||
|
||||
# ==========================================
|
||||
# CONFIGURATION
|
||||
# ==========================================
|
||||
HOST = "192.168.1.4"
|
||||
DB_PATH = r"z:\Medicus 3\data\MEDICUS.FDB"
|
||||
db = MedicusDB(HOST, DB_PATH)
|
||||
patients = db.get_all_patients(as_dict=True)
|
||||
|
||||
patients_by_rc = {p["rodcis"]: p for p in patients}
|
||||
print(f"Loaded {len(patients_by_rc)} registered patients")
|
||||
print(patients_by_rc)
|
||||
print(len(patients_by_rc))
|
||||
|
||||
|
||||
# exit(0)
|
||||
|
||||
MYSQL_CONFIG = {
|
||||
"host": "192.168.1.76",
|
||||
"port": 3307,
|
||||
"user": "root",
|
||||
"password": "Vlado9674+",
|
||||
"database": "medevio",
|
||||
"charset": "utf8mb4",
|
||||
"autocommit": True
|
||||
}
|
||||
mysql = pymysql.connect(
|
||||
cursorclass=pymysql.cursors.DictCursor,
|
||||
**MYSQL_CONFIG
|
||||
)
|
||||
|
||||
with mysql.cursor() as cur:
|
||||
cur.execute("select distinct rc from vzp_stav_pojisteni where prijmeni is null or jmeno is null")
|
||||
|
||||
for radek in cur.fetchall():
|
||||
print(radek, radek['rc'] in patients_by_rc)
|
||||
rodcis=radek['rc']
|
||||
# if radek['jmeno'] is None or radek['prijmeni'] is None:
|
||||
# if radek['rc'] in patients_by_rc:
|
||||
# with mysql.cursor() as tmpcur:
|
||||
# tmpcur.execute('update vzp_stav_pojisteni set prijmeni=%s, jmeno=%s where id=%s',
|
||||
# (patients_by_rc[radek['rc']]['prijmeni'],patients_by_rc[radek['rc']]['jmeno'],int(radek['id'])))
|
||||
if rodcis in patients_by_rc:
|
||||
jmeno=patients_by_rc[rodcis]['jmeno']
|
||||
prijmeni=patients_by_rc[rodcis]['prijmeni']
|
||||
with mysql.cursor() as tmpcur:
|
||||
tmpcur.execute("update vzp_stav_pojisteni set prijmeni=%s, jmeno=%s where rc=%s",(prijmeni, jmeno, rodcis))
|
||||
|
||||
|
||||
|
||||
63
10 Tests/20260111 Jednorázové ověření
Normal file
63
10 Tests/20260111 Jednorázové ověření
Normal file
@@ -0,0 +1,63 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import time
|
||||
import logging
|
||||
from vzpb2b_client import VZPB2BClient
|
||||
from datetime import date
|
||||
|
||||
# ==========================================
|
||||
# KONFIGURACE (Zůstává stejná jako ve vašem skriptu)
|
||||
# ==========================================
|
||||
PFX_PATH = r"MBcert.pfx"
|
||||
PFX_PASSWORD = "Vlado7309208104++"
|
||||
|
||||
ENV = "prod"
|
||||
ICZ = "00000000" # Sem doplňte své reálné ICZ
|
||||
DIC = "00000000" # Sem doplňte své reálné DIČ
|
||||
|
||||
# ==========================================
|
||||
# MANUÁLNÍ DOTAZ - ZDE ZADEJTE RODNÉ ČÍSLO
|
||||
# ==========================================
|
||||
rodcitoquery = "155328072" # <--- Sem vložte hledané rodné číslo
|
||||
k_datu = date.today().isoformat()
|
||||
|
||||
# ==========================================
|
||||
# INIT VZP CLIENT
|
||||
# ==========================================
|
||||
print(f"--- Inicializace připojení pro RC: {rodcitoquery} ---")
|
||||
try:
|
||||
vzp = VZPB2BClient(ENV, PFX_PATH, PFX_PASSWORD, icz=ICZ, dic=DIC)
|
||||
except Exception as e:
|
||||
print(f"Chyba při inicializaci certifikátu: {e}")
|
||||
exit()
|
||||
|
||||
# ==========================================
|
||||
# DOTAZ NA VZP A VÝPIS RAW RESPONSE
|
||||
# ==========================================
|
||||
print(f"Odesílám dotaz na VZP (k datu {k_datu})...")
|
||||
|
||||
try:
|
||||
# Volání API
|
||||
xml = vzp.stav_pojisteni(rc=rodcitoquery, k_datu=k_datu)
|
||||
|
||||
print("\n" + "="*50)
|
||||
print(" RAW RESPONSE Z WEBU VZP (XML)")
|
||||
print("="*50)
|
||||
print(xml)
|
||||
print("="*50 + "\n")
|
||||
|
||||
# Pokus o parsování (pro kontrolu, zda je odpověď validní)
|
||||
if xml.strip().startswith("<"):
|
||||
try:
|
||||
result = vzp.parse_stav_pojisteni(xml)
|
||||
print(f"Interpretovaný výsledek: {result}")
|
||||
except Exception as parse_err:
|
||||
print(f"Upozornění: XML nelze automaticky parsovat: {parse_err}")
|
||||
else:
|
||||
print("Upozornění: Odpověď nezačíná jako XML. Pravděpodobně chyba komunikace nebo timeout.")
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ CHYBA PŘI KOMUNIKACI: {e}")
|
||||
|
||||
print("\nHotovo.")
|
||||
Reference in New Issue
Block a user