chore: 完成多系统功能迭代与优化
1. 通用优化: - 统一系统标题为"库房客户端"/"MES产线控制",移除北自所前缀 - 调整内置账号密码为统一123456,优化密码校验逻辑 - 新增数据库自动创建逻辑,简化部署流程 - 修复日志时间格式配置,优化日志输出 - 新增纯数字密码安全提示 2. MES系统优化: - 新增日排产管理功能,支持增删改查与自动算料生成备料单 - 重构BOM模块,改为按产品编码维护而非工单维度 - 新增工艺参数模板配置与手动报工页面 - 新增产品类型自动编码功能 - 优化菜单结构,调整工单管理、扫码报工等页面名称与路由 - 新增删除日排产接口与权限保护 - 修复物料清单查询逻辑,适配新BOM结构 - 新增refreshToken支持,优化登录会话管理 3. WMS系统优化: - 新增基础数据维护页面,支持区域与物料档案管理 - 新增工单列表下拉接口,对接MES获取未完成工单优先展示 - 优化入库管理提示文案,替换英文提示为中文 - 修复精密件入库校验逻辑,优化错误提示 - 优化Excel导入功能,新增备注字段支持 - 优化登录页面与菜单文案,统一备料台账名称 - 新增自动打开浏览器功能,优化客户端启动体验 - 修复备料出库页面查询提示文案 - 新增WMS与MES对接配置,完善内部API调用逻辑 4. 其他优化: - 删除冗余的旧版静态资源文件,更新资源引用路径 - 新增帮助文档,完善基础数据模块说明 - 修复多处文案不统一、英文残留问题
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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...)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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]},
|
||||
},
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user