- 在main.go中添加定时任务每10分钟同步可生产数量到WMS系统 - 为BomItem实体添加relatedStandard字段及相关CRUD方法 - 为InspectionRecord实体添加reportNo、materialCode、materialName等字段 - 更新ent schema确保新字段的验证和默认值设置 - 添加必要的数据库迁移和字段映射逻辑
53 lines
2.7 KiB
Go
53 lines
2.7 KiB
Go
package schema
|
|
|
|
import (
|
|
"entgo.io/ent"
|
|
"entgo.io/ent/schema/field"
|
|
"entgo.io/ent/schema/index"
|
|
)
|
|
|
|
// InboundOrder 入库单
|
|
type InboundOrder struct {
|
|
ent.Schema
|
|
}
|
|
|
|
func (InboundOrder) Fields() []ent.Field {
|
|
return []ent.Field{
|
|
field.String("inbound_no").Unique().Comment("入库单号"),
|
|
// 类型:purchase(采购/结构件) semi(半成品) finished(成品) return(退货) other(其他入库)
|
|
field.String("inbound_type").Default("purchase").Comment("入库类型 purchase/semi/finished/return/other"),
|
|
field.String("material_code").Comment("物料编码"),
|
|
field.String("material_name").Optional().Comment("物料名称(冗余)"),
|
|
// 管理粒度 1批次(结构件)/2序列号(电气件),冗余自物料档案,便于单单据直接判断
|
|
field.Int("manage_mode").Default(1).Comment("管理粒度 1批次/2序列号"),
|
|
field.String("batch_no").Optional().Comment("批次号(结构件)"),
|
|
field.String("zone_code").Optional().Comment("入库区域(大区)"),
|
|
// 库位四级贯通(客户诉求 问题记录 L32/L169 + D5):区域→货架号→第几层→位置号。
|
|
// 与 zones 表 shelf_no/layer_no/position_no 对齐,落位到具体货架/层/位置。
|
|
field.String("shelf_no").Optional().Comment("货架号(如 A)"),
|
|
field.String("layer_no").Optional().Comment("第几层(如 3)"),
|
|
field.String("position_no").Optional().Comment("位置号(如 12)"),
|
|
field.Int("quantity").Default(0).Comment("本次入库总数量(批次合计或SN条数)"),
|
|
field.String("operator").Optional().Comment("操作人"),
|
|
field.String("remark").Optional().Comment("备注"),
|
|
// 检测单号:入库检报告单号,必填以闭环质量追溯
|
|
field.String("inspection_no").Comment("检测单号(入库检报告单号)"),
|
|
// 归属(客户诉求 问题记录 L54:入库记录增加 工单号/科技项目号/无)
|
|
// ownership_type: workorder(工单号) / project(科技项目号) / none(无)
|
|
field.String("ownership_type").Default("none").Comment("归属类型 workorder/project/none"),
|
|
field.String("ownership_no").Optional().Comment("归属编号(工单号/科技项目号)"),
|
|
// 质量状态(客户诉求 问题记录 L129:入库记录增加 合格/不合格 列,提交检验后跳转入库自动关联)
|
|
// 空=未关联检验记录;合格/不合格/部分(部分入库)。入库时按检测单号自动带出最近一次检验结论。
|
|
field.String("quality_status").Optional().Comment("质量状态 合格/不合格/部分(空=未关联检验)"),
|
|
field.Int64("created_at").DefaultFunc(nowUnix).Comment("创建时间"),
|
|
}
|
|
}
|
|
|
|
func (InboundOrder) Indexes() []ent.Index {
|
|
return []ent.Index{
|
|
index.Fields("material_code"),
|
|
index.Fields("inbound_type"),
|
|
index.Fields("operator"),
|
|
}
|
|
}
|