refactor: 重构工艺工序相关命名与数据模型
1. 全局替换"工序"为"工艺"统一术语,包括页面文案、枚举、注释
2. 重构工单与工件工艺数据模型:
- 新增工艺组合表flow_material作为备料/齐套唯一源头
- 新增工位状态表station_state支持自主停单/恢复接单
- 移除station_process派工表,改用工单工艺组合作为路线唯一源头
- 替换processCode为flowId作为工艺关联标识
- 重构工件当前进度字段为currentStationNo
3. 删除冗余的静态备份资源文件
4. 调整物料选择组件默认启用仅显示激活物料
5. 优化工单创建/编辑逻辑,新增工艺组合校验与保存
This commit is contained in:
@@ -90,10 +90,6 @@ func EnsureDB(c DatabaseConf) error {
|
||||
// schemaPatchSQL 幂等列补丁:ent Schema.Create 只建缺失的新表,绝不会给既有表加列;
|
||||
// 因此对"已有表新增列"的场景必须走显式 ALTER。这里统一维护补丁清单,migrate/seed/reset-all 三入口共用。
|
||||
var schemaPatchSQL = []string{
|
||||
// BOM 料增加"装配工序"维度(0=不参与工位绑定校验;1~12=在第几道工序装配)
|
||||
// 注意:BomItem schema 表名注解为 work_order_bom(非默认名)
|
||||
`ALTER TABLE work_order_bom ADD COLUMN IF NOT EXISTS process_code integer NOT NULL DEFAULT 0`,
|
||||
|
||||
// 第三批:工程编号三级归属(合同号 → 工程编号 → 产品序号)
|
||||
`ALTER TABLE work_order ADD COLUMN IF NOT EXISTS contract_no varchar(64) NOT NULL DEFAULT ''`,
|
||||
`ALTER TABLE work_order ADD COLUMN IF NOT EXISTS project_no varchar(64) NOT NULL DEFAULT ''`,
|
||||
@@ -152,7 +148,7 @@ var schemaPatchSQL = []string{
|
||||
`UPDATE station SET is_builtin = true WHERE station_no BETWEEN 0 AND 13`,
|
||||
`UPDATE station SET has_dock = true WHERE station_no BETWEEN 1 AND 10`,
|
||||
|
||||
// ---- 本次重构:删除工位组合/接驳台冗余字段,改用关联表 station_process + station.dock_code 驱动 ----
|
||||
// ---- 历史重构:删除工位组合/接驳台冗余字段,改用 station.dock_code 驱动 ----
|
||||
`ALTER TABLE work_order DROP COLUMN IF EXISTS process_seq`,
|
||||
`ALTER TABLE workpiece DROP COLUMN IF EXISTS process_seq`,
|
||||
`ALTER TABLE daily_plan DROP COLUMN IF EXISTS dock_codes`,
|
||||
@@ -164,7 +160,6 @@ var schemaPatchSQL = []string{
|
||||
`CREATE UNIQUE INDEX IF NOT EXISTS ux_station_dock_code ON station (dock_code) WHERE dock_code <> ''`,
|
||||
// 备料单工位级 + 分批出库
|
||||
`ALTER TABLE material_request ADD COLUMN IF NOT EXISTS station_no integer NOT NULL DEFAULT 0`,
|
||||
`ALTER TABLE material_request ADD COLUMN IF NOT EXISTS process_code integer NOT NULL DEFAULT 0`,
|
||||
`ALTER TABLE material_request ADD COLUMN IF NOT EXISTS sent_qty double precision NOT NULL DEFAULT 0`,
|
||||
`ALTER TABLE material_request ADD COLUMN IF NOT EXISTS batch_no varchar(64) NOT NULL DEFAULT ''`,
|
||||
// 日排产各工位产量分配
|
||||
@@ -188,6 +183,22 @@ var schemaPatchSQL = []string{
|
||||
// ---- 接驳台主数据迁入 MES(2026-09-21,真源自 WMS 移入)----
|
||||
// 工位↔接驳台 1:1:部分唯一索引只约束已绑定工位(station_no>0)的行,库房/其他接驳台不参与。
|
||||
`CREATE UNIQUE INDEX IF NOT EXISTS ux_dock_station_no ON dock (station_no) WHERE station_no > 0`,
|
||||
|
||||
// ---- 生产模型重构(2026-09-22 定稿):删除「工序编号/工位派工」旧模型遗留 ----
|
||||
// 路线唯一源头 = 工单工艺组合 flow_combination([{flowId,stationNo}],工位号即顺序号);
|
||||
// 装配绑定/备料/齐套全部改走工艺物料清单 flow_material,bom_item/material_request/process_code 退役。
|
||||
`DROP TABLE IF EXISTS station_process`,
|
||||
`ALTER TABLE workpiece_process DROP COLUMN IF EXISTS process_code`,
|
||||
`ALTER TABLE workpiece_bind DROP COLUMN IF EXISTS process_code`,
|
||||
`ALTER TABLE material_request DROP COLUMN IF EXISTS process_code`,
|
||||
`ALTER TABLE work_order_bom DROP COLUMN IF EXISTS process_code`,
|
||||
`ALTER TABLE workpiece DROP COLUMN IF EXISTS current_process`,
|
||||
// 既有库补列(新装库由 ent AutoMigrate 直接建出,此处幂等兜底)
|
||||
`ALTER TABLE work_order ADD COLUMN IF NOT EXISTS flow_combination jsonb`,
|
||||
`ALTER TABLE workpiece ADD COLUMN IF NOT EXISTS current_station_no integer NOT NULL DEFAULT 0`,
|
||||
`ALTER TABLE workpiece_process ADD COLUMN IF NOT EXISTS flow_id integer NOT NULL DEFAULT 0`,
|
||||
`ALTER TABLE workpiece_bind ADD COLUMN IF NOT EXISTS flow_id integer NOT NULL DEFAULT 0`,
|
||||
`ALTER TABLE material_request ADD COLUMN IF NOT EXISTS flow_id integer NOT NULL DEFAULT 0`,
|
||||
}
|
||||
|
||||
// EnsureSchema ent 建表 + 幂等列补丁(只增,不删数据)
|
||||
|
||||
Reference in New Issue
Block a user