refactor: 重构工艺工序相关命名与数据模型

1.  全局替换"工序"为"工艺"统一术语,包括页面文案、枚举、注释
2.  重构工单与工件工艺数据模型:
    - 新增工艺组合表flow_material作为备料/齐套唯一源头
    - 新增工位状态表station_state支持自主停单/恢复接单
    - 移除station_process派工表,改用工单工艺组合作为路线唯一源头
    - 替换processCode为flowId作为工艺关联标识
    - 重构工件当前进度字段为currentStationNo
3.  删除冗余的静态备份资源文件
4.  调整物料选择组件默认启用仅显示激活物料
5.  优化工单创建/编辑逻辑,新增工艺组合校验与保存
This commit is contained in:
SunYF
2026-09-22 11:32:29 +08:00
parent 932700ca65
commit d609ff8a9e
185 changed files with 8623 additions and 4501 deletions
+26
View File
@@ -4,6 +4,7 @@ import (
"context"
"strconv"
"bj_power_mes/ent/dock"
"bj_power_mes/ent/permission"
"bj_power_mes/ent/role"
"bj_power_mes/ent/station"
@@ -177,6 +178,8 @@ func (s *Service) Seed(ctx context.Context) error {
seedStations(ctx, s)
// 5. 接驳台主数据(真源在 MES,2026-09-21 自 WMS 迁入);系统预置只读
seedDocks(ctx, s)
// 6. 接驳台↔工位 1:1 绑定(系统预置只读主数据,页面不可更改,由种子初始化)
bindStationDocks(ctx, s)
return nil
}
@@ -238,6 +241,29 @@ func seedStations(ctx context.Context, s *Service) {
}
}
// bindStationDocks 接驳台↔工位 1:1 绑定:接驳台为系统预置只读主数据,绑定关系由种子初始化、页面不可更改。
// 内置且带接驳台的工位(station_no 1~10)各绑定一个产线接驳台(DOCK01~DOCK10);以 dock.station_no 为对照真源,
// 若当前绑定不一致则回填,幂等可重复执行。库房/虚拟接驳台(station_no=0)及无接驳台工位不参与绑定。
func bindStationDocks(ctx context.Context, s *Service) {
docks, err := s.ctx.EntClient.Dock.Query().
Where(dock.StationNoGT(0), dock.DockTypeEQ("line")).
All(ctx)
if err != nil {
return
}
for _, d := range docks {
st, err := s.ctx.EntClient.Station.Query().
Where(station.StationNo(d.StationNo)).First(ctx)
if err != nil || st == nil {
continue
}
if !st.HasDock || !st.IsBuiltin || st.DockCode == d.DockCode {
continue
}
_, _ = s.ctx.EntClient.Station.UpdateOneID(st.ID).SetDockCode(d.DockCode).Save(ctx)
}
}
// mergeCodes 合并两份权限码列表(去重、保序)
func mergeCodes(a, b []string) []string {
seen := map[string]bool{}