#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 驗證新增欄位的資料 """ import sys import os sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) from database.vendor_manager import VendorDatabaseManager from database.vendor_models import VendorStockout def verify_new_fields(): """驗證新增欄位""" db = VendorDatabaseManager() session = db.get_session() try: # 查詢第一筆記錄 record = session.query(VendorStockout).first() if not record: print("❌ 沒有資料!") return print("=" * 80) print("完整資料檢查") print("=" * 80) print(f"\n📅 日期欄位:") print(f" 當前日期 (import_date): {record.import_date}") print(f" 缺貨日期 (stockout_date): {record.stockout_date}") print(f"\n👤 組織欄位:") print(f" 處別 (department): {record.department}") print(f" 科別 (section): {record.section}") print(f" PM姓名 (pm_name): {record.pm_name}") print(f" 區ID (zone_id): {record.zone_id}") print(f" 區名稱 (zone_name): {record.zone_name}") print(f"\n📦 商品欄位:") print(f" 商品ID (product_code): {record.product_code}") print(f" 商品名稱 (product_name): {record.product_name[:50]}...") print(f" 單品/組合商品 (product_spec): {record.product_spec}") print(f" 借採轉 (borrow_transfer): {record.borrow_transfer}") print(f"\n🏢 廠商欄位:") print(f" 來源供應商編號 (vendor_code): {record.vendor_code}") print(f" 來源供應商名稱 (vendor_name): {record.vendor_name}") print(f"\n📊 數量欄位:") print(f" 商品可賣量 (current_stock): {record.current_stock}") print(f" 缺貨天數 (stockout_days): {record.stockout_days}") print(f" 缺貨商品前30天業績 (monthly_sales_amount): {record.monthly_sales_amount}") print(f" 最近30天銷售量 (monthly_sales_qty): {record.monthly_sales_qty}") print(f" 庫存水位 (safe_stock_days): {record.safe_stock_days}") print(f"\n📝 其他:") print(f" notes: {record.notes}") # 檢查所有記錄 print("\n" + "=" * 80) print("檢查所有記錄") print("=" * 80) all_records = session.query(VendorStockout).all() for i, r in enumerate(all_records, 1): print(f"\n記錄 {i}:") print(f" 當前日期: {r.import_date}") print(f" 區ID: {r.zone_id}") print(f" 區名稱: {r.zone_name}") print(f" 商品ID: {r.product_code}") print(f" 借採轉: {r.borrow_transfer}") print(f" 商品可賣量: {r.current_stock}") print(f" 缺貨日期: {r.stockout_date}") print(f" 缺貨天數: {r.stockout_days}") print(f" 前30天業績: {r.monthly_sales_amount}") print(f" 最近30天銷量: {r.monthly_sales_qty}") print(f" 庫存水位: {r.safe_stock_days}") print("\n" + "=" * 80) except Exception as e: print(f"\n❌ 錯誤: {e}") import traceback traceback.print_exc() finally: session.close() if __name__ == '__main__': verify_new_fields()