chore: 完成多系统功能迭代与优化

1. 通用优化:
   - 统一系统标题为"库房客户端"/"MES产线控制",移除北自所前缀
   - 调整内置账号密码为统一123456,优化密码校验逻辑
   - 新增数据库自动创建逻辑,简化部署流程
   - 修复日志时间格式配置,优化日志输出
   - 新增纯数字密码安全提示

2. MES系统优化:
   - 新增日排产管理功能,支持增删改查与自动算料生成备料单
   - 重构BOM模块,改为按产品编码维护而非工单维度
   - 新增工艺参数模板配置与手动报工页面
   - 新增产品类型自动编码功能
   - 优化菜单结构,调整工单管理、扫码报工等页面名称与路由
   - 新增删除日排产接口与权限保护
   - 修复物料清单查询逻辑,适配新BOM结构
   - 新增refreshToken支持,优化登录会话管理

3. WMS系统优化:
   - 新增基础数据维护页面,支持区域与物料档案管理
   - 新增工单列表下拉接口,对接MES获取未完成工单优先展示
   - 优化入库管理提示文案,替换英文提示为中文
   - 修复精密件入库校验逻辑,优化错误提示
   - 优化Excel导入功能,新增备注字段支持
   - 优化登录页面与菜单文案,统一备料台账名称
   - 新增自动打开浏览器功能,优化客户端启动体验
   - 修复备料出库页面查询提示文案
   - 新增WMS与MES对接配置,完善内部API调用逻辑

4. 其他优化:
   - 删除冗余的旧版静态资源文件,更新资源引用路径
   - 新增帮助文档,完善基础数据模块说明
   - 修复多处文案不统一、英文残留问题
