#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""诊断：生命科学销售部在 ERP 件里的量级是否合理（对比官方月度数据文件）。"""
import os

import pandas as pd

BASE = '/Users/liuxinyuan/Desktop/hermas输入-工作台数据库'
ORD = os.path.join(BASE, '月度销售额数据', '销售订单_20260101-20260930.xlsx')
ORG = os.path.join(BASE, '销售组织架构', '统一工作台运行及授权.xlsx')
LSFILE = os.path.join(BASE, '月度销售额数据', '3、2026上半年月度数据-生命科学销售部.xlsx')

df = pd.read_excel(ORD)
df['_d'] = pd.to_datetime(df['合同日期'], errors='coerce').dt.strftime('%Y-%m-%d')
df['_m'] = df['_d'].str[:7]
df['_amt'] = pd.to_numeric(df['价税合计'], errors='coerce').fillna(0.0)
std = df[(df['单据类型'] == '标准销售订单') & (df['单据状态'] == '已审核') & (df['是否赠品'] != '是')]
std = std[~std['客户'].astype(str).str.contains('宝锐|宝泰|横琴', na=False)]
std = std.copy()
std['_sp'] = std['销售员'].astype(str).str.strip()

org = pd.read_excel(ORG, sheet_name='人员清单')
dept_of = dict(zip(org['销售员'].astype(str).str.strip(), org['部门'].astype(str)))
std['_dept'] = std['_sp'].map(dept_of).fillna('(未在名册)')

print('=== 全公司 2026 各月金额（万元，管道口径）===')
piv = std.pivot_table(index='_m', columns='_dept', values='_amt', aggfunc='sum').fillna(0) / 1e4
piv['合计'] = piv.sum(axis=1)
print(piv.round(3).to_string())
print()
print('=== 未在名册的销售员（这些人合计多少）===')
nz = std[std['_dept'] == '(未在名册)']
print('  行数 %d ｜ 金额 %.4f 万 ｜ 人名: %s' % (len(nz), nz['_amt'].sum() / 1e4,
      dict(nz['_sp'].value_counts().head(10))))
print()
print('=== 官方文件：3、2026上半年月度数据-生命科学销售部.xlsx ===')
if os.path.exists(LSFILE):
    xl = pd.ExcelFile(LSFILE)
    print('  sheets:', xl.sheet_names)
    for sh in xl.sheet_names[:2]:
        d = pd.read_excel(LSFILE, sheet_name=sh)
        print('  ── %s 形状 %s' % (sh, d.shape))
        print('     列:', list(d.columns)[:14])
        print(d.head(12).to_string()[:1600])
else:
    print('  文件不存在')
