55 lines
1.8 KiB
Go
55 lines
1.8 KiB
Go
package schema
|
||
|
||
import (
|
||
"time"
|
||
|
||
"bj_power_mes/constants"
|
||
|
||
"entgo.io/ent"
|
||
"entgo.io/ent/dialect/entsql"
|
||
"entgo.io/ent/schema"
|
||
"entgo.io/ent/schema/edge"
|
||
"entgo.io/ent/schema/field"
|
||
)
|
||
|
||
// Equipment 设备
|
||
type Equipment struct {
|
||
ent.Schema
|
||
}
|
||
|
||
func (Equipment) Annotations() []schema.Annotation {
|
||
return []schema.Annotation{
|
||
entsql.Annotation{Table: "equipment"},
|
||
}
|
||
}
|
||
|
||
func (Equipment) Fields() []ent.Field {
|
||
return []ent.Field{
|
||
field.Int("id").Positive(),
|
||
field.String("name").MaxLen(50).Comment("设备名称"),
|
||
field.Int("equipmentTypeId").Comment("设备类型ID"),
|
||
field.Enum("status").
|
||
GoType(constants.EquipmentStatus("")).
|
||
Default(string(constants.EquipmentStatus_Idle)).
|
||
Comment("设备状态"),
|
||
field.Int("slotCount").Default(1).Comment("槽位数量"),
|
||
field.Bool("enabled").Default(true).Comment("是否启用调度"),
|
||
field.Bool("exchange").Default(false).Comment("是否支持换料"),
|
||
field.Bool("batch").Default(false).Comment("是否批量完成(所有槽位同时完成)"),
|
||
field.String("ipAddress").Default("").Comment("IP地址"),
|
||
field.String("location").Default("").Comment("物理位置"),
|
||
field.String("doneSignalName").Default("").Comment("加工完成信号名称(PLC信号表name)"),
|
||
field.String("ngSignalName").Default("").Comment("检测NG信号名称(PLC信号表name)"),
|
||
field.String("remark").Default("").Comment("备注"),
|
||
field.Time("createdAt").Default(time.Now).Optional().Nillable().Comment("创建时间"),
|
||
field.Time("updatedAt").Default(time.Now).UpdateDefault(time.Now).Optional().Nillable().Comment("更新时间"),
|
||
}
|
||
}
|
||
|
||
func (Equipment) Edges() []ent.Edge {
|
||
return []ent.Edge{
|
||
edge.From("equipmentType", EquipmentType.Type).Ref("equipments").Field("equipmentTypeId").Unique().Required(),
|
||
edge.To("slots", EquipmentSlot.Type).Comment("设备槽位"),
|
||
}
|
||
}
|