#智能货架 MES Web App 使用与配置 Playbook
适用对象:系统管理员、集成运维、SMT 物料员 / 上料员、现场班组长。
适用范围:MES Web App 中的智能货架正式业务页与联调 / 运维页。
更新时间:2026-05-16。
重要边界:货架出库只表示“料盘已从货架取出”,不等于“已上料”;产线上料必须继续走 MES 上料防错。
#1. 角色与入口
#1.1 权限
| 使用者 | 需要权限 | 可做的事 |
|---|---|---|
| 现场查看人员 | LOADING_VIEW | 查看智能货架总览、库存、待上料队列、SMT 备料候选。 |
| 物料员 / 上料员 | LOADING_VERIFY | 创建入库任务、创建 SMT 备料出库任务、进入上料防错。 |
| 集成运维 / 系统管理员 | SYSTEM_INTEGRATION | 查看默认配置、命令日志、回调日志、手动对账、处理对账差异、重试失败命令、使用 fake 联调工具。 |
如果页面显示“无权限”,先让系统管理员检查账号角色是否包含上面对应权限。
#1.2 Web 入口
正式业务入口在左侧菜单:
SMT 管理→智能货架总览SMT 管理→货架入库SMT 管理→货架备料出库SMT 管理→待上料队列SMT 管理→货架库存
集成 / 运维入口在左侧菜单:
集成与运维→智能货架联调台
正式业务页给现场人员使用;联调台只给集成运维使用,不作为日常作业入口。
#2. 核心概念
| 概念 | 说明 | 操作注意 |
|---|---|---|
| 中控服务 | MES 调用的供应商 / 商家中控服务,默认端口 4001。MES 不直接调用货架硬件。 | 真实上线前必须确认 baseUrl、固定 IP、端口、防火墙。 |
货架编码 shelfCode | 当前首台货架默认 Shelf-01668。 | 入库可留空使用默认货架;多货架后必须明确选择。 |
| 储位 | 由 shelfCode / side / userRow / userColumn 定位。 | side 当前为 A 或 B;行列以现场贴纸为准。 |
MES 单盘码 reelId | MES 生成的唯一单盘标识。 | 现场上料扫码优先扫它。 |
协议 reelID / protocolReelId | MES 发送给中控、回调时匹配的协议单盘标识。 | 可以作为扫码备选,但必须与 MES 单盘记录一致。 |
原始二维码 rawBarcode | 来料标签原文。 | 允许重复,不能当作唯一单盘码。 |
| 库存投影 | MES 根据货架回调维护的当前在架状态。 | 以回调和对账结果更新,不等于 ERP/WMS 总库存。 |
| 待上料队列 | 已从货架出库、但尚未通过产线上料防错的料盘。 | 必须继续进上料防错。 |
| 对账差异 | MES 投影与中控查询结果不一致。 | 只能人工确认 / 忽略 / 标记处理;不会自动修正投影。 |
#3. 上线前配置 Playbook
#3.1 现场信息准备
上线前先收齐以下信息。没有这些信息,不要宣布真实货架可上线。
| 项目 | 示例 / 当前默认 | 谁提供 |
|---|---|---|
| 中控服务 base URL | http://<server-fixed-ip>:4001 | 供应商 / 运维 |
| 中控服务服务器固定 IP | 现场实际 IP | 运维 |
| 中控服务端口 | 默认 4001 | 供应商 / 运维 |
| MES 外部可达地址 | https://<mes-host> 或内网 URL | 运维 |
| stock-in callback URL | <MES_BASE_URL>/api/smart-shelves/callbacks/stock-in | MES / 运维 |
| stock-out callback URL | <MES_BASE_URL>/api/smart-shelves/callbacks/stock-out | MES / 运维 |
| MES → 中控鉴权 header | 例如 Authorization,以供应商为准 | 供应商 |
| MES → 中控 tokenRef | env:<ENV_NAME> | 运维 |
| 中控 → MES 鉴权 header | 建议 x-integration-key,以供应商为准 | 供应商 / 运维 |
| 中控 → MES tokenRef | env:<ENV_NAME> | 运维 |
| 货架编码 | Shelf-01668 | 现场 / 供应商 |
| 货架固定 IP | 当前现场信息:192.168.1.100 | 现场 / 供应商 |
| 货架 MAC | 当前现场信息:88-A2-9E-6B-40-FA | 现场 / 供应商 |
| A/B 面与行列贴纸 | A/B、userRow、userColumn | 现场 |
| callback 重传语义 | 间隔、次数、是否乱序、事件号是否稳定 | 供应商 |
taskOutInfo 回传语义 | 是否原样回传 | 供应商 |
| 异常语义 | actionType=-1/2、errorIn/errorOut、clearError | 供应商 |
密钥不能写入文档、截图或聊天记录;Web 页面也不录入明文 token。真实值放部署环境变量 / secret,系统只保存 env:<NAME> 这种引用。
#3.2 现场配置落地指导
现场配置分三层:中控服务、货架设备、货架储位。现场人员在 Web App 里只核对和使用配置;真实配置由系统管理员 / 运维在部署环境变量、secret 或数据库配置层完成。
#3.2.1 中控服务配置
中控服务记录对应 SmartShelfService。上线前至少确认:
| 字段 | 配置口径 |
|---|---|
code | 中控服务编码,例如 SMART-SHELF-MIDDLE-001。现场只有一个中控时保持默认即可。 |
baseUrl | MES 调用中控的地址,例如 http://<server-fixed-ip>:4001。必须从 MES 服务器可访问。 |
hostIp | 中控服务器固定 IP,用于现场排障和防火墙核对。 |
enabled | 真实上线必须为启用;停用后 MES 不应继续下发任务。 |
outboundAuthHeaderName | MES → 中控请求使用的 header 名,例如 Authorization。 |
outboundAuthTokenRef | MES → 中控 token 引用,只写 env:<ENV_NAME>,不写明文。 |
inboundAuthHeaderName | 中控 → MES callback 使用的 header 名,建议 x-integration-key。 |
inboundAuthTokenRef | 中控 → MES callback token 引用,只写 env:<ENV_NAME>,不写明文。 |
timeoutMs | MES 调中控超时时间,默认 5000;现场网络慢时由运维评估调整。 |
推荐的 tokenRef 形态:
textoutboundAuthHeaderName = Authorization\noutboundAuthTokenRef = env:SMART_SHELF_OUTBOUND_TOKEN\ninboundAuthHeaderName = x-integration-key\ninboundAuthTokenRef = env:SMART_SHELF_CALLBACK_TOKEN
给供应商 / 中控配置的 MES callback 地址:
text<MES_BASE_URL>/api/smart-shelves/callbacks/stock-in\n<MES_BASE_URL>/api/smart-shelves/callbacks/stock-out
配置后用联调台确认:默认配置能读到中控服务;命令日志里出站请求带正确 header 名;callback 无 header 或错误 token 时应被拒绝,正确 token 才进入回调日志。
#3.2.2 货架设备配置
货架设备记录对应 SmartShelfDevice。上线前至少确认:
| 字段 | 配置口径 |
|---|---|
shelfCode | 货架编码,例如 Shelf-01668。必须与供应商协议、现场贴纸、MES 页面一致。 |
fixedIp | 货架固定 IP,例如当前现场 192.168.1.100。 |
macAddress | 货架 MAC,例如当前现场 88-A2-9E-6B-40-FA。 |
enabled | 真实上线必须为启用;退场 / 维修设备应停用。 |
meta.modeCodes | 供应商协议里的模式码 / 动作码映射;改动前必须和供应商确认。 |
多货架上线时,每台货架都必须有唯一 shelfCode;不要复用 Shelf-01668。
#3.2.3 储位配置
储位记录对应 SmartShelfLocation。现场贴纸必须和系统储位一致:
| 字段 | 配置口径 |
|---|---|
side | 面别,只使用 A / B。现场贴纸、供应商回调和 MES 显示必须一致。 |
userRow | 用户可见行号,例如 1、2。以现场贴纸为准。 |
userColumn | 用户可见列号,例如 001。建议固定 3 位,不要混用 1 和 001。 |
配置储位后,现场按 A/B 面抽样检查:每面至少选首列、末列和一个中间列,让供应商触发一次入库回调,确认 MES 库存显示的 side / userRow / userColumn 与实际灯位一致。
#3.2.4 现场上线配置步骤
- 固定中控服务器 IP 和端口,确认 MES 服务器能访问
baseUrl。 - 固定 MES 对中控开放的 callback base URL,确认中控服务器能访问 MES。
- 在部署环境 / secret 中配置出站和入站 token 明文;系统配置层只保存
env:<NAME>引用。 - 配置或核对中控服务字段:
code、baseUrl、hostIp、enabled、鉴权 header、tokenRef、timeoutMs。 - 配置或核对货架设备字段:
shelfCode、fixedIp、macAddress、enabled、meta.modeCodes。 - 配置或核对储位字段:
side、userRow、userColumn,并和现场 A/B 面贴纸逐项对齐。 - 打开
集成与运维→智能货架联调台→默认配置,核对 Web 读到的配置和现场表一致。 - 按
user_docs/smart_shelf_go_live_runbook.md执行入库 smoke、出库 smoke、手动对账 smoke。 - smoke 通过后再开放给物料员使用正式业务页;未通过时只允许继续联调,不允许现场绕过上料防错。
#3.3 在 Web App 里核对默认配置
路径:集成与运维 → 智能货架联调台 → 默认配置。
核对项:
中控服务
编码:默认SMART-SHELF-MIDDLE-001。名称:默认智能货架中控服务。地址:当前中控服务baseUrl。主机 IP:当前中控服务器 IP。超时:默认5000 ms。状态:必须为启用。
默认设备
货架编码:默认Shelf-01668。固定 IP/MAC:必须与现场设备一致。状态:必须为启用。
储位摘要
- 当前首台货架 A/B 面储位已按现场范围预置。
回调 Header:例如x-integration-key。
当前版本 Web App 以“核对配置”为主;真实 baseUrl、tokenRef、设备固定 IP 等配置修改由系统管理员 / 运维在部署配置或数据库配置层完成,不在业务页输入明文密钥。
#3.4 货架储位配置口径
当前首台货架 Shelf-01668 的预置储位范围:
| 面别 | 行号 | userColumn 范围 |
|---|---|---|
| A | 1 | 001~060 |
| A | 2 | 001~060 |
| A | 3 | 001~060 |
| A | 4 | 001~039 |
| B | 1 | 001~024 |
| B | 2 | 001~060 |
| B | 3 | 001~060 |
| B | 4 | 001~060 |
| B | 5 | 001~039 |
如果现场贴纸、行列、A/B 面和上表不一致,先停用上线验证,更新配置后再测试。
#3.5 备料出库前的 MES 基础配置
货架备料出库 页面按 runNo + stationId + slotCode 查询候选料盘,所以在使用前必须满足:
- 工单 / 批次已经在 MES 中存在。
- 产线站位和槽位已经配置好。
- 当前槽位有期望物料或替代料规则。
- 对应物料已经完成智能货架入库,并在
货架库存页面显示为在架。 - 站位类型必须能进入上料防错链路;不要把非上料站位拿来创建货架出库任务。
#4. 日常作业 Playbook
#4.1 货架入库
路径:SMT 管理 → 货架入库。
适用场景:新料盘进入智能货架,MES 先创建唯一单盘记录,再通知中控服务等待货架回调储位。
操作步骤:
- 打开
货架入库。 - 填写必填项:
物料编码:料号,例如MAT-001。批次:物料批次,例如LOT-A。
- 填写可选项:
原始二维码:扫描来料标签原文;允许重复,仅作追溯辅助。货架编码:留空使用默认货架;多货架场景必须填写目标shelfCode。面别:A或B。初始数量:单盘初始数量。入库数量:本次入库数量;留空时按初始数量处理。
- 点击
发送入库任务。 - 页面返回:
入库任务 <taskNo>MES 单盘码 <reelId>协议 reelID <protocolReelId>任务下发/中控接收状态
- 现场按货架提示放入料盘。
- 等待中控服务回调 stock-in。
- 打开
货架库存,用MES 单盘码、物料或批次查询,确认该料盘已在架并显示储位。
验收标准:
货架库存能看到该reelId。- 库存状态为在架相关状态。
- 储位显示
shelfCode / side / userRow / userColumn。 - 如果没有回调,库存页不会凭空出现该料盘;应由运维查看联调台的命令日志和回调日志。
注意事项:
- 不要把
rawBarcode当唯一单盘码;同一采购订单的多盘物料可能标签完全一样。 - 现场上料优先扫描 MES 单盘码
reelId,或协议reelID。 - 入库任务发送成功不代表已经入架,必须等货架反馈实际储位。
#4.2 查询货架库存
路径:SMT 管理 → 货架库存。
用途:查看 MES 当前认为“在货架上”的料盘和储位。
筛选项:
MES 单盘码物料编码批次
列表字段:
最近回调料盘:MES 单盘码,下面显示原始标签或协议码。物料/批次储位数量:当前数量 / 初始数量。库存状态料盘状态
使用建议:
- 入库回调后,用
MES 单盘码搜一次,确认储位。 - 备料前,用物料编码或批次确认候选料盘是否在架。
- 如果现场货架和 MES 库存不一致,不要直接改库;进入联调台做手动对账。
#4.3 SMT 备料出库
路径:SMT 管理 → 货架备料出库。
适用场景:按 SMT 批次、站位和槽位,从智能货架选择候选料盘并下发亮灯 / 出库任务。
操作步骤:
- 打开
货架备料出库。 - 填写槽位定位信息:
批次号:runNo。站位 ID:站位主键 /stationId。槽位:slotCode。
- 系统自动查询候选料盘:
- 候选查询只读,不会锁定库存。
- 候选会显示料盘、物料、批次、储位、数量、匹配类型。
期望料表示命中当前槽位期望物料;替代料表示命中替代料规则。
- 点击候选行的
选择,系统会把 MES 单盘码填入MES 单盘码输入框。 - 如需手工指定多个料盘,在
MES 单盘码中一行填一个reelId。 - 填写
灯色:只能使用绿、黄、紫、蓝、白。 - 单个料盘时可填写或自动带出
期望物料。 - 点击
发送出库任务。 - 页面返回:
出库任务 <taskNo>已受理料盘/未受理料盘任务下发/中控接收- 任务明细状态
- 现场按货架亮灯取出料盘。
- 等待中控 stock-out 回调。
- 打开
待上料队列,确认该料盘进入待上料。
验收标准:
- 出库任务已下发并被中控接收。
- stock-out 回调后,料盘从在架库存移出。
待上料队列出现对应reelId,状态为待上料相关状态。- 不会自动生成上料记录。
注意事项:
- 货架出库成功只代表“料盘已从货架取出”。
- 不要跳过上料防错。
- 如果候选为空,先检查:批次号、站位 ID、槽位是否正确;期望物料是否配置;对应物料是否已在架。
- 如果出库任务部分失败,按页面的未受理料盘和失败原因处理;不要重复点击造成多次出库。
#4.4 待上料队列与上料防错
路径:SMT 管理 → 待上料队列。
适用场景:查看已经从货架取出、但还没在产线完成上料确认的料盘。
操作步骤:
- 打开
待上料队列。 - 按需要筛选:
批次号机台 ID站位码物料编码MES 单盘码
- 在列表中找到目标料盘。
- 在
上料扫码列点击复制,复制 MES 单盘码;或点击去上料。 - 系统进入
/mes/loading/scan-through,并携带批次、站位、槽位和料盘上下文。 - 在上料防错页面扫描 MES 单盘码
reelId或协议reelID。 - 通过上料防错后,系统才生成正式上料记录,并把料盘状态推进到已上料。
验收标准:
- 上料页面提示来自智能货架待上料上下文。
- 扫错料、错站位、错槽位时不能通过防错。
- 通过防错后,待上料队列不再显示该料盘。
注意事项:
- 原始标签二维码可能重复,当前阶段不推荐直接用原始标签作为唯一扫码依据。
- 如果现场必须扫原始标签,需要先设计消歧规则;不能临时绕过单盘码。
#5. 运维 / 联调 Playbook
路径:集成与运维 → 智能货架联调台。
联调台用于集成、运维和异常排查,不给普通现场作业人员日常使用。
#5.1 查看默认配置
在 默认配置 卡片核对:
- 中控服务编码、名称、地址、主机 IP、超时和启用状态。
- 默认设备货架编码、固定 IP、MAC 和启用状态。
- 储位数量、A/B 面数量、回调 Header。
如果真实现场参数和页面不一致,不要继续真实货架操作;先让系统管理员更新配置。
#5.2 命令日志
用途:查看 MES 下发给中控服务的命令,例如入库 pullBarcode、出库 systemStockOut、对账查询等。
重点看:
- 命令类型。
- 状态:
PENDING、SENT、SUCCESS、FAILED、RETRYING。 - 发送时间、完成时间。
- 失败错误。
- 请求 / 响应详情。
重试规则:
- 只有
FAILED命令可以重试。 - 同一命令同时只允许一个 retry 在飞。
- 对
systemStockOut这种真实动作命令,重试前必须先核对现场状态和中控日志,避免重复亮灯 / 重复出库。 - 查询类失败优先重新触发对应查询或对账。
#5.3 回调事件
用途:查看中控服务回调 MES 的 stock-in / stock-out 事件。
重点看:
- 事件类型:
STOCK_IN/STOCK_OUT。 - 处理状态:
ACCEPTED、DUPLICATE、EXCEPTION、REJECTED、FAILED。 shelfCode、储位、料盘码。- 错误信息。
- payload 详情。
处理建议:
ACCEPTED:MES 已接受并处理。DUPLICATE:重复回调,通常不用处理。REJECTED:字段、货架、储位、料盘或鉴权不符合要求,需要排查。EXCEPTION:业务异常,例如异常出库,需要结合现场状态处理。FAILED:系统处理失败,需要开发 / 运维介入。
#5.4 手动对账
用途:主动查询中控服务库存、出库列表和异常储位,与 MES 投影比较。
操作步骤:
- 打开联调台
手动对账区域。 - 选择或填写货架编码;默认可使用当前默认货架。
- 点击
执行手动对账。 - 查看本次 run:
- 状态。
- 查询到的在架数量、出库列表数量、异常数量。
- 差异列表。
差异类型:
| 类型 | 含义 | 建议处理 |
|---|---|---|
UNKNOWN_REEL_ON_SHELF | 中控说货架上有料,但 MES 不认识该单盘。 | 现场核对标签和来源;必要时补建料盘或联系运维。 |
MISSING_ON_SHELF | MES 认为在架,但中控查询不到。 | 现场查找是否已取出、回调是否丢失、储位是否变化。 |
LOCATION_MISMATCH | MES 与中控记录的储位不一致。 | 现场核对真实储位;不要直接静默覆盖。 |
STATUS_MISMATCH | MES 与中控状态不一致。 | 核对出库 / 入库回调和任务日志。 |
ERROR_LATTICE | 中控上报异常储位。 | 按供应商异常语义处理;当前不自动清异常。 |
#5.5 处理对账差异
对每条差异可以执行:
| 操作 | 适用场景 | 结果 |
|---|---|---|
标记已处理 / resolve | 已人工处理现场状态,系统只需要闭环记录。 | 差异变为 RESOLVED。 |
确认差异 / confirm | 确认差异真实存在,等待后续处理。 | 差异变为 CONFIRMED。 |
忽略差异 / ignore | 确认差异可忽略,例如测试残留。 | 差异变为 IGNORED。 |
重新打开 / reopen | 已处理状态需要重新跟踪。 | 差异回到 OPEN。 |
每次处理都要填写备注,说明现场依据、处理人判断或关联工单。系统会记录处理人、处理时间和 audit log。
当前差异处理是“备注类闭环”,不会自动清货架异常,也不会自动修正 MES 库存投影。清异常 / 修正投影属于危险操作,必须等供应商语义确认后单独设计权限和确认流程。
#5.6 fake 联调工具
联调台中的 fake stock-in / stock-out / replay 工具只用于本地或 fake controller 阶段。
真实环境注意:
- 不要用 fake 工具代替真实货架验证。
- 不要在生产环境随意回放 callback。
- 需要回放真实 payload 时,先按
user_docs/smart_shelf_go_live_runbook.md的 smoke 流程确认目标环境和写入影响。
#6. 推荐端到端验收流程
#6.1 fake / 本地联调验收
- 启动 MES Web、MES Server 和 fake controller。
- 登录具备
SYSTEM_INTEGRATION、LOADING_VIEW、LOADING_VERIFY的账号。 - 在
货架入库创建测试料盘。 - 用 fake stock-in 或 callback replay 让 MES 接收入库回调。
- 在
货架库存确认料盘在架。 - 在
货架备料出库按runNo + stationId + slotCode查询候选并发送出库任务。 - 用 fake stock-out 让 MES 接收出库回调。
- 在
待上料队列确认料盘出现。 - 点击
去上料,进入上料防错。 - 扫描 MES 单盘码,确认防错通过。
- 在联调台执行手动对账;如果出现差异,用处理动作闭环。
#6.2 真实中控 smoke 验收
真实货架 smoke 必须先按 user_docs/smart_shelf_go_live_runbook.md 执行:
- 中控查询 smoke:
getShelfStorage、getStockOutList、getErrorLattice返回 2xx。 - callback 鉴权 smoke:无 header / 错 header 必须被 MES 拒绝;正确 header 才能进入处理。
- 真实入库:正式入库页创建料盘,现场放入货架,库存页显示在架。
- 真实出库:正式备料页发送出库,现场取料,待上料队列出现。
- 上料防错:从待上料进入扫码,扫描 MES 单盘码,通过后生成上料记录。
- 对账:联调台执行手动对账,差异能人工闭环。
#7. 常见问题处理
#7.1 入库任务发送失败
先检查:
- 账号是否有
LOADING_VERIFY。 物料编码、批次是否填写。面别是否为A或B。初始数量、入库数量是否为数字。- 中控服务是否可访问。
- 联调台命令日志是否有失败详情。
#7.2 入库任务已发送,但库存页没有料盘
可能原因:
- 中控没有回调 MES。
- 回调被鉴权拒绝。
- 回调的
shelfCode / side / userRow / userColumn不在已启用储位中。 - 回调的
reelID与 MES 生成的协议码不一致。 - 回调被判定为重复或异常。
处理:进入联调台查看回调事件和命令日志;必要时执行手动对账。
#7.3 SMT 备料没有候选料盘
先检查:
批次号、站位 ID、槽位是否正确。- 当前槽位是否配置期望物料 / 替代料。
- 目标物料是否已经在
货架库存中在架。 - 料盘状态是否已经被出库、保留、异常或待上料。
- 站位是否属于可上料防错的站位。
#7.4 出库后找不到待上料记录
先检查:
- 出库命令是否真正被中控接收。
- 中控是否回调 stock-out。
- 回调是否
ACCEPTED。 - 出库回调里的
taskOutInfo是否能关联到 MES 出库任务明细。 - 是否已经完成上料防错,导致队列中不再显示。
#7.5 扫描原始标签无法上料
这是预期边界。原始标签 rawBarcode 可能重复,不能保证单盘唯一。当前阶段现场应扫描:
- MES 单盘码
reelId;或 - 协议
reelID/protocolReelId。
如果现场流程必须扫原始标签,需要先设计同标签多盘消歧规则,不能直接绕过。
#7.6 对账发现差异
处理顺序:
- 不要直接修改数据库。
- 查看差异类型和储位 / 料盘信息。
- 核对现场货架实际状态。
- 查看命令日志和回调事件。
- 使用
确认差异、忽略差异、标记已处理或重新打开记录处理结论。 - 对需要清异常或修正投影的场景,等待供应商语义确认和系统危险操作功能支持。
#8. 上线前检查清单
上线前至少确认:
- [ ] 业务账号权限已配置:查看、操作、运维分离。
- [ ] 中控服务 base URL、服务器固定 IP、端口、防火墙已确认。
- [ ] MES callback URL 已提供给供应商并从中控服务可达。
- [ ] MES → 中控、 中控 → MES 的 header 名和 tokenRef 已配置。
- [ ] token 只在 secret / env 中保存,未写入文档、截图或日志。
- [ ]
Shelf-01668的 A/B 面、行列和现场贴纸一致。 - [ ] 真实 stock-in、stock-out、异常、重复回调 payload 样例已收集。
- [ ]
taskOutInfo是否原样回传已确认。 - [ ] callback 重传、ack、乱序语义已确认。
- [ ]
actionType=-1/2、errorIn/errorOut、clearError语义已确认。 - [ ] fake 端到端流程已跑通。
- [ ] 真实中控 smoke 已按 runbook 跑通。
- [ ] 对账差异能人工闭环并留下 audit log。
#9. 操作证据留存
每次联调或上线前演练,至少保存:
- 绝对时间窗口。
- 操作账号和角色。
- 中控 base URL、MES callback URL、header 名;不要保存 token 值。
- 入库任务号、出库任务号、MES 单盘码、物料、批次、储位。
- 命令日志截图或导出。
- 回调事件截图或导出。
- 对账 run ID 和差异处理记录。
- 供应商中控日志时间点。
- 失败时的 HTTP status、response body、MES error code 和现场处理结论。
#10. 不要做的事
- 不要把原始二维码当作唯一单盘码。
- 不要跳过上料防错。
- 不要把“货架出库”当成“已上料”。
- 不要在文档、截图、聊天记录里保存 token 明文。
- 不要在真实环境随意使用 fake replay。
- 不要在未确认供应商状态机前执行清异常或自动修正 MES 投影。
- 不要通过直接改数据库来闭环对账差异。