notebookvb
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import sys
|
||||
try:
|
||||
sys.stdout.reconfigure(encoding="utf-8")
|
||||
sys.stderr.reconfigure(encoding="utf-8")
|
||||
except AttributeError:
|
||||
import io
|
||||
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding="utf-8")
|
||||
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding="utf-8")
|
||||
|
||||
sys.path.insert(0, 'U:/OrdinaceProjekt')
|
||||
|
||||
import pymysql
|
||||
from Knihovny.medicus_db import get_medicus_db
|
||||
|
||||
DB_CONFIG = {
|
||||
"host": "192.168.1.76",
|
||||
"port": 3306,
|
||||
"user": "root",
|
||||
"password": "Vlado9674+",
|
||||
"database": "medevio",
|
||||
"charset": "utf8mb4",
|
||||
"cursorclass": pymysql.cursors.DictCursor,
|
||||
}
|
||||
|
||||
# Načti registrované v Medicusu
|
||||
db = get_medicus_db()
|
||||
rows = db.get_active_registered_patients()
|
||||
medicus_rc = {r[0].strip() for r in rows if r[0]}
|
||||
db.close()
|
||||
print(f"Registrovaní v Medicusu: {len(medicus_rc)}\n")
|
||||
|
||||
# Načti všechny pacienty z MySQL
|
||||
conn = pymysql.connect(**DB_CONFIG)
|
||||
with conn.cursor() as cur:
|
||||
cur.execute("SELECT status, user_id, identification_number FROM medevio_pacient ORDER BY status, user_id")
|
||||
all_rows = cur.fetchall()
|
||||
conn.close()
|
||||
|
||||
# Analýza
|
||||
stats = {}
|
||||
for r in all_rows:
|
||||
status = r['status']
|
||||
has_user_id = "S user_id" if r['user_id'] else "BEZ user_id"
|
||||
|
||||
key = f"{status} — {has_user_id}"
|
||||
if key not in stats:
|
||||
stats[key] = {"total": 0, "in_medicus": 0, "out_medicus": 0}
|
||||
|
||||
stats[key]["total"] += 1
|
||||
|
||||
if r['identification_number']:
|
||||
if r['identification_number'] in medicus_rc:
|
||||
stats[key]["in_medicus"] += 1
|
||||
else:
|
||||
stats[key]["out_medicus"] += 1
|
||||
|
||||
print("=" * 90)
|
||||
print("STATISTIKA user_id v Medeviu")
|
||||
print("=" * 90)
|
||||
|
||||
for key in sorted(stats.keys()):
|
||||
s = stats[key]
|
||||
print(f"\n{key:40s}")
|
||||
print(f" Celkem: {s['total']:5d}")
|
||||
print(f" V Medicusu: {s['in_medicus']:5d}")
|
||||
print(f" MIMO Medicus: {s['out_medicus']:5d}")
|
||||
|
||||
print("\n" + "=" * 90)
|
||||
print("SHRNUTÍ:")
|
||||
print("=" * 90)
|
||||
|
||||
with_user = sum(s['total'] for k, s in stats.items() if "S user_id" in k)
|
||||
without_user = sum(s['total'] for k, s in stats.items() if "BEZ user_id" in k)
|
||||
|
||||
print(f"\nCelkem S user_id: {with_user}")
|
||||
print(f"Celkem BEZ user_id: {without_user}")
|
||||
print(f"CELKEM: {with_user + without_user}")
|
||||
|
||||
# Vztah k Medicusu
|
||||
active_with_user_out = sum(s['out_medicus'] for k, s in stats.items() if "ACTIVE" in k and "S user_id" in k)
|
||||
active_without_user_out = sum(s['out_medicus'] for k, s in stats.items() if "ACTIVE" in k and "BEZ user_id" in k)
|
||||
|
||||
print(f"\nACTIVE S user_id mimo Medicus: {active_with_user_out}")
|
||||
print(f"ACTIVE BEZ user_id mimo Medicus: {active_without_user_out}")
|
||||
print("=" * 90)
|
||||
Reference in New Issue
Block a user