This commit is contained in:
2026-01-16 18:16:33 +08:00
parent 9f3c96ce73
commit e53c3c838c
26 changed files with 1473 additions and 386 deletions

View File

@@ -0,0 +1,54 @@
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()