68 lines
1.3 KiB
Python
68 lines
1.3 KiB
Python
import pandas as pd
|
|
import fdb
|
|
import pymysql
|
|
|
|
# ---------------------------------
|
|
# FIREBIRD CONNECTION
|
|
# ---------------------------------
|
|
fb = fdb.connect(
|
|
host="192.168.1.4",
|
|
database=r"z:\Medicus 3\data\MEDICUS.FDB",
|
|
user="SYSDBA",
|
|
password="masterkey",
|
|
charset="WIN1250"
|
|
)
|
|
cur = fb.cursor()
|
|
|
|
sql_fb = """
|
|
SELECT kar.rodcis
|
|
FROM registr
|
|
JOIN kar ON registr.idpac = kar.idpac
|
|
WHERE registr.datum_zruseni IS NULL
|
|
AND registr.priznak IN ('A','D','V')
|
|
"""
|
|
|
|
cur.execute(sql_fb)
|
|
rows_fb = cur.fetchall()
|
|
|
|
df_fb = pd.DataFrame(rows_fb, columns=["rc"])
|
|
print("FB count:", len(df_fb))
|
|
|
|
# ---------------------------------
|
|
# MYSQL CONNECTION
|
|
# ---------------------------------
|
|
mysql = pymysql.connect(
|
|
host="192.168.1.76",
|
|
port=3307,
|
|
user="root",
|
|
password="Vlado9674+",
|
|
database="medevio",
|
|
charset="utf8mb4"
|
|
)
|
|
|
|
sql_mysql = """
|
|
SELECT rc
|
|
FROM vzp_stav_pojisteni AS v
|
|
WHERE v.k_datu = CURDATE()
|
|
AND v.id = (
|
|
SELECT MAX(id)
|
|
FROM vzp_stav_pojisteni
|
|
WHERE rc = v.rc
|
|
AND k_datu = CURDATE()
|
|
);
|
|
"""
|
|
|
|
df_mysql = pd.read_sql(sql_mysql, mysql)
|
|
print("MySQL count:", len(df_mysql))
|
|
|
|
# ---------------------------------
|
|
# FIND MISSING RC
|
|
# ---------------------------------
|
|
df_missing = df_fb[~df_fb["rc"].isin(df_mysql["rc"])]
|
|
|
|
print("\nMissing patients:")
|
|
print(df_missing)
|
|
|
|
fb.close()
|
|
mysql.close()
|