Files
bj_power/bj_power_mes/schema/part_no.go
T

48 lines
1.3 KiB
Go

package schema
import (
"time"
"entgo.io/ent"
"entgo.io/ent/dialect/entsql"
"entgo.io/ent/schema"
"entgo.io/ent/schema/edge"
"entgo.io/ent/schema/field"
"entgo.io/ent/schema/index"
)
// PartNo 零件号(高压清洗机按零件号分9组程序)
type PartNo struct {
ent.Schema
}
func (PartNo) Annotations() []schema.Annotation {
return []schema.Annotation{
entsql.Annotation{Table: "part_no"},
}
}
func (PartNo) Fields() []ent.Field {
return []ent.Field{
field.Int("id").Positive(),
field.String("code").MaxLen(20).Unique().Comment("零件号(如 B02858),全局唯一"),
field.Int("productTypeId").Comment("所属毛坯号(关联 product_type.id),与其他设备识别工件类型的ID一致"),
field.Int("washerGroupNo").Comment("高压清洗机组号(1~9),即写入 FANUC 宏变量 #666/#888 的值"),
field.String("remark").Default("").Comment("备注"),
field.Time("createdAt").Default(time.Now).Immutable().Comment("创建时间"),
}
}
func (PartNo) Edges() []ent.Edge {
return []ent.Edge{
edge.From("productType", ProductType.Type).Ref("partNos").Field("productTypeId").Unique().Required(),
edge.To("workOrderParts", WorkOrderPart.Type).Comment("工单零件号关联"),
}
}
func (PartNo) Indexes() []ent.Index {
return []ent.Index{
index.Fields("productTypeId"),
}
}