本次提交包含多模块功能更新: 1. 权限系统重构:移除硬编码admin放行逻辑,新增精细化权限控制,完善权限树形结构与用户/角色保护 2. 新增物料导入导出接口,补充台账查询条件 3. 优化列表查询排序逻辑,新增区域编码大小写不敏感搜索 4. 修复帮助抽屉重复弹出问题,补充页面权限控制 5. 新增弱密码提示逻辑,优化MES/WMS用户/角色管理权限 6. 调整路由结构,新增权限校验脚本与前端权限树重构 7. 补充数据库字段与依赖包更新
bj_power_wms(项目 C)— WMS 仓库系统
纯 Go 后端 API 服务,不包含前端。前端由项目 E(bj_power_wms_client)提供。
技术栈
- Go 1.25 + go-zero 1.8.3(REST 框架)
- 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 # 用户
├── ent/ # Ent 生成代码(勿手改)
├── internal/
│ ├── config/ # 配置结构
│ ├── db/ # 数据库连接 + 自动迁移
│ ├── svc/ # ServiceContext
│ └── handler/ # HTTP handler(API 层)
└── 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 批量导入
- 盘点
- 追溯查询
对外 API(B ↔ 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 提供) |