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
+15 -23
View File
@@ -14,19 +14,18 @@ import (
const DefaultBOMName = "默认"
type BomItemReq struct {
ProductCode string `json:"productCode"`
BomName string `json:"bomName"`
MaterialCode string `json:"materialCode"`
MaterialName string `json:"materialName"`
Spec string `json:"spec"`
Unit string `json:"unit"`
ManageMode string `json:"manageMode"`
ProcessCode *int `json:"processCode"` // 装配工序 1~12;nil=不修改(兼容旧调用/移除时保留);0=显式清除
RelatedStandard string `json:"relatedStandard"` // 相关标准(检验细则)
UnitQty float64 `json:"unitQty"`
LossRate float64 `json:"lossRate"`
RequiredQty float64 `json:"requiredQty"`
SerialSns []string `json:"serialSns"`
ProductCode string `json:"productCode"`
BomName string `json:"bomName"`
MaterialCode string `json:"materialCode"`
MaterialName string `json:"materialName"`
Spec string `json:"spec"`
Unit string `json:"unit"`
ManageMode string `json:"manageMode"`
RelatedStandard string `json:"relatedStandard"` // 相关标准(检验细则)
UnitQty float64 `json:"unitQty"`
LossRate float64 `json:"lossRate"`
RequiredQty float64 `json:"requiredQty"`
SerialSns []string `json:"serialSns"`
}
// bomNameOrDefault 空 BOM 名回退为「默认」(兼容旧前端/旧数据)
@@ -53,9 +52,6 @@ func (s *Service) SaveBom(ctx context.Context, productCode, bomName string, item
SetMaterialName(it.MaterialName).SetSpec(it.Spec).SetUnit(it.Unit).
SetManageMode(it.ManageMode).SetUnitQty(it.UnitQty).SetLossRate(it.LossRate).
SetRelatedStandard(it.RelatedStandard)
if it.ProcessCode != nil {
u = u.SetProcessCode(*it.ProcessCode) // nil 时不覆盖既有工序配置
}
if len(it.SerialSns) > 0 {
u.SetSerialSns(it.SerialSns)
}
@@ -63,14 +59,10 @@ func (s *Service) SaveBom(ctx context.Context, productCode, bomName string, item
return fmt.Errorf("更新BOM物料 %s 失败: %w", it.MaterialCode, err)
}
} else {
pc := 0
if it.ProcessCode != nil {
pc = *it.ProcessCode
}
b := s.ctx.EntClient.BomItem.Create().
SetProductCode(productCode).SetBomName(bomName).SetMaterialCode(it.MaterialCode).
SetMaterialName(it.MaterialName).SetSpec(it.Spec).SetUnit(it.Unit).
SetManageMode(it.ManageMode).SetProcessCode(pc).
SetManageMode(it.ManageMode).
SetUnitQty(it.UnitQty).SetLossRate(it.LossRate).
SetRelatedStandard(it.RelatedStandard)
if len(it.SerialSns) > 0 {
@@ -120,8 +112,8 @@ func (s *Service) ListBom(ctx context.Context, productCode, bomName string) ([]*
// BomNameInfo 型号下的一份 BOM 概要(名称 + 物料数)
type BomNameInfo struct {
BomName string `json:"bomName"`
ItemCount int `json:"itemCount"`
BomName string `json:"bomName"`
ItemCount int `json:"itemCount"`
}
// ListBomNames 列出某产品型号下并存的所有 BOM 名称(工单建单选 BOM 下拉数据源)