67 lines
2.4 KiB
Go
67 lines
2.4 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"
|
||
"entgo.io/ent/schema/index"
|
||
)
|
||
|
||
// WorkOrder 工�,一次生产任务的下达指令
|
||
type WorkOrder struct {
|
||
ent.Schema
|
||
}
|
||
|
||
func (WorkOrder) Annotations() []schema.Annotation {
|
||
return []schema.Annotation{
|
||
entsql.Annotation{
|
||
Table: "work_order",
|
||
Options: "COMMENT='工�表,记录�次生产任务的下达指令:产��数��状�����完工统计'",
|
||
},
|
||
entsql.WithComments(true),
|
||
}
|
||
}
|
||
|
||
func (WorkOrder) Fields() []ent.Field {
|
||
return []ent.Field{
|
||
field.Int("id").Positive().Comment("主键ID"),
|
||
field.Int("productTypeId").Comment("产�类型ID,决定生产的工件�类"),
|
||
field.Int("quantity").Default(1).Comment("工件计划数�,该工�需�生产的总件�),
|
||
field.Int("finishedNum").Default(0).Comment("已完�良�数�),
|
||
field.Int("failNum").Default(0).Comment("检测NGæ•°é‡�ï¼ŒåŠ å·¥æˆ–æ£€æµ‹ä¸�å�ˆæ ¼çš„ä»¶æ•?),
|
||
field.Enum("status").
|
||
GoType(constants.WorkOrderStatus("")).
|
||
Default(string(constants.WorkOrderStatus_Created)).
|
||
Comment("工�状�:Created/InProgress/Paused/Completed/Cancelled/Error/Reported"),
|
||
field.Time("createdAt").Default(time.Now).Immutable().Comment("创建时间"),
|
||
field.Time("updatedAt").Default(time.Now).UpdateDefault(time.Now).Optional().Nillable().Comment("æ›´æ–°æ—¶é—´"),
|
||
field.Time("completedAt").Optional().Nillable().Comment("å®Œå·¥æ—¶é—´ï¼Œæ‰€æœ‰å·¥ä»¶åŠ å·¥å®Œæ¯•çš„æ—¶åˆ»"),
|
||
field.Enum("source").
|
||
GoType(constants.WorkOrderSource("")).
|
||
Default(string(constants.WorkOrderSource_Manual)).
|
||
Comment("å·¥å�•æ�¥æº�:Manual/MOMï¼Œæ ‡è¯†å·¥å�•çš„åˆ›å»ºæ¸ é�“"),
|
||
field.String("workOrderNo").Default("").Comment("å·¥å�•å�·ï¼Œå¤–部系统(MOM/ERPï¼‰ä¼ å…¥çš„ä¸šåŠ¡ç¼–å�·"),
|
||
field.Bool("isDel").Default(false).Comment("è½¯åˆ é™¤æ ‡è®°ï¼šTRUE=å·²åˆ é™¤ï¼ˆåˆ é™¤å·¥å�•æ—¶è½¯åˆ ï¼Œä¿�留审计数æ�®ï¼‰ï¼›æŸ¥è¯¢éœ€è¿‡æ»¤ is_del = FALSE"),
|
||
}
|
||
}
|
||
|
||
func (WorkOrder) Edges() []ent.Edge {
|
||
return []ent.Edge{
|
||
edge.From("productType", ProductType.Type).Ref("workOrders").Field("productTypeId").Unique().Required().Comment("产�类型"),
|
||
edge.To("jobs", Job.Type).Comment("工�下的工件列表"),
|
||
}
|
||
}
|
||
|
||
func (WorkOrder) Indexes() []ent.Index {
|
||
return []ent.Index{
|
||
index.Fields("status"),
|
||
index.Fields("productTypeId"),
|
||
}
|
||
}
|