8.6 KiB
康尼映射表数据验证报告(阶段 A)
Round 76 更新:下方“2/10 订单”是阶段 A 历史基线,已被当前 10/10 导入与 Web 试排结果替代;设备/模具现场映射缺口仍然有效。
Round 76 当前结果
- 订单:10/10;工艺记录:72;唯一工序:26;工时来源:72/72 为
工时.xlsx。 - BOM:965 条源行,按产品/物料投影后 823 条。
- BOM 对账:84 条差异用量按“订单+物料+消耗工序”显式求和,58 条完全重复记录去重;不同消耗工序分别保留。
- 资源:41 台设备、40 套模具;40 台真实设备仍无工序能力,40 套模具仍缺工序/设备/寿命映射。
- 本地 trial:10 VL / 72 WO / 10 DELAY;当前共享设备占位下总延期约 33,576.13h、利用率 0.167,只作诊断。
- Web:新建项目 -> 上传 9 份 XLSX -> 分析 -> “根据这些数据排产” -> P2 -> 五策略 -> MPS trace/gap -> 订单/设备导出已实测通过。
- 数据保护:9 份源 Excel 与上传副本 SHA-256 一致;只读 CLI 前后默认
world.json不变。 - 操作手册:kangni-real-data-browser-runbook.md。
已解决的历史问题:
Sheet2-Sheet9不再按 sheet 名猜订单;工艺按工时规范序列匹配,BOM 按结构化工单编号归集。- 主订单标准工时优先回填
工时.xlsx,不再保留 45/30 分钟推断值。 - 映射模板兼容带括号说明的表头。
仍待现场完成:设备-工序真实能力、模具-工序/设备/寿命、库存/在途、可动率、移动/换型和班次参数。
- 日期:2026-08-17
- 角色:康尼真实数据验证工程师(sub-agent)
- 工作区:当前仓库根目录
- 数据目录:
KANGNI_DATA_DIR(不在 git 内) - 运行命令:
.\.venv\Scripts\python.exe -X utf8 scripts/load_kangni.py --with-siblings --no-persist
阶段 A 历史结果(已被 Round 76 替代)
导入与排产成功,映射表被实际读取:
- 订单数:2 / 10(主订单 102285668 + 同源订单 102289293)
- 设备数:41 台(40 台来自
设备.xlsx+ 1 台共享装配设备占位) - 模具数:40 套(全部来自
模具.xlsx) - 工序种:10(仅已导入 2 个订单的并集;真实源表共 26 道)
- VL / WO:2 / 20
- 冲突:2(均为 MAJOR DELAY)
- 总延期:921.31 h
- 利用率:0.0612
- 关键推断:
设备能力映射表已读取(41 台)、模具适配映射表已读取(40 套) - 全部工序落在共享设备
EQ-SHARED-CG-01上,符合“保守假设 + 待现场确认”口径
生成 / 修改文件
%KANGNI_DATA_DIR%\设备能力映射模板.xlsx(新建,非 git)%KANGNI_DATA_DIR%\模具适配映射模板.xlsx(新建,非 git)docs/development/kangni-mapping-validation.md(本报告)tests/golden/test_kangni_mapping_validation.py(解析契约测试)
未修改 server/**、apps/web/**、docs/CHANGELOG.md、docs/product/**、康尼项目/*.xlsx,
也未覆盖用户目录中已生成的两份模板。
数据口径与假设
- 真实工序编号:来自
工时.xlsx10 个订单 sheet,共 26 道;工艺路线.xlsx的 Sheet2-9 与 BOM 的工单编号对应后 8 个订单,工序集合与工时表一致。 - 真实标准工时:采用
工时.xlsx每道工序在各订单中的最大值(分钟/件),写入共享设备行的“单件工时”。 - 设备:40 台真实设备全部入表,
可执行工序编号留空,状态按源表启用/停用映射为RUNNING/MAINTENANCE;区域编码取源表工段编号,缺省ZONE-CG。40 台中无装配类设备,因此不伪称能力。 - 共享设备:
EQ-SHARED-CG-01 共享装配设备(待现场确认)为合成占位,覆盖全部 26 道工序; 这是保守假设,不代表任何真实设备已确认能力。 - 模具:40 套真实模具全部入表,
适用工序编号/适配设备编号/寿命上限/已用寿命留空,requireMold=false,不占模具槽,全部标注“待现场确认”。 - 可动率、是否可移动、移动耗时、换型耗时、班次日历均未取得现场值,使用保守默认值。
发现的问题
工艺路线.xlsx和BOM.xlsx后 8 个订单位于Sheet2-9,sheet 名不是订单号;parse_routing_sheet/parse_bom_sheet仅按订单号查找 sheet,导致--with-siblings只导入 2 / 10 个订单。- 主订单 102285668 从
outputs/.../订单102285668_完整生产路线.xlsx解析时未回填工时.xlsx真实值,10 道工序仍按类型推断为 45 / 30 分钟;同源订单 102289293 已使用真实工时。 康尼项目/设备能力映射模板.xlsx、模具适配映射模板.xlsx的表头带括号说明 (如单件工时(分钟,工序:分钟;多值分号)、适配模具编号(逗号分隔)), 而parse_equipment_capability_map/parse_mold_adaptation_map的列别名不含括号, 导致这两份模板即使填写了单件工时、适配模具/设备,也会被解析为空。本次未修改该目录文件; 新建于康尼/数据的两份映射表使用解析器精确表头,已验证可完整解析。
缺什么
- 设备 → 工序真实能力映射(当前仅共享设备占位)
- 模具 → 工序 / 适配设备 / 寿命上限 / 已用寿命映射
- 8 个订单的 sheet 命名或按
工单编号列解析的导入支持 - 主订单真实工时回填
- 可动率、移动耗时、换型耗时、班次日历、库存 / 在途等现场参数
下一步
- 由现场确认 26 道工序实际使用哪些设备/工装,再回填
康尼/数据两份映射表; - 将工艺/BOM 的 Sheet2-9 重命名或增强导入解析(需
server改动,本 sub-agent 不擅自改); - 补齐主订单工时回填后,重跑 10 订单全量导入并核对延期/利用率。
协作沟通记录
本 sub-agent 会话未暴露 multi_agent_v1__send_input 工具(函数列表与 MCP 资源均为空),
因此无法直接向 peer 发送消息。以下为已备好、供 supervisor/协调层转发的中文消息:
握手(发给 01a00bc6-091a-7110-a7d7-22604e1cdd85 MPS 计划台接线、
01a00bc6-2106-7831-bbcc-f722bcdf37ff 策略/导出增强):
我是康尼真实数据验证工程师。我的数据范围:
康尼/数据的工艺路线/工时/设备/模具/订单/BOM, 输出设备能力映射模板.xlsx与模具适配映射模板.xlsx(40 真实设备 + 1 共享设备占位、 40 套真实模具,能力/适配均标注“待现场确认”)。预计在 2026-08-17 完成导入验证与报告。 请确认共享工作区可读可写;如你们涉及订单结构、设备/模具主数据口径,请同步告知。
完成摘要(发给两位 peer):
康尼映射验证完成。已生成/更新
康尼/数据两份映射表并跑通load_kangni.py --with-siblings --no-persist:读取 41 台设备、40 套模具, 2 订单/20 WO,冲突 2,总延期 921.31h,利用率 0.0612,全部工序走共享设备占位。 注意:真实源表共 26 道工序,但工艺/BOM 后 8 个订单在 Sheet2-9(sheet 名非订单号), 当前导入只覆盖 2 个订单;主订单工时仍为推断值;康尼项目模板表头带括号说明,解析器读不到 单件工时/适配模具/适配设备。需要你们在 MPS/导出侧按“2 订单 + 共享设备”口径处理, 完整 10 订单能力待现场确认后重跑。
2026-08-17 收到 supervisor 转发的 peer 01a00bc6-091a-7110-a7d7-22604e1cdd85(MPS 计划台接线)
握手与完成摘要:其范围为 client.ts/types.ts/PlanBucketsView.tsx MPS 页签、mps_api.py 契约小修、
test_mps_planning.py,不碰 engines/flex/reports/docs/康尼项目;persist/trace/gap 接线完成,
mps_planning 9 passed + contract_sync 12 passed + build:web 通过;调用 /api/mps/persist 时
createdBy 请使用 LLM/USER/SYSTEM。已核对共享工作区存在对应未提交改动
(server/gateway/mps_api.py、server/aps_domain/mps_planning.py 等),与 peer 描述一致。
回复文本(供 supervisor 转发给该 peer):
收到,握手和完成摘要已确认。我的数据侧口径:26 道真实工序、40 台真实设备 + 1 台共享设备占位、 40 套真实模具,映射均标注“待现场确认”;
load_kangni.py --with-siblings --no-persist当前只导入 2 个订单,全部工序走EQ-SHARED-CG-01。createdBy我会按LLM/USER/SYSTEM口径使用,不额外引入自定义值。需要你们在 MPS 侧把 2 订单共享设备结果视为保守占位, 完整 10 订单待 Sheet2-9/工时回填问题解决后重跑。