feat: 新增装机绑定功能与权限、BOM工序配置

1.  新增装机绑定实体与相关CRUD逻辑,支持工件工序物料绑定/解绑
2.  为BOM物料新增装配工序字段,支持按工序校验绑定
3.  扩展权限表,新增父权限码字段支持菜单按钮关联
4.  统一各页面帮助弹窗参数,新增角色管理帮助文档
5.  新增公共格式化工具函数,优化侧边栏菜单展开逻辑
6.  新增工位终端绑定代理接口与MES内部绑定API
7.  修复主入口数据库连接与schema初始化逻辑,新增一键迁移工具
This commit is contained in:
SunYF
2026-09-07 11:58:19 +08:00
parent 92f0439d89
commit 6ee131a4bd
70 changed files with 6966 additions and 365 deletions
+12 -1
View File
@@ -30,6 +30,8 @@ type BomItem struct {
Unit string `json:"unit,omitempty"`
// ManageMode holds the value of the "manageMode" field.
ManageMode string `json:"manageMode,omitempty"`
// 装配工序 1~12,0=不参与工位绑定
ProcessCode int `json:"processCode,omitempty"`
// 单台用量
UnitQty float64 `json:"unitQty,omitempty"`
// 损耗率%
@@ -52,7 +54,7 @@ func (*BomItem) scanValues(columns []string) ([]any, error) {
values[i] = new([]byte)
case bomitem.FieldUnitQty, bomitem.FieldLossRate, bomitem.FieldRequiredQty:
values[i] = new(sql.NullFloat64)
case bomitem.FieldID:
case bomitem.FieldID, bomitem.FieldProcessCode:
values[i] = new(sql.NullInt64)
case bomitem.FieldProductCode, bomitem.FieldMaterialCode, bomitem.FieldMaterialName, bomitem.FieldSpec, bomitem.FieldUnit, bomitem.FieldManageMode:
values[i] = new(sql.NullString)
@@ -115,6 +117,12 @@ func (_m *BomItem) assignValues(columns []string, values []any) error {
} else if value.Valid {
_m.ManageMode = value.String
}
case bomitem.FieldProcessCode:
if value, ok := values[i].(*sql.NullInt64); !ok {
return fmt.Errorf("unexpected type %T for field processCode", values[i])
} else if value.Valid {
_m.ProcessCode = int(value.Int64)
}
case bomitem.FieldUnitQty:
if value, ok := values[i].(*sql.NullFloat64); !ok {
return fmt.Errorf("unexpected type %T for field unitQty", values[i])
@@ -201,6 +209,9 @@ func (_m *BomItem) String() string {
builder.WriteString("manageMode=")
builder.WriteString(_m.ManageMode)
builder.WriteString(", ")
builder.WriteString("processCode=")
builder.WriteString(fmt.Sprintf("%v", _m.ProcessCode))
builder.WriteString(", ")
builder.WriteString("unitQty=")
builder.WriteString(fmt.Sprintf("%v", _m.UnitQty))
builder.WriteString(", ")