refactor: 重构工艺工序相关命名与数据模型
1. 全局替换"工序"为"工艺"统一术语,包括页面文案、枚举、注释
2. 重构工单与工件工艺数据模型:
- 新增工艺组合表flow_material作为备料/齐套唯一源头
- 新增工位状态表station_state支持自主停单/恢复接单
- 移除station_process派工表,改用工单工艺组合作为路线唯一源头
- 替换processCode为flowId作为工艺关联标识
- 重构工件当前进度字段为currentStationNo
3. 删除冗余的静态备份资源文件
4. 调整物料选择组件默认启用仅显示激活物料
5. 优化工单创建/编辑逻辑,新增工艺组合校验与保存
This commit is contained in:
@@ -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 下拉数据源)
|
||||
|
||||
Reference in New Issue
Block a user