Files
bj_power/bj_power_wms
SunYF bf3a408839 refactor: 统一术语BOM为物料清单并补充工位扩展能力
主要变更:
1.  后端:重构工位管理逻辑,新增工位自定义扩展能力,将工位号上限调整为999并支持14+虚拟工位
2.  前后端:全量替换"BOM"术语为"物料清单",包括提示语、注释和文档
3.  WMS模块:新增AGV任务取消接口与前端页面,对接海康RCS取消任务逻辑
4.  权限与种子数据:新增工位新增权限并更新权限配置
5.  修复错误校验逻辑,优化AGV客户端签名与请求处理
2026-09-17 19:41:00 +08:00
..
2026-08-28 15:06:01 +08:00
2026-08-28 15:06:01 +08:00

bj_power_wms(项目 C)— WMS 仓库系统

Go 后端 + 内嵌 Vue3 前端(go:embed web/static),一个服务(8890)同时提供页面与 API。 2026-09-07 起原库房客户端(bj_power_wms_client, 8891)已合并进本项目并退役:扫码枪为 USB 键盘口(HID)设备,浏览器页面直接读取,无需独立客户端程序。

技术栈

  • Go 1.25 + go-zero 1.8.3REST 框架)
  • Ent ORM v0.14.5(自动建表/迁移)
  • PostgreSQL(独立库 bj_power_wms

目录结构

bj_power_wms/
├── bj_power_wms.go          # 主入口
├── etc/bj_power_wms-api.yaml # 配置文件
├── schema/                  # Ent schema(业务表定义)
│   ├── material.go          # 物料档案(精密件 SN / 结构件批次)
│   ├── zone.go              # 库房区域
│   ├── inventory.go         # 统一库存表(结构件批次 + 精密件 SN,manage_mode 区分)
│   ├── inventory_lock.go    # 库存锁定(工单锁库存)
│   ├── inbound_order.go     # 入库单 + inbound_detail 明细
│   ├── outbound_order.go    # 出库单 + outbound_detail 明细
│   ├── inspection_record.go # 检验记录
│   ├── semi_finished.go     # 半成品库存
│   ├── package_box.go       # 包装箱 ↔ SN
│   ├── order_material_ledger.go # 工单物料台账(出库强约束)
│   └── user.go              # 用户
├── frontend/                # Vue3 前端源码(npm run build → web/static
├── web/static/              # 前端构建产物(go:embed 内嵌,勿手改)
├── ent/                     # Ent 生成代码(勿手改)
├── internal/
│   ├── config/              # 配置结构
│   ├── db/                  # 数据库连接 + 自动迁移
│   ├── svc/                 # ServiceContext
│   └── handler/             # HTTP handlerAPI 层)
└── tools/                   # ent 代码生成工具

常用命令

# 生成 ent 代码(修改 schema 后执行)
go run tools/generate.go

# 启动服务
go run bj_power_wms.go -f etc/bj_power_wms-api.yaml

当前状态

  • 工程骨架(go-zero + Ent + PostgreSQL
  • 15 张核心表 schema + 自动迁移
  • 物料 CRUD / 区域
  • 入库(结构件批次 + 精密件 SN
  • 出库扣减(含工单物料台账强约束:累计出库 ≤ BOM 需求)
  • 库存查询 / 锁定 / 解锁 / 校验
  • 检验(单条 + 批量翻转)
  • 半成品出入库 / 包装绑定
  • 登录鉴权(JWT
  • Excel 批量导入
  • 盘点
  • 追溯查询

对外 APIB ↔ C 联动)

接口 说明
POST /api/stock/lock 工单锁定库存(批次/SN),带 order_no
POST /api/stock/deduct 出库扣减,WMS 校验累计 ≤ BOM
GET /api/stock/query 库存查询(MES 查料)
POST /api/semi/inbound / outbound 半成品入库/出库
GET /api/order/query 工单查询(待 MES 提供)