package types

import (
	"time"

	"gorm.io/gorm"
)

type ProductionOrder struct {
	Inst      string         `json:"INST"`
	DateTime  string         `json:"DATE_TIME"`
	POrderNo  int            `json:"P_ORDER_NO" gorm:"primaryKey;autoIncrement:false"`
	SchedulNo int            `json:"SCHEDUL_NO"`
	SeqNumber int            `json:"SEQ_NUMBER"`
	PptimeWfc string         `json:"PPTIME_WFC"`
	PptimeMsc string         `json:"PPTIME_MSC"`
	SteelGrad string         `json:"STEEL_GRAD"`
	ITemp     string         `json:"I_TEMP"`
	IHeight   string         `json:"I_HEIGHT"`
	IWidth    string         `json:"I_WIDTH"`
	ISection  string         `json:"I_SECTION"`
	HeatingSt int            `json:"HEATING_ST"`
	FTarTemp  string         `json:"F_TAR_TEMP"`
	FSection  string         `json:"F_SECTION"`
	FSectType string         `json:"F_SECT_TYPE"`
	TotWeight string         `json:"TOT_WEIGHT"`
	TBeamBla  int            `json:"T_BEAM_BLA"`
	TCustOrd  int            `json:"T_CUST_ORD"`
	TestLen   int            `json:"TEST_LEN"`
	PostFlag  string         `json:"POST_FLAG"`
	ModuloX   string         `json:"MODULO_X"`
	OvWTolU   string         `json:"OV_W_TOL_U"`
	OvWTolL   string         `json:"OV_W_TOL_L"`
	OvHTolU   string         `json:"OV_H_TOL_U"`
	OvHTolL   string         `json:"OV_H_TOL_L"`
	WeTTolU   string         `json:"WE_T_TOL_U"`
	WeTTolL   string         `json:"WE_T_TOL_L"`
	WeHTolU   string         `json:"WE_H_TOL_U"`
	WeHTolL   string         `json:"WE_H_TOL_L"`
	FlWDsU    string         `json:"FL_W_DS_U"`
	FlWDsL    string         `json:"FL_W_DS_L"`
	FlWOsU    string         `json:"FL_W_OS_U"`
	FlWOsL    string         `json:"FL_W_OS_L"`
	WeMetTU   string         `json:"WE_MET_T_U"`
	WeMetTL   string         `json:"WE_MET_T_L"`
	WeCenTol  string         `json:"WE_CEN_TOL"`
	WeSquTol  string         `json:"WE_SQU_TOL"`
	FlParTol  string         `json:"FL_PAR_TOL"`
	BdRollID  string         `json:"BD_ROLL_ID"`
	UrRollID  string         `json:"UR_ROLL_ID"`
	EdRollID  string         `json:"ED_ROLL_ID"`
	UfRollID  string         `json:"UF_ROLL_ID"`
	SmRollID  string         `json:"SM_ROLL_ID"`
	Grupo6    string         `json:"GRUPO6"`
	StName    string         `json:"ST_NAME"`
	StWeighM  string         `json:"ST_WEIGH_M"`
	StLen1    string         `json:"ST_LEN_1"`
	StLen2    string         `json:"ST_LEN_2"`
	StLen3    string         `json:"ST_LEN_3"`
	StLen4    string         `json:"ST_LEN_4"`
	StLen5    string         `json:"ST_LEN_5"`
	StLen6    string         `json:"ST_LEN_6"`
	StLen7    string         `json:"ST_LEN_7"`
	StLen8    string         `json:"ST_LEN_8"`
	StLen9    string         `json:"ST_LEN_9"`
	StLen10   string         `json:"ST_LEN_10"`
	StLen11   string         `json:"ST_LEN_11"`
	StLen12   string         `json:"ST_LEN_12"`
	Marfab    int            `json:"MARFAB"`
	Sortb     string         `json:"SORTB"`
	CreatedAt time.Time      `gorm:"->;<-:create" json:"createdat,omitempty"`
	UpdatedAt time.Time      `json:"updated_at,omitempty"`
	DeletedAt gorm.DeletedAt `gorm:"index"`
}

func (ProductionOrder) TableName() string {
	return "sap_po"
}
