docs(business): 生成业务契约文档并重构MES客户端代码
- 创建案例.md文档,包含业务场景清单、业务流程、案例和回归测试三份完整文档 - WMS库房管理系统涵盖入库、出库、库存、检验、盘点等24个业务场景 - MES产线控制系统包含工单、排产、BOM、备料、质检、追溯等23个业务场景 - 工位终端系统支持上线、报工、下线、领料、巡检等15个现场作业场景 - 主链路从合同到成品入库,异常链路处理不合格、数量不符、退料等情况 - 删除MES客户端中的ScanRecord相关代码,精简客户端结构 - 更新客户端初始化逻辑,移除扫描记录相关的依赖注入配置
This commit is contained in:
@@ -14,36 +14,15 @@ import (
|
||||
//
|
||||
// 生产环境口径(用户裁决 2026-09-20):种子只允许写入系统跑起来所必需的固定主数据,
|
||||
// 严禁预置演示物料/演示库存/演示账号等假业务数据。具体:
|
||||
// - 区域:库房四大基础分区 Z01~Z04(库存落位的根节点,level=1);
|
||||
// - 管理员账号:admin(初始密码 123456,登录后应立即修改);其余账号由管理员在「账号管理」按需创建、分配角色;
|
||||
// - 接驳台:DOCK01~20(产线,DOCKn↔工位n)+ DOCK21(库房收货),系统预置只读主数据(dock.go 不提供增删改)。
|
||||
// - 接驳台:DOCK01~20(产线,DOCKn↔工位n)+ DOCK21(库房收货),系统预置只读主数据(dock.go 不提供增删改,只能靠种子写入)。
|
||||
//
|
||||
// 不预置区域/库位:区域是现场库房布局,因项目而异,且「区域维护」页面可增删改,由实施按现场实际建立,不硬编码进种子。
|
||||
// 权限与角色不在此:由 handler.SeedRBAC 幂等初始化(reset-all/seed 命令与 POST /api/rbac/seed 共用同一函数)。
|
||||
func SeedIfEmpty(client *ent.Client) error {
|
||||
ctx := context.Background()
|
||||
|
||||
// 1. 区域(层级节点 level=1)
|
||||
zones, _ := client.Zone.Query().Count(ctx)
|
||||
if zones == 0 {
|
||||
for _, z := range []struct{ code, name string }{
|
||||
{"Z01", "待检区"},
|
||||
{"Z02", "标准存储区"},
|
||||
{"Z03", "暂存区"},
|
||||
{"Z04", "退货区"},
|
||||
} {
|
||||
client.Zone.Create().
|
||||
SetLevel(1).
|
||||
SetCode(z.code).
|
||||
SetZoneName(z.name).
|
||||
SetZoneCode(z.code).
|
||||
SetParentCode("").
|
||||
SetStatus("启用").
|
||||
SaveX(ctx)
|
||||
}
|
||||
slog.Info("seed: zones created")
|
||||
}
|
||||
|
||||
// 2. 管理员账号(唯一预置账号;初始密码 123456,登录后应立即修改)
|
||||
// 1. 管理员账号(唯一预置账号;初始密码 123456,登录后应立即修改)
|
||||
users, _ := client.User.Query().Count(ctx)
|
||||
if users == 0 {
|
||||
adminHash, _ := bcrypt.GenerateFromPassword([]byte("123456"), bcrypt.DefaultCost)
|
||||
@@ -56,7 +35,7 @@ func SeedIfEmpty(client *ent.Client) error {
|
||||
slog.Info("seed: admin user created (admin/123456)")
|
||||
}
|
||||
|
||||
// 3. 接驳台主数据 DOCK01~20(产线, DOCKn↔工位n) + DOCK21(库房)
|
||||
// 2. 接驳台主数据 DOCK01~20(产线, DOCKn↔工位n) + DOCK21(库房)
|
||||
docks, _ := client.Dock.Query().Count(ctx)
|
||||
if docks == 0 {
|
||||
for i := 1; i <= 20; i++ {
|
||||
|
||||
Reference in New Issue
Block a user