BIORI BIOTECH 销售管理工作台 — 数据对应关系与更新逻辑 ═══════════════════════════════════════════════════════════════ 文件: 工具/宝锐统一工作平台.html 访问: http://127.0.0.1:8765/工具/宝锐统一工作平台.html ═══════════════════════════════════════════════════════════════ 零、数据架构(修正) ═══════════════════════════════════════════════════════════════ 实际数据流: [浏览器] ──fetch──→ [127.0.0.1:8765 api_server.py] │ ┌─────────────┼─────────────┐ ▼ ▼ ▼ 本地JSON MCP代理转发 静态文件 (ERP数据) project.feishu.cn (HTML/JS) │ │ │ ▼ │ 飞书项目服务器 │ (SaaS云端) │ 完全离线 需要网络+Token 数据源分两类: 完全本地(无网络依赖): daily_sales_mcp.json ← ERP Excel手动导入 daily_tests.json ← ERP批量导出 kpi_dashboard.json ← ERP审计数据 feishu_blockers.json ← MCP管道批量拉取后缓存本地 TASKS 变量 ← 月度协议书硬编码 MCP代理(本地→飞书云端): /api/activities → 飞书项目 销售管理.story /api/complaints → 飞书项目 售后管理 list_todo → "云端依赖"指飞书SaaS(本来就是你的业务系统) → "不上云"指不传第三方/AI平台/公共存储 → hermas输入-工作台数据库文件夹在任何链路中均不外传 ═══════════════════════════════════════════════════════════════ 一、角色分权 ═══════════════════════════════════════════════════════════════ 角色 | 可见范围 | 说明 ──────────┼────────────────────────┼────────────────────────── 🏢 总经理 | 全部门 | 所有数据可见 📊 销售总监| 诊断原料(大客户+拓展) | 过滤dept=诊断原料销售部 💼 销售员 | 仅自己(下拉选择) | 按sales字段筛选 ═══════════════════════════════════════════════════════════════ 二、六大面板 — 数据对应关系 ═══════════════════════════════════════════════════════════════ ┌─────────────────────────────────────────────────────────────┐ │ 📋 面板1: 每日活动 │ ├─────────────────────────────────────────────────────────────┤ │ 数据源: MCP实时API (/api/activities) │ │ 拉取方式: search_by_mql → 销售管理.story │ │ MQL: SELECT name,description,创建时间,创建者, │ │ work_item_id FROM 销售管理.story │ │ WHERE 创建时间 >= "2026-07-01" │ │ ORDER BY 创建时间 DESC LIMIT 50 OFFSET {n} │ │ 分页逻辑: 循环OFFSET 0/50/100... 直到返回为空或<50条 │ │ 字段映射: │ │ name → 客户/活动名(点击跳转飞书链接) │ │ desc → 摘要(前200字) │ │ 创建者 → 销售员(优先用USER_CACHE解析,否则用user_key) │ │ 部门推断: 名称含"课题组" → 生命科学销售部 │ │ 否则 → 诊断原料销售部 │ │ 类型推断: 含"线上"/"电话" → 线上跟进 │ │ 含"测试"/"送样" → 测试跟进 │ │ 其他 → 拜访 │ │ 显示列: 日期 | 部门 | 客户/活动 | 销售员 | 类型 │ │ 显示条数: 最近15条 │ │ 更新频率: 每次切换标签(2分钟缓存) │ │ 备选数据: 数据/daily_activities_mcp.json(手动Excel导入) │ ├─────────────────────────────────────────────────────────────┤ │ ⚠️ 准确性验证: │ │ 7月MCP拉取 = 24条 story(飞书项目实际活动数) │ │ 7月Excel导出 = 332行(每个活动按客户展开多行) │ │ → MCP的24条是准确的活动数 │ └─────────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────────┐ │ 📦 面板2: 销售单 │ ├─────────────────────────────────────────────────────────────┤ │ 数据源: 数据/daily_sales_mcp.json(当前=ERP手动导出) │ │ 手动更新: 从 hermas输入-工作台数据库/月度销售额数据/ │ │ 销售订单导出-销售管理-YYYYMMDD-YYYYMMDD.xlsx │ │ 通过Python管道写入JSON │ │ JSON结构: {days:[...], daily:{date:[{ │ │ order_no, customer, product_code, │ │ unit_price, amount, date │ │ }]}} │ │ Excel列: [0]单据编号 [3]客户 [6]合同日期 [21]货号# │ │ [30]含税单价 [36]价税合计(本位币) │ │ 跳过逻辑: Row0=表头, Row1=分组标签("「杨天雄」共20个") │ │ amt≤0 或 NaN 的行跳过 │ │ 显示列: 日期 | 客户 | 货号 | 金额 │ │ 显示条数: 最近12条 │ │ 顶栏KPI: 7月累计 / 7月目标 / 达成率% │ │ 目标来自 kpi_dashboard.json depts[].h2_months[0] │ │ 更新频率: 手动(需用户放入Excel→运行管道) │ ├─────────────────────────────────────────────────────────────┤ │ ⚠️ 差异说明: │ │ 当前ERP = 126条 ¥90.7万 │ │ 参考MCP = 441条 ¥80.3万(之前拉取) │ │ → 差异原因待确认(ERP含已审核?MCP含全部?) │ └─────────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────────┐ │ 🧪 面板3: 测试单 │ ├─────────────────────────────────────────────────────────────┤ │ 数据源: 数据/daily_tests.json(ERP批量导出) │ │ JSON结构: {days:[...], daily:{date:{ │ │ count, amount, │ │ details:[{client,product,qty,amount,sales}] │ │ }}} │ │ 显示列: 日期 | 客户 | 产品 | 销售员 | 金额 │ │ 显示条数: 最近12条 │ │ 更新频率: 手动(ERP导出→JSON) │ │ 告警规则: 同一项目≤2次免费送样 | >10万订单审批至总经理 │ ├─────────────────────────────────────────────────────────────┤ │ ⚠️ 无MCP来源,依赖ERP手动更新 │ └─────────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────────┐ │ 💬 面板4: 售后客诉 │ ├─────────────────────────────────────────────────────────────┤ │ 数据源: MCP实时API (/api/complaints) │ │ 拉取方式: list_todo → 售后管理PK(658288abfb8bd616b17025f1) │ │ 解析逻辑: 从work_item_name提取YYYYMMDD日期 → 计算days │ │ 字段: days(距今天数), name, urgency(等级), url, ka(K/A) │ │ 筛选: 仅显示 days ≥ 100 的客诉 │ │ 显示列: 天数 | 客诉 | 等级 │ │ 显示条数: 最近8条 │ │ 更新频率: 每次切换标签(2分钟缓存) │ │ 备选数据: 数据/feishu_complaints.json │ └─────────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────────┐ │ 📖 面板5: 正面案例库(iframe嵌入) │ ├─────────────────────────────────────────────────────────────┤ │ 嵌入页面: http://127.0.0.1:8765/工具/科研测试反馈.html │ │ 数据源: 数据/test_feedback_full.json │ │ 内容: 正负面反馈统计 + 产品评级 + 分享卡片 │ │ 更新频率: 独立页面自行加载数据 │ └─────────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────────┐ │ ⏰ 面板6: 关键待办 + KPI + 阻塞 + 任务协议 │ ├─────────────────────────────────────────────────────────────┤ │ KPI子表: │ │ 数据源: 数据/kpi_dashboard.json │ │ JSON: {depts:[{h1_months, h2_months, target, │ │ h1_total, h1_rate}], people:[...]} │ │ 显示: H1部门完成率(年目标/H1实际/完成率+进度条) │ │ 更新: 手动(ERP审计数据) │ │ │ │ 阻塞子表: │ │ 数据源: 数据/feishu_blockers.json │ │ 显示: 前6条(等级 | 天数 | 工作项) │ │ 更新: cron定时(8:00/18:00)+ 手动管道 │ │ │ │ 任务协议: │ │ 数据源: 硬编码(来自月度关键任务协议书) │ │ 大客户部: 拜访≥28次(30%) 测试单≥12(20%) 逾期≥70% │ │ 拓展部: 拜访≥24次(30%) 测试单≥10(20%) NGS≥3家 │ │ 生命科学: 新客户+课题组+上级评分 │ │ 更新: 手动(读取Excel→更新TASKS变量) │ └─────────────────────────────────────────────────────────────┘ ═══════════════════════════════════════════════════════════════ 三、数据管道路径一览 ═══════════════════════════════════════════════════════════════ 数据 → JSON文件 → 面板 ───────────────────────────────────────────────────────────────── MCP activities API → 内存 → 活动 ERP Excel手动导出 → daily_sales_mcp.json → 销售 ERP批量导出 → daily_tests.json → 测试 MCP complaints API → 内存 → 客诉 test_feedback_full → JSON → 案例(iframe) kpi_dashboard → JSON → KPI feishu_blockers → JSON (cron刷新) → 阻塞 任务协议书(Excel) → TASKS硬编码 → 任务 ═══════════════════════════════════════════════════════════════ 四、页面底部同步状态条 ═══════════════════════════════════════════════════════════════ 活动 ████████ 100% MCP实时 销售单 ████████ 100% ERP 测试单 ████████ 100% ERP 客诉 ████████ 100% MCP实时 KPI ████████ 100% ERP 阻塞 ████████ 100% 缓存 ═══════════════════════════════════════════════════════════════ 五、数据安全声明(修正) ═══════════════════════════════════════════════════════════════ MCP实时数据: 浏览器→127.0.0.1:8765→project.feishu.cn(飞书SaaS) token仅发给飞书官方API ERP数据: 完全本地,JSON文件存储 Excel原始文件: hermas输入-工作台数据库/,任何链路均不外传 → "不上云"含义: 不传第三方AI平台/公共存储/GitHub → 飞书本身就是你的业务系统,属于"内网"范畴 ═══════════════════════════════════════════════════════════════ 生成时间: 2026-07-10 ═══════════════════════════════════════════════════════════════