Files
bj_power/bj_power_wms/schema/order_material_ledger.go
T

38 lines
1.3 KiB
Go
Raw Normal View History

2026-08-28 15:06:01 +08:00
package schema
import (
"entgo.io/ent"
"entgo.io/ent/schema/field"
"entgo.io/ent/schema/index"
)
// OrderMaterialLedger 工单物料台账(WMS 侧)
// 维护:物料总需求数量、累计已出库数量、剩余待出库数量
// 强约束:累计出库 ≤ 工单总需求量;等于时领料完结,禁止再出库
type OrderMaterialLedger struct {
ent.Schema
}
func (OrderMaterialLedger) Fields() []ent.Field {
return []ent.Field{
field.String("order_no").Comment("工单号"),
field.String("material_code").Comment("物料编码"),
field.String("material_name").Optional().Comment("物料名称(冗余)"),
field.Int("total_qty").Default(0).Comment("物料总需求数量"),
field.Int("out_qty").Default(0).Comment("累计已出库数量"),
field.String("status").Default("进行中").Comment("进行中/领料完结"),
2026-09-15 16:37:39 +08:00
// 目标工位:备料送到哪个装配工位(客户诉求 L297-300;MES 同步台账时传入)
field.String("target_station").Optional().Comment("目标工位(装配工位号)"),
2026-08-28 15:06:01 +08:00
field.String("remark").Optional().Comment("备注"),
field.Int64("created_at").DefaultFunc(nowUnix),
field.Int64("updated_at").DefaultFunc(nowUnix),
}
}
func (OrderMaterialLedger) Indexes() []ent.Index {
return []ent.Index{
index.Fields("order_no"),
index.Fields("material_code"),
}
}