WMS 配件系统操作技能
> Goal: 指导用户按标准流程完成 WMS 配件系统的收货、发货、库存移动和流水账查询操作。
When to Use
- 用户说"WMS 收货/发货/入库/出库"时
- 用户说"库存移动/货位调整/移位/移库"时
- 用户说"流水账/出入库流水/交易查询/查出入库明细"时
When NOT to Use
- 用户询问 WMS 系统的安装或部署
- 用户询问非配件类 WMS 操作(如整机 WMS)
- 用户需要修改 WMS 系统配置或权限管理
Core Principles
- 系统网址:wms.zoomlion.com,输入账号密码登录
- 收货流程:入库管理 → 收货 → 选订单 → 手工收货 → 填货位 → 收货确认×2
- 发货流程:出库管理 → 出库执行 → 选订单 → [自动备货] → 自动分配 → 自动拣货 → 确定发货
- 状态标识:待处理标签由红色转绿色即表示完成
- 库位编码:必须按服务站对应库位填写(见下表)
- 移位流程:库存管理 → 库存移动 → 新建 → 填表单保存 → 改货位 → 保存 → 分配 → 确认
- 流水账:SCM Cloud Report → 收货明细(入库)/出库明细报告(出库) → 设企业+物料+日期 → 查询 → 按时间合并
| 服务站 | 库位编码 |
|---|---|
| 内蒙中心库 | A01-1-1 |
| 内蒙-神木项目网点库 | A01 |
| 呼和浩特 | HT01 |
| 锡林浩特 | XL01 |
| 乌海 | WH01 |
| 巴彦淖尔 | LH01 |
Core Workflow
一、系统登录
支持三种浏览器后端,按场景选择:
| 后端 | 适用场景 | 优势 | 脚本 |
|---|---|---|---|
| QQ浏览器 (qqb) | Windows + QQ浏览器环境 | 开箱即用,无需额外配置 | scripts/qqb.py |
| Playwriter | 已有 Chrome 登录态 | 连接已登录Chrome,保留cookies/扩展,完整Playwright API | scripts/playwriter_page.py |
| PageAgent | 自然语言操控 | 一行script注入,AI驱动 | 见下方 PageAgent 章节 |
方式 A:QQ浏览器自动登录(默认)
登录逻辑已内置在发货脚本中,无需单独执行登录脚本。前置环境检查:
qqbrowser-skill status # 确认 daemon 已运行
ls ~/.workbuddy/wms_credentials.json # 确认凭证文件存在
> 凭证文件:~/.workbuddy/wms_credentials.json({"username":"工号","password":"密码"},独立于 skill 目录)
> 底层走 QQ 浏览器(qqbrowser-skill),需 pip install qqbrowser-skill && qqbrowser-skill install && qqbrowser-skill serve --daemon
方式 B:Playwriter 后端(连接已登录 Chrome)
# 前置:安装 Playwriter CLI + Chrome 扩展
npm i -g playwriter
# Chrome Web Store 安装 "Playwriter MCP" 扩展
# 在 wms.zoomlion.com 标签页点击扩展图标(变绿 = 已连接)
# 使用 Playwriter 后端运行发货脚本
python scripts/wms_auto_ship_jqgrid.py --backend playwriter
# 或单独测试连接
python scripts/playwriter_page.py
> Playwriter 优势:
> - 无需重新登录 — 连接你已登录的 Chrome,保留所有 cookies/会话
> - 完整 Playwright API — 支持 iframe 操作、网络拦截、断点调试
> - 可视化截图 — 带可访问性标签的截图(aria-ref 选择器)
> - 绕过 Bot 检测 — 使用真实浏览器环境
方式 C:手动登录
浏览器打开 wms.zoomlion.com → 输入账号密码 → 登录
二、收货流程(入库)— 7 步
| 步骤 | 操作 |
|---|---|
| 1 | 入库管理 → 收货 |
| 2 | 根据到货清单订单号点击对应单据 |
| 3 | 入库明细标签 → 全选 → 右键 → 批量手工收货 |
| 4 | 选择物料 → 填入对应货位 → 点击收货 |
| 5 | 收货明细标签 → 全选 → 右键 → 收货确认 |
| 6 | 收货明细标签 → 全选 → 右键 → 收货确认(再次确认) |
| 7 | 返回收货列表,待收货标识变绿即完成 |
三、发货流程(出库)— 5 步
| 步骤 | 操作 |
|---|---|
| 1 | 出库管理 → 出库执行 |
| 2 | 根据订单号点击对应单据 |
| 3A | 已自动备货:全选 → 自动分配 → 自动拣货 → 确定发货 |
| 3B | 未自动备货:全选 → 更多 → 自动备货 → 自动分配 → 自动拣货 → 确定发货 |
| 4 | 返回列表,标签全部由红转绿即完成 |
> 判断逻辑:进入订单后查看备货状态,已备货走 3A,未备货走 3B(多一步"自动备货")。
自动发货脚本:
# QQ浏览器后端(默认):基于 jqGrid 权威数据自动处理所有待发货订单
python scripts/wms_auto_ship_jqgrid.py # 自动登录 + 处理待发货订单
python scripts/wms_auto_ship_jqgrid.py --no-login # 跳过登录(已登录态)
# Playwriter 后端:连接已登录的 Chrome,无需单独登录
python scripts/wms_auto_ship_jqgrid.py --backend playwriter --no-login
> wms_auto_ship_jqgrid.py 会读取出库执行页面的 jqGrid 全部数据,按 TOTAL_SHIPPED_QTY < TOTAL_ORDER_QTY 筛选待发货订单,逐单执行「自动分配 → 确认拣货 → 确定发货」,完成后再次用 jqGrid 校验并输出报告(~/.workbuddy/wms_ship_report.txt / .json)。
四、库存移动/货位调整 — 6 步
| 步骤 | 操作 |
|---|---|
| 1 | 库存管理 → 库存移动 |
| 2 | 列表区右键 → 新建 |
| 3 | 填表单:宗主代码 4100 → 移动方式 → 源货位 → 目标仓库 → 保存 |
| 4 | 明细页:逐行编辑「货位代码」列,或全选 → 右键 → 批量修改货位 → 填入目标货位 → 保存 |
| 5 | 切回库存移动页 → 勾选行 → 右键 → 分配 → 再右键 → 确认(顺序不可颠倒) |
| 6 | 标签状变绿即完成 |
五、配件出入库流水账 — 5 步
> 入口为独立报表模块:https://wms.zoomlion.com/SCM.Cloud.Report/
| 步骤 | 操作 |
|---|---|
| 1 | 跳转 SCM.Cloud.Report → 「我的报表」(24 个报表链接) |
| 2 | 入库点「收货明细」(1行4列);出库点「出库明细报告」(1行6列) |
| 3 | 设条件:企业(必填)+ 物料代码 + 日期范围 → 点击【查询】 |
| 4 | 结果表中点击「创建时间」列 ▼ 降序排列 |
| 5 | 将入库侧 + 出库侧数据按日期交错合并得完整时间线;核对:入库累计 − 出库累计 = 当前库存 |
> 出入库是两张独立报表,需分别查询后合并。
PageAgent 网页自动化增强(可选)
> PageAgent 是纯前端 JS GUI Agent,一行 <script> 注入 WMS 页面后即可用自然语言操控界面,无需浏览器扩展/Python/headless。
| 场景 | 自然语言指令示例 |
|---|---|
| 登录 | "打开 wms.zoomlion.com,输入账号密码并点击登录" |
| 收货 | "入库管理→收货,订单 XXX,全选,批量手工收货到 A01-1-1,确认收货两次" |
| 发货 | "出库管理→出库执行,订单 XXX,自动备货→分配→拣货→确定发货" |
<!-- Demo CDN(快速体验) -->
<script src="https://cdn.jsdelivr.net/npm/page-agent@1.12.1/dist/iife/page-agent.demo.js" crossorigin="anonymous"></script>
<!-- 自配 API Key(生产推荐) -->
<script type="module">
import { PageAgent } from 'page-agent'
const agent = new PageAgent({
model: 'qwen3.5-plus',
baseURL: 'https://dashscope.aliyuncs.com/compatible-mode/v1',
apiKey: 'YOUR_API_KEY',
language: 'zh-CN',
})
await agent.execute('登录 wms.zoomlion.com,账号 800014257')
await agent.execute('出库管理→出库执行,订单 XXX,自动分配→确认拣货→确定发货')
</script>
Examples
收货
用户说:"呼和浩特服务站到了一批配件,怎么收货?"
→ 登录 → 入库管理→收货 → 找订单 → 入库明细全选→右键批量手工收货 → 填货位 HT01 → 收货 → 收货明细全选→右键收货确认(×2)→ 标识变绿
发货(已自动备货)
用户说:"WMS 里有个订单要发货,已自动备货"
→ 登录 → 出库管理→出库执行 → 找订单 → 全选→自动分配→自动拣货→确定发货 → 标签变绿
Error Handling
| 问题 | 处理方式 |
|---|---|
| 找不到收货订单 | 核对到货清单订单号,注意大小写 |
| 收货时提示货位不存在 | 核对库位编码(HT01/XL01/WH01/LH01) |
| 发货时无法自动分配 | 检查库存,先完成收货入库 |
| 标签未变绿 | 检查是否所有明细都已全选并执行全部步骤 |
| 移动单保存失败 | 检查宗主代码(4100)、目标仓库等必填项 |
| 确认失败 | 必须先分配再确认,顺序不可颠倒 |
| 找不到"我的报表" | 入口为 https://wms.zoomlion.com/SCM.Cloud.Report/(独立模块) |
References
references/warehouse_codes.md— 各服务站库位编码对照表references/quick_reference.md— 收货发货快速操作卡(一页纸速查)scripts/qqb.py— QQ 浏览器封装(qqbrowser-skill CLI),提供 Page 接口scripts/playwriter_page.py— Playwriter 封装(连接已登录 Chrome),提供与 qqb.Page 兼容的接口 + iframe/API拦截/截图增强scripts/wms_auto_ship_jqgrid.py— 登录 + 基于 jqGrid 的待发货自动处理(自动分配→确认拣货→确定发货)+ 报告,支持--backend qqb|playwriterrequirements.txt— 脚本依赖说明(仅标准库 + qqbrowser-skill CLI / playwriter CLI)