55 lines
2.0 KiB
Python
55 lines
2.0 KiB
Python
|
|
from app.services.fuzzy_matcher import normalize_customer_name, normalize_pn_for_matching
|
|
from app.routers.lab import parse_date
|
|
from datetime import datetime
|
|
|
|
def debug_lab_logic():
|
|
print("--- Debugging Lab Logic Normalization ---")
|
|
|
|
# Test Data from User Scenario
|
|
sample_cust = "Semisales Co., LTD"
|
|
sample_pn = "PSMQC098N10LS2-AU_R2_002A1"
|
|
sample_date_str = "20250913" # From previous debug output
|
|
|
|
order_cust = "SEMISALES"
|
|
order_pn = "PSMQC098N10LS2-AU_R2_002A1"
|
|
order_date_str = "2025-06-05" # From previous debug output
|
|
|
|
# Normalization
|
|
norm_sample_cust = normalize_customer_name(sample_cust)
|
|
norm_order_cust = normalize_customer_name(order_cust)
|
|
|
|
norm_sample_pn = normalize_pn_for_matching(sample_pn)
|
|
norm_order_pn = normalize_pn_for_matching(order_pn)
|
|
|
|
print(f"Sample Customer '{sample_cust}' -> '{norm_sample_cust}'")
|
|
print(f"Order Customer '{order_cust}' -> '{norm_order_cust}'")
|
|
print(f"Customer Match: {norm_sample_cust == norm_order_cust}")
|
|
|
|
print(f"Sample PN '{sample_pn}' -> '{norm_sample_pn}'")
|
|
print(f"Order PN '{order_pn}' -> '{norm_order_pn}'")
|
|
print(f"PN Match: {norm_sample_pn == norm_order_pn}")
|
|
|
|
# Key Check
|
|
sample_key = (norm_sample_cust, norm_sample_pn)
|
|
order_key = (norm_order_cust, norm_order_pn)
|
|
print(f"Sample Key: {sample_key}")
|
|
print(f"Order Key: {order_key}")
|
|
print(f"Key Match: {sample_key == order_key}")
|
|
|
|
# Date Parsing Check
|
|
print("\n--- Date Parsing Check ---")
|
|
s_date = parse_date(sample_date_str)
|
|
o_date = parse_date(order_date_str)
|
|
print(f"Sample Date Raw: '{sample_date_str}' -> Parsed: {s_date}")
|
|
print(f"Order Date Raw: '{order_date_str}' -> Parsed: {o_date}")
|
|
|
|
if s_date and o_date:
|
|
diff = (o_date - s_date).days
|
|
print(f"Date Diff (Order - Sample): {diff} days")
|
|
if diff < 0:
|
|
print("WARNING: Order is BEFORE Sample. Velocity calculation might filter this out if checking diff >= 0.")
|
|
|
|
if __name__ == "__main__":
|
|
debug_lab_logic()
|