48 lines
1.5 KiB
Python
48 lines
1.5 KiB
Python
|
|
import sys
|
|
import os
|
|
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
from app.models import get_db, SampleRecord, OrderRecord
|
|
from app.routers.lab import get_conversions, build_order_lookups, parse_date
|
|
from app.services.fuzzy_matcher import normalize_pn_for_matching, normalize_customer_name
|
|
|
|
db = next(get_db())
|
|
|
|
print("--- DEBUG START ---")
|
|
# 1. Check Date Parsing
|
|
print(f"Date '45292' parses to: {parse_date('45292')}")
|
|
|
|
# 2. Check Raw Data Count
|
|
s_count = db.query(SampleRecord).count()
|
|
o_count = db.query(OrderRecord).count()
|
|
print(f"Total Samples: {s_count}, Total Orders: {o_count}")
|
|
|
|
# 3. Check Top Data
|
|
print("\n--- Top 3 Samples ---")
|
|
samples = db.query(SampleRecord).limit(3).all()
|
|
for s in samples:
|
|
print(f"S: {s.customer} (ID:{s.cust_id}) | PN: {s.pn} | Date: {s.date}")
|
|
|
|
print("\n--- Top 3 Orders ---")
|
|
orders = db.query(OrderRecord).limit(3).all()
|
|
for o in orders:
|
|
print(f"O: {o.customer} (ID:{o.cust_id}) | PN: {o.pn} | Date: {o.date}")
|
|
|
|
# 4. Check Lookups
|
|
lookup_id, lookup_name = build_order_lookups(db.query(OrderRecord).all())
|
|
print(f"\nLookup ID Size: {len(lookup_id)}")
|
|
print(f"Lookup Name Size: {len(lookup_name)}")
|
|
if len(lookup_name) > 0:
|
|
first_key = list(lookup_name.keys())[0]
|
|
print(f"Example Name Key: {first_key} -> {lookup_name[first_key]}")
|
|
|
|
# 5. Check Conversions
|
|
print("\n--- Run Logic ---")
|
|
conversions = get_conversions(db)
|
|
print(f"Total Conversions Found: {len(conversions)}")
|
|
for c in conversions[:3]:
|
|
print(c)
|
|
|
|
print("--- DEBUG END ---")
|