This commit is contained in:
SunYF
2026-08-29 15:30:25 +08:00
parent e82b744bbd
commit ebf901ad16
124 changed files with 1815 additions and 480 deletions
+8 -8
View File
@@ -18,8 +18,8 @@ type BomItem struct {
config `json:"-"`
// ID of the ent.
ID int `json:"id,omitempty"`
// 工单号
WorkOrderNo string `json:"workOrderNo,omitempty"`
// 产品编码
ProductCode string `json:"productCode,omitempty"`
// 物料编码
MaterialCode string `json:"materialCode,omitempty"`
// MaterialName holds the value of the "materialName" field.
@@ -54,7 +54,7 @@ func (*BomItem) scanValues(columns []string) ([]any, error) {
values[i] = new(sql.NullFloat64)
case bomitem.FieldID:
values[i] = new(sql.NullInt64)
case bomitem.FieldWorkOrderNo, bomitem.FieldMaterialCode, bomitem.FieldMaterialName, bomitem.FieldSpec, bomitem.FieldUnit, bomitem.FieldManageMode:
case bomitem.FieldProductCode, bomitem.FieldMaterialCode, bomitem.FieldMaterialName, bomitem.FieldSpec, bomitem.FieldUnit, bomitem.FieldManageMode:
values[i] = new(sql.NullString)
case bomitem.FieldCreatedAt:
values[i] = new(sql.NullTime)
@@ -79,11 +79,11 @@ func (_m *BomItem) assignValues(columns []string, values []any) error {
return fmt.Errorf("unexpected type %T for field id", value)
}
_m.ID = int(value.Int64)
case bomitem.FieldWorkOrderNo:
case bomitem.FieldProductCode:
if value, ok := values[i].(*sql.NullString); !ok {
return fmt.Errorf("unexpected type %T for field workOrderNo", values[i])
return fmt.Errorf("unexpected type %T for field productCode", values[i])
} else if value.Valid {
_m.WorkOrderNo = value.String
_m.ProductCode = value.String
}
case bomitem.FieldMaterialCode:
if value, ok := values[i].(*sql.NullString); !ok {
@@ -183,8 +183,8 @@ func (_m *BomItem) String() string {
var builder strings.Builder
builder.WriteString("BomItem(")
builder.WriteString(fmt.Sprintf("id=%v, ", _m.ID))
builder.WriteString("workOrderNo=")
builder.WriteString(_m.WorkOrderNo)
builder.WriteString("productCode=")
builder.WriteString(_m.ProductCode)
builder.WriteString(", ")
builder.WriteString("materialCode=")
builder.WriteString(_m.MaterialCode)
+10 -8
View File
@@ -13,8 +13,8 @@ const (
Label = "bom_item"
// FieldID holds the string denoting the id field in the database.
FieldID = "id"
// FieldWorkOrderNo holds the string denoting the workorderno field in the database.
FieldWorkOrderNo = "work_order_no"
// FieldProductCode holds the string denoting the productcode field in the database.
FieldProductCode = "product_code"
// FieldMaterialCode holds the string denoting the materialcode field in the database.
FieldMaterialCode = "material_code"
// FieldMaterialName holds the string denoting the materialname field in the database.
@@ -42,7 +42,7 @@ const (
// Columns holds all SQL columns for bomitem fields.
var Columns = []string{
FieldID,
FieldWorkOrderNo,
FieldProductCode,
FieldMaterialCode,
FieldMaterialName,
FieldSpec,
@@ -66,8 +66,10 @@ func ValidColumn(column string) bool {
}
var (
// WorkOrderNoValidator is a validator for the "workOrderNo" field. It is called by the builders before save.
WorkOrderNoValidator func(string) error
// DefaultProductCode holds the default value on creation for the "productCode" field.
DefaultProductCode string
// ProductCodeValidator is a validator for the "productCode" field. It is called by the builders before save.
ProductCodeValidator func(string) error
// MaterialCodeValidator is a validator for the "materialCode" field. It is called by the builders before save.
MaterialCodeValidator func(string) error
// DefaultMaterialName holds the default value on creation for the "materialName" field.
@@ -106,9 +108,9 @@ func ByID(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldID, opts...).ToFunc()
}
// ByWorkOrderNo orders the results by the workOrderNo field.
func ByWorkOrderNo(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldWorkOrderNo, opts...).ToFunc()
// ByProductCode orders the results by the productCode field.
func ByProductCode(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldProductCode, opts...).ToFunc()
}
// ByMaterialCode orders the results by the materialCode field.
+42 -42
View File
@@ -54,9 +54,9 @@ func IDLTE(id int) predicate.BomItem {
return predicate.BomItem(sql.FieldLTE(FieldID, id))
}
// WorkOrderNo applies equality check predicate on the "workOrderNo" field. It's identical to WorkOrderNoEQ.
func WorkOrderNo(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldEQ(FieldWorkOrderNo, v))
// ProductCode applies equality check predicate on the "productCode" field. It's identical to ProductCodeEQ.
func ProductCode(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldEQ(FieldProductCode, v))
}
// MaterialCode applies equality check predicate on the "materialCode" field. It's identical to MaterialCodeEQ.
@@ -104,69 +104,69 @@ func CreatedAt(v time.Time) predicate.BomItem {
return predicate.BomItem(sql.FieldEQ(FieldCreatedAt, v))
}
// WorkOrderNoEQ applies the EQ predicate on the "workOrderNo" field.
func WorkOrderNoEQ(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldEQ(FieldWorkOrderNo, v))
// ProductCodeEQ applies the EQ predicate on the "productCode" field.
func ProductCodeEQ(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldEQ(FieldProductCode, v))
}
// WorkOrderNoNEQ applies the NEQ predicate on the "workOrderNo" field.
func WorkOrderNoNEQ(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldNEQ(FieldWorkOrderNo, v))
// ProductCodeNEQ applies the NEQ predicate on the "productCode" field.
func ProductCodeNEQ(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldNEQ(FieldProductCode, v))
}
// WorkOrderNoIn applies the In predicate on the "workOrderNo" field.
func WorkOrderNoIn(vs ...string) predicate.BomItem {
return predicate.BomItem(sql.FieldIn(FieldWorkOrderNo, vs...))
// ProductCodeIn applies the In predicate on the "productCode" field.
func ProductCodeIn(vs ...string) predicate.BomItem {
return predicate.BomItem(sql.FieldIn(FieldProductCode, vs...))
}
// WorkOrderNoNotIn applies the NotIn predicate on the "workOrderNo" field.
func WorkOrderNoNotIn(vs ...string) predicate.BomItem {
return predicate.BomItem(sql.FieldNotIn(FieldWorkOrderNo, vs...))
// ProductCodeNotIn applies the NotIn predicate on the "productCode" field.
func ProductCodeNotIn(vs ...string) predicate.BomItem {
return predicate.BomItem(sql.FieldNotIn(FieldProductCode, vs...))
}
// WorkOrderNoGT applies the GT predicate on the "workOrderNo" field.
func WorkOrderNoGT(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldGT(FieldWorkOrderNo, v))
// ProductCodeGT applies the GT predicate on the "productCode" field.
func ProductCodeGT(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldGT(FieldProductCode, v))
}
// WorkOrderNoGTE applies the GTE predicate on the "workOrderNo" field.
func WorkOrderNoGTE(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldGTE(FieldWorkOrderNo, v))
// ProductCodeGTE applies the GTE predicate on the "productCode" field.
func ProductCodeGTE(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldGTE(FieldProductCode, v))
}
// WorkOrderNoLT applies the LT predicate on the "workOrderNo" field.
func WorkOrderNoLT(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldLT(FieldWorkOrderNo, v))
// ProductCodeLT applies the LT predicate on the "productCode" field.
func ProductCodeLT(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldLT(FieldProductCode, v))
}
// WorkOrderNoLTE applies the LTE predicate on the "workOrderNo" field.
func WorkOrderNoLTE(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldLTE(FieldWorkOrderNo, v))
// ProductCodeLTE applies the LTE predicate on the "productCode" field.
func ProductCodeLTE(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldLTE(FieldProductCode, v))
}
// WorkOrderNoContains applies the Contains predicate on the "workOrderNo" field.
func WorkOrderNoContains(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldContains(FieldWorkOrderNo, v))
// ProductCodeContains applies the Contains predicate on the "productCode" field.
func ProductCodeContains(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldContains(FieldProductCode, v))
}
// WorkOrderNoHasPrefix applies the HasPrefix predicate on the "workOrderNo" field.
func WorkOrderNoHasPrefix(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldHasPrefix(FieldWorkOrderNo, v))
// ProductCodeHasPrefix applies the HasPrefix predicate on the "productCode" field.
func ProductCodeHasPrefix(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldHasPrefix(FieldProductCode, v))
}
// WorkOrderNoHasSuffix applies the HasSuffix predicate on the "workOrderNo" field.
func WorkOrderNoHasSuffix(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldHasSuffix(FieldWorkOrderNo, v))
// ProductCodeHasSuffix applies the HasSuffix predicate on the "productCode" field.
func ProductCodeHasSuffix(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldHasSuffix(FieldProductCode, v))
}
// WorkOrderNoEqualFold applies the EqualFold predicate on the "workOrderNo" field.
func WorkOrderNoEqualFold(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldEqualFold(FieldWorkOrderNo, v))
// ProductCodeEqualFold applies the EqualFold predicate on the "productCode" field.
func ProductCodeEqualFold(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldEqualFold(FieldProductCode, v))
}
// WorkOrderNoContainsFold applies the ContainsFold predicate on the "workOrderNo" field.
func WorkOrderNoContainsFold(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldContainsFold(FieldWorkOrderNo, v))
// ProductCodeContainsFold applies the ContainsFold predicate on the "productCode" field.
func ProductCodeContainsFold(v string) predicate.BomItem {
return predicate.BomItem(sql.FieldContainsFold(FieldProductCode, v))
}
// MaterialCodeEQ applies the EQ predicate on the "materialCode" field.
+23 -11
View File
@@ -20,9 +20,17 @@ type BomItemCreate struct {
hooks []Hook
}
// SetWorkOrderNo sets the "workOrderNo" field.
func (_c *BomItemCreate) SetWorkOrderNo(v string) *BomItemCreate {
_c.mutation.SetWorkOrderNo(v)
// SetProductCode sets the "productCode" field.
func (_c *BomItemCreate) SetProductCode(v string) *BomItemCreate {
_c.mutation.SetProductCode(v)
return _c
}
// SetNillableProductCode sets the "productCode" field if the given value is not nil.
func (_c *BomItemCreate) SetNillableProductCode(v *string) *BomItemCreate {
if v != nil {
_c.SetProductCode(*v)
}
return _c
}
@@ -191,6 +199,10 @@ func (_c *BomItemCreate) ExecX(ctx context.Context) {
// defaults sets the default values of the builder before save.
func (_c *BomItemCreate) defaults() {
if _, ok := _c.mutation.ProductCode(); !ok {
v := bomitem.DefaultProductCode
_c.mutation.SetProductCode(v)
}
if _, ok := _c.mutation.MaterialName(); !ok {
v := bomitem.DefaultMaterialName
_c.mutation.SetMaterialName(v)
@@ -227,12 +239,12 @@ func (_c *BomItemCreate) defaults() {
// check runs all checks and user-defined validators on the builder.
func (_c *BomItemCreate) check() error {
if _, ok := _c.mutation.WorkOrderNo(); !ok {
return &ValidationError{Name: "workOrderNo", err: errors.New(`ent: missing required field "BomItem.workOrderNo"`)}
if _, ok := _c.mutation.ProductCode(); !ok {
return &ValidationError{Name: "productCode", err: errors.New(`ent: missing required field "BomItem.productCode"`)}
}
if v, ok := _c.mutation.WorkOrderNo(); ok {
if err := bomitem.WorkOrderNoValidator(v); err != nil {
return &ValidationError{Name: "workOrderNo", err: fmt.Errorf(`ent: validator failed for field "BomItem.workOrderNo": %w`, err)}
if v, ok := _c.mutation.ProductCode(); ok {
if err := bomitem.ProductCodeValidator(v); err != nil {
return &ValidationError{Name: "productCode", err: fmt.Errorf(`ent: validator failed for field "BomItem.productCode": %w`, err)}
}
}
if _, ok := _c.mutation.MaterialCode(); !ok {
@@ -324,9 +336,9 @@ func (_c *BomItemCreate) createSpec() (*BomItem, *sqlgraph.CreateSpec) {
_node.ID = id
_spec.ID.Value = id
}
if value, ok := _c.mutation.WorkOrderNo(); ok {
_spec.SetField(bomitem.FieldWorkOrderNo, field.TypeString, value)
_node.WorkOrderNo = value
if value, ok := _c.mutation.ProductCode(); ok {
_spec.SetField(bomitem.FieldProductCode, field.TypeString, value)
_node.ProductCode = value
}
if value, ok := _c.mutation.MaterialCode(); ok {
_spec.SetField(bomitem.FieldMaterialCode, field.TypeString, value)
+4 -4
View File
@@ -265,12 +265,12 @@ func (_q *BomItemQuery) Clone() *BomItemQuery {
// Example:
//
// var v []struct {
// WorkOrderNo string `json:"workOrderNo,omitempty"`
// ProductCode string `json:"productCode,omitempty"`
// Count int `json:"count,omitempty"`
// }
//
// client.BomItem.Query().
// GroupBy(bomitem.FieldWorkOrderNo).
// GroupBy(bomitem.FieldProductCode).
// Aggregate(ent.Count()).
// Scan(ctx, &v)
func (_q *BomItemQuery) GroupBy(field string, fields ...string) *BomItemGroupBy {
@@ -288,11 +288,11 @@ func (_q *BomItemQuery) GroupBy(field string, fields ...string) *BomItemGroupBy
// Example:
//
// var v []struct {
// WorkOrderNo string `json:"workOrderNo,omitempty"`
// ProductCode string `json:"productCode,omitempty"`
// }
//
// client.BomItem.Query().
// Select(bomitem.FieldWorkOrderNo).
// Select(bomitem.FieldProductCode).
// Scan(ctx, &v)
func (_q *BomItemQuery) Select(fields ...string) *BomItemSelect {
_q.ctx.Fields = append(_q.ctx.Fields, fields...)
+22 -22
View File
@@ -29,16 +29,16 @@ func (_u *BomItemUpdate) Where(ps ...predicate.BomItem) *BomItemUpdate {
return _u
}
// SetWorkOrderNo sets the "workOrderNo" field.
func (_u *BomItemUpdate) SetWorkOrderNo(v string) *BomItemUpdate {
_u.mutation.SetWorkOrderNo(v)
// SetProductCode sets the "productCode" field.
func (_u *BomItemUpdate) SetProductCode(v string) *BomItemUpdate {
_u.mutation.SetProductCode(v)
return _u
}
// SetNillableWorkOrderNo sets the "workOrderNo" field if the given value is not nil.
func (_u *BomItemUpdate) SetNillableWorkOrderNo(v *string) *BomItemUpdate {
// SetNillableProductCode sets the "productCode" field if the given value is not nil.
func (_u *BomItemUpdate) SetNillableProductCode(v *string) *BomItemUpdate {
if v != nil {
_u.SetWorkOrderNo(*v)
_u.SetProductCode(*v)
}
return _u
}
@@ -228,9 +228,9 @@ func (_u *BomItemUpdate) ExecX(ctx context.Context) {
// check runs all checks and user-defined validators on the builder.
func (_u *BomItemUpdate) check() error {
if v, ok := _u.mutation.WorkOrderNo(); ok {
if err := bomitem.WorkOrderNoValidator(v); err != nil {
return &ValidationError{Name: "workOrderNo", err: fmt.Errorf(`ent: validator failed for field "BomItem.workOrderNo": %w`, err)}
if v, ok := _u.mutation.ProductCode(); ok {
if err := bomitem.ProductCodeValidator(v); err != nil {
return &ValidationError{Name: "productCode", err: fmt.Errorf(`ent: validator failed for field "BomItem.productCode": %w`, err)}
}
}
if v, ok := _u.mutation.MaterialCode(); ok {
@@ -279,8 +279,8 @@ func (_u *BomItemUpdate) sqlSave(ctx context.Context) (_node int, err error) {
}
}
}
if value, ok := _u.mutation.WorkOrderNo(); ok {
_spec.SetField(bomitem.FieldWorkOrderNo, field.TypeString, value)
if value, ok := _u.mutation.ProductCode(); ok {
_spec.SetField(bomitem.FieldProductCode, field.TypeString, value)
}
if value, ok := _u.mutation.MaterialCode(); ok {
_spec.SetField(bomitem.FieldMaterialCode, field.TypeString, value)
@@ -348,16 +348,16 @@ type BomItemUpdateOne struct {
modifiers []func(*sql.UpdateBuilder)
}
// SetWorkOrderNo sets the "workOrderNo" field.
func (_u *BomItemUpdateOne) SetWorkOrderNo(v string) *BomItemUpdateOne {
_u.mutation.SetWorkOrderNo(v)
// SetProductCode sets the "productCode" field.
func (_u *BomItemUpdateOne) SetProductCode(v string) *BomItemUpdateOne {
_u.mutation.SetProductCode(v)
return _u
}
// SetNillableWorkOrderNo sets the "workOrderNo" field if the given value is not nil.
func (_u *BomItemUpdateOne) SetNillableWorkOrderNo(v *string) *BomItemUpdateOne {
// SetNillableProductCode sets the "productCode" field if the given value is not nil.
func (_u *BomItemUpdateOne) SetNillableProductCode(v *string) *BomItemUpdateOne {
if v != nil {
_u.SetWorkOrderNo(*v)
_u.SetProductCode(*v)
}
return _u
}
@@ -560,9 +560,9 @@ func (_u *BomItemUpdateOne) ExecX(ctx context.Context) {
// check runs all checks and user-defined validators on the builder.
func (_u *BomItemUpdateOne) check() error {
if v, ok := _u.mutation.WorkOrderNo(); ok {
if err := bomitem.WorkOrderNoValidator(v); err != nil {
return &ValidationError{Name: "workOrderNo", err: fmt.Errorf(`ent: validator failed for field "BomItem.workOrderNo": %w`, err)}
if v, ok := _u.mutation.ProductCode(); ok {
if err := bomitem.ProductCodeValidator(v); err != nil {
return &ValidationError{Name: "productCode", err: fmt.Errorf(`ent: validator failed for field "BomItem.productCode": %w`, err)}
}
}
if v, ok := _u.mutation.MaterialCode(); ok {
@@ -628,8 +628,8 @@ func (_u *BomItemUpdateOne) sqlSave(ctx context.Context) (_node *BomItem, err er
}
}
}
if value, ok := _u.mutation.WorkOrderNo(); ok {
_spec.SetField(bomitem.FieldWorkOrderNo, field.TypeString, value)
if value, ok := _u.mutation.ProductCode(); ok {
_spec.SetField(bomitem.FieldProductCode, field.TypeString, value)
}
if value, ok := _u.mutation.MaterialCode(); ok {
_spec.SetField(bomitem.FieldMaterialCode, field.TypeString, value)
+3 -3
View File
@@ -36,7 +36,7 @@ var (
// WorkOrderBomColumns holds the columns for the "work_order_bom" table.
WorkOrderBomColumns = []*schema.Column{
{Name: "id", Type: field.TypeInt, Increment: true},
{Name: "work_order_no", Type: field.TypeString, Size: 64},
{Name: "product_code", Type: field.TypeString, Size: 64, Default: ""},
{Name: "material_code", Type: field.TypeString, Size: 64},
{Name: "material_name", Type: field.TypeString, Size: 128, Default: ""},
{Name: "spec", Type: field.TypeString, Size: 128, Default: ""},
@@ -55,12 +55,12 @@ var (
PrimaryKey: []*schema.Column{WorkOrderBomColumns[0]},
Indexes: []*schema.Index{
{
Name: "bomitem_work_order_no",
Name: "bomitem_product_code",
Unique: false,
Columns: []*schema.Column{WorkOrderBomColumns[1]},
},
{
Name: "bomitem_work_order_no_material_code",
Name: "bomitem_product_code_material_code",
Unique: true,
Columns: []*schema.Column{WorkOrderBomColumns[1], WorkOrderBomColumns[2]},
},
+26 -26
View File
@@ -802,7 +802,7 @@ type BomItemMutation struct {
op Op
typ string
id *int
workOrderNo *string
productCode *string
materialCode *string
materialName *string
spec *string
@@ -927,40 +927,40 @@ func (m *BomItemMutation) IDs(ctx context.Context) ([]int, error) {
}
}
// SetWorkOrderNo sets the "workOrderNo" field.
func (m *BomItemMutation) SetWorkOrderNo(s string) {
m.workOrderNo = &s
// SetProductCode sets the "productCode" field.
func (m *BomItemMutation) SetProductCode(s string) {
m.productCode = &s
}
// WorkOrderNo returns the value of the "workOrderNo" field in the mutation.
func (m *BomItemMutation) WorkOrderNo() (r string, exists bool) {
v := m.workOrderNo
// ProductCode returns the value of the "productCode" field in the mutation.
func (m *BomItemMutation) ProductCode() (r string, exists bool) {
v := m.productCode
if v == nil {
return
}
return *v, true
}
// OldWorkOrderNo returns the old "workOrderNo" field's value of the BomItem entity.
// OldProductCode returns the old "productCode" field's value of the BomItem entity.
// If the BomItem object wasn't provided to the builder, the object is fetched from the database.
// An error is returned if the mutation operation is not UpdateOne, or the database query fails.
func (m *BomItemMutation) OldWorkOrderNo(ctx context.Context) (v string, err error) {
func (m *BomItemMutation) OldProductCode(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldWorkOrderNo is only allowed on UpdateOne operations")
return v, errors.New("OldProductCode is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldWorkOrderNo requires an ID field in the mutation")
return v, errors.New("OldProductCode requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldWorkOrderNo: %w", err)
return v, fmt.Errorf("querying old value for OldProductCode: %w", err)
}
return oldValue.WorkOrderNo, nil
return oldValue.ProductCode, nil
}
// ResetWorkOrderNo resets all changes to the "workOrderNo" field.
func (m *BomItemMutation) ResetWorkOrderNo() {
m.workOrderNo = nil
// ResetProductCode resets all changes to the "productCode" field.
func (m *BomItemMutation) ResetProductCode() {
m.productCode = nil
}
// SetMaterialCode sets the "materialCode" field.
@@ -1447,8 +1447,8 @@ func (m *BomItemMutation) Type() string {
// AddedFields().
func (m *BomItemMutation) Fields() []string {
fields := make([]string, 0, 11)
if m.workOrderNo != nil {
fields = append(fields, bomitem.FieldWorkOrderNo)
if m.productCode != nil {
fields = append(fields, bomitem.FieldProductCode)
}
if m.materialCode != nil {
fields = append(fields, bomitem.FieldMaterialCode)
@@ -1488,8 +1488,8 @@ func (m *BomItemMutation) Fields() []string {
// schema.
func (m *BomItemMutation) Field(name string) (ent.Value, bool) {
switch name {
case bomitem.FieldWorkOrderNo:
return m.WorkOrderNo()
case bomitem.FieldProductCode:
return m.ProductCode()
case bomitem.FieldMaterialCode:
return m.MaterialCode()
case bomitem.FieldMaterialName:
@@ -1519,8 +1519,8 @@ func (m *BomItemMutation) Field(name string) (ent.Value, bool) {
// database failed.
func (m *BomItemMutation) OldField(ctx context.Context, name string) (ent.Value, error) {
switch name {
case bomitem.FieldWorkOrderNo:
return m.OldWorkOrderNo(ctx)
case bomitem.FieldProductCode:
return m.OldProductCode(ctx)
case bomitem.FieldMaterialCode:
return m.OldMaterialCode(ctx)
case bomitem.FieldMaterialName:
@@ -1550,12 +1550,12 @@ func (m *BomItemMutation) OldField(ctx context.Context, name string) (ent.Value,
// type.
func (m *BomItemMutation) SetField(name string, value ent.Value) error {
switch name {
case bomitem.FieldWorkOrderNo:
case bomitem.FieldProductCode:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetWorkOrderNo(v)
m.SetProductCode(v)
return nil
case bomitem.FieldMaterialCode:
v, ok := value.(string)
@@ -1724,8 +1724,8 @@ func (m *BomItemMutation) ClearField(name string) error {
// It returns an error if the field is not defined in the schema.
func (m *BomItemMutation) ResetField(name string) error {
switch name {
case bomitem.FieldWorkOrderNo:
m.ResetWorkOrderNo()
case bomitem.FieldProductCode:
m.ResetProductCode()
return nil
case bomitem.FieldMaterialCode:
m.ResetMaterialCode()
+6 -4
View File
@@ -65,10 +65,12 @@ func init() {
associationtrace.IDValidator = associationtraceDescID.Validators[0].(func(int) error)
bomitemFields := schema.BomItem{}.Fields()
_ = bomitemFields
// bomitemDescWorkOrderNo is the schema descriptor for workOrderNo field.
bomitemDescWorkOrderNo := bomitemFields[1].Descriptor()
// bomitem.WorkOrderNoValidator is a validator for the "workOrderNo" field. It is called by the builders before save.
bomitem.WorkOrderNoValidator = bomitemDescWorkOrderNo.Validators[0].(func(string) error)
// bomitemDescProductCode is the schema descriptor for productCode field.
bomitemDescProductCode := bomitemFields[1].Descriptor()
// bomitem.DefaultProductCode holds the default value on creation for the productCode field.
bomitem.DefaultProductCode = bomitemDescProductCode.Default.(string)
// bomitem.ProductCodeValidator is a validator for the "productCode" field. It is called by the builders before save.
bomitem.ProductCodeValidator = bomitemDescProductCode.Validators[0].(func(string) error)
// bomitemDescMaterialCode is the schema descriptor for materialCode field.
bomitemDescMaterialCode := bomitemFields[2].Descriptor()
// bomitem.MaterialCodeValidator is a validator for the "materialCode" field. It is called by the builders before save.