feat(mes): 添加定时同步可生产数量到WMS及BOM项相关标准字段
- 在main.go中添加定时任务每10分钟同步可生产数量到WMS系统 - 为BomItem实体添加relatedStandard字段及相关CRUD方法 - 为InspectionRecord实体添加reportNo、materialCode、materialName等字段 - 更新ent schema确保新字段的验证和默认值设置 - 添加必要的数据库迁移和字段映射逻辑
This commit is contained in:
@@ -40,6 +40,10 @@ type WorkOrder struct {
|
||||
ProjectNo string `json:"projectNo,omitempty"`
|
||||
// 产品序号(一个工程编号下各产品的序号)
|
||||
ProductSerial string `json:"productSerial,omitempty"`
|
||||
// 创建人
|
||||
CreatedBy string `json:"createdBy,omitempty"`
|
||||
// 完成日期(必填)
|
||||
DueDate *time.Time `json:"dueDate,omitempty"`
|
||||
// Status holds the value of the "status" field.
|
||||
Status string `json:"status,omitempty"`
|
||||
// 计划开始
|
||||
@@ -66,9 +70,9 @@ func (*WorkOrder) scanValues(columns []string) ([]any, error) {
|
||||
values[i] = new([]byte)
|
||||
case workorder.FieldID, workorder.FieldProductTypeId, workorder.FieldQuantity, workorder.FieldFinishedNum, workorder.FieldFailNum:
|
||||
values[i] = new(sql.NullInt64)
|
||||
case workorder.FieldWorkOrderNo, workorder.FieldProductCode, workorder.FieldProductName, workorder.FieldProcessSeq, workorder.FieldContractNo, workorder.FieldProjectNo, workorder.FieldProductSerial, workorder.FieldStatus:
|
||||
case workorder.FieldWorkOrderNo, workorder.FieldProductCode, workorder.FieldProductName, workorder.FieldProcessSeq, workorder.FieldContractNo, workorder.FieldProjectNo, workorder.FieldProductSerial, workorder.FieldCreatedBy, workorder.FieldStatus:
|
||||
values[i] = new(sql.NullString)
|
||||
case workorder.FieldPlanStart, workorder.FieldPlanEnd, workorder.FieldCompletedAt, workorder.FieldCreatedAt, workorder.FieldUpdatedAt:
|
||||
case workorder.FieldDueDate, workorder.FieldPlanStart, workorder.FieldPlanEnd, workorder.FieldCompletedAt, workorder.FieldCreatedAt, workorder.FieldUpdatedAt:
|
||||
values[i] = new(sql.NullTime)
|
||||
default:
|
||||
values[i] = new(sql.UnknownType)
|
||||
@@ -157,6 +161,19 @@ func (_m *WorkOrder) assignValues(columns []string, values []any) error {
|
||||
} else if value.Valid {
|
||||
_m.ProductSerial = value.String
|
||||
}
|
||||
case workorder.FieldCreatedBy:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field createdBy", values[i])
|
||||
} else if value.Valid {
|
||||
_m.CreatedBy = value.String
|
||||
}
|
||||
case workorder.FieldDueDate:
|
||||
if value, ok := values[i].(*sql.NullTime); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field dueDate", values[i])
|
||||
} else if value.Valid {
|
||||
_m.DueDate = new(time.Time)
|
||||
*_m.DueDate = value.Time
|
||||
}
|
||||
case workorder.FieldStatus:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field status", values[i])
|
||||
@@ -274,6 +291,14 @@ func (_m *WorkOrder) String() string {
|
||||
builder.WriteString("productSerial=")
|
||||
builder.WriteString(_m.ProductSerial)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("createdBy=")
|
||||
builder.WriteString(_m.CreatedBy)
|
||||
builder.WriteString(", ")
|
||||
if v := _m.DueDate; v != nil {
|
||||
builder.WriteString("dueDate=")
|
||||
builder.WriteString(v.Format(time.ANSIC))
|
||||
}
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("status=")
|
||||
builder.WriteString(_m.Status)
|
||||
builder.WriteString(", ")
|
||||
|
||||
Reference in New Issue
Block a user