docs(test): 更新电表箱装配业务回归测试文档

- 将文档从代码审计任务转换为端到端业务回归测试链路
- 重新组织文档结构为链路总览、示例数据基线和详细步骤
- 添加完整的业务场景清单涵盖WMS/MES/工位终端三大系统
- 定义统一的测试数据包括产品型号、物料清单、工位派工等
- 提供详细的步骤断言和数量等式验证方法
- 建立贯穿全链路的数据流向和状态变更追踪体系
This commit is contained in:
SunYF
2026-09-21 10:48:53 +08:00
parent 0d34bcd6a3
commit 132c3ed6bd
63 changed files with 3309 additions and 5784 deletions
-3
View File
@@ -225,9 +225,6 @@ func applyColumnPatches(ctx context.Context) {
`ALTER TABLE stocktake_items ADD COLUMN IF NOT EXISTS shelf_no text`,
`ALTER TABLE stocktake_items ADD COLUMN IF NOT EXISTS layer_no text`,
`ALTER TABLE stocktake_items ADD COLUMN IF NOT EXISTS position_no text`,
// 接驳台是独立主数据(不依附工位):产线/库房/其他三类;与工位 1:1 绑定。
// 部分唯一索引只约束产线接驳台(station_no > 0),库房/其他(station_no=0)不参与。
`CREATE UNIQUE INDEX IF NOT EXISTS ux_docks_station_no ON docks (station_no) WHERE station_no > 0`,
// 入库作废(2026-09-19):入库单可作废,记录原因/人/时间;库存回滚后单仍保留供追溯
`ALTER TABLE inbound_orders ADD COLUMN IF NOT EXISTS voided boolean NOT NULL DEFAULT false`,
`ALTER TABLE inbound_orders ADD COLUMN IF NOT EXISTS void_reason text`,
+2 -27
View File
@@ -2,7 +2,6 @@ package db
import (
"context"
"fmt"
"log/slog"
"bj_power_wms/ent"
@@ -15,7 +14,8 @@ import (
// 生产环境口径(用户裁决 2026-09-20):种子只允许写入系统跑起来所必需的固定主数据,
// 严禁预置演示物料/演示库存/演示账号等假业务数据。具体:
// - 管理员账号:admin(初始密码 123456,登录后应立即修改);其余账号由管理员在「账号管理」按需创建、分配角色;
// - 接驳台:DOCK01~20(产线,DOCKn↔工位n+ DOCK21(库房收货),系统预置只读主数据(dock.go 不提供增删改,只能靠种子写入)。
//
// 接驳台主数据已迁 MES(2026-09-21):仓库不再维护 dock 表,也不在此种子写入接驳台。
//
// 不预置区域/库位:区域是现场库房布局,因项目而异,且「区域维护」页面可增删改,由实施按现场实际建立,不硬编码进种子。
// 权限与角色不在此:由 handler.SeedRBAC 幂等初始化(reset-all/seed 命令与 POST /api/rbac/seed 共用同一函数)。
@@ -35,30 +35,5 @@ func SeedIfEmpty(client *ent.Client) error {
slog.Info("seed: admin user created (admin/123456)")
}
// 2. 接驳台主数据 DOCK01~20(产线, DOCKn↔工位n) + DOCK21(库房)
docks, _ := client.Dock.Query().Count(ctx)
if docks == 0 {
for i := 1; i <= 20; i++ {
code := fmt.Sprintf("DOCK%02d", i)
client.Dock.Create().
SetDockCode(code).
SetName("产线接驳台 " + code + "(工位" + fmt.Sprintf("%d", i) + "").
SetDockType("line").
SetStationNo(i).
SetHasPallet(false).
SetStatus("ENABLED").
SaveX(ctx)
}
client.Dock.Create().
SetDockCode("DOCK21").
SetName("库房收货接驳台").
SetDockType("store").
SetStationNo(0).
SetHasPallet(false).
SetStatus("ENABLED").
SaveX(ctx)
slog.Info("seed: 21 docks created")
}
return nil
}