#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""探针：ERP 订单件（20260101-20260930）结构 + 人员清单里「科研/生命科学」的部门与区域口径。"""
import os
import sys

try:
    import pandas as pd
except ImportError:
    print('NO_PANDAS', sys.executable)
    raise SystemExit(0)

BASE = '/Users/liuxinyuan/Desktop/hermas输入-工作台数据库'
ORD = os.path.join(BASE, '月度销售额数据', '销售订单_20260101-20260930.xlsx')
ORG = os.path.join(BASE, '销售组织架构', '统一工作台运行及授权.xlsx')

print('pandas', pd.__version__, '|', sys.executable)
print('订单件存在:', os.path.exists(ORD), '| 大小 %.0f KB' % (os.path.getsize(ORD) / 1024))

df = pd.read_excel(ORD)
print('\n=== 订单件 ===')
print('形状:', df.shape)
print('列名:', list(df.columns))

for c in ('合同日期', '单据日期', '创建时间'):
    if c in df.columns:
        s = pd.to_datetime(df[c], errors='coerce')
        print('  %s 范围: %s ~ %s ｜ 空值 %d' % (c, s.min(), s.max(), s.isna().sum()))
        break

for c in ('单据类型', '是否赠品', '单据状态'):
    if c in df.columns:
        print('  %s 分布:' % c, dict(df[c].value_counts(dropna=False).head(8)))

if '销售员' in df.columns:
    print('  销售员数:', df['销售员'].nunique())

print('\n=== 人员清单 ===')
org = pd.read_excel(ORG, sheet_name='人员清单')
print('形状:', org.shape, '| 列:', list(org.columns))
print('部门分布:', dict(org['部门'].value_counts(dropna=False)))
if '区域' in org.columns:
    print('区域分布(前 25):')
    for k, v in org['区域'].value_counts(dropna=False).head(25).items():
        print('   %-24s %d' % (str(k), v))
