"""检查日销售数据"""
import pandas as pd
import sys
sys.stdout.reconfigure(encoding='utf-8')

df = pd.read_parquet(r'C:\Users\Administrator\.openclaw\workspace\letaro\data_model\sales.parquet')
sales = df[df['is_refund']==False].copy()
sales['date'] = sales['sale_time'].dt.strftime('%Y-%m-%d')

daily = sales.groupby('date').agg(
    销售额=('subtotal','sum'),
    单数=('receipt_no','count'),
    件数=('quantity','sum')
).sort_index()

print('每日销售数据：')
total = 0
for d, row in daily.iterrows():
    total += float(row['销售额'])
    print(f"{d}: 销售额=¥{float(row['销售额']):,.0f}  单数={int(row['单数'])}  件数={int(row['件数'])}  累计=¥{total:,.0f}")

print(f"\n合计: ¥{float(daily['销售额'].sum()):,.0f}")
print(f"总计单数: {int(daily['单数'].sum())}")
print(f"总计件数: {int(daily['件数'].sum())}")
print(f"\n日均: ¥{float(daily['销售额'].mean()):,.0f}")
print(f"单日最高: ¥{float(daily['销售额'].max()):,.0f}")
print(f"单日最低: ¥{float(daily['销售额'].min()):,.0f}")
print(f"数据天数: {len(daily)}")

# 看看几个异常的日
print("\n=== 低销量日 ===")
low = daily[daily['销售额'] < 30000]
for d, row in low.iterrows():
    print(f"  {d}: ¥{float(row['销售额']):,.0f}  单数={int(row['单数'])}")
