package models

type Warehouse struct {
	ID         *string `json:"id" db:"id" id_type:"UUID"`
	Name       *string `json:"name" db:"name"`
	Code       *string `json:"code" db:"code"`
	CreateId   *int64  `json:"createId" db:"create_id"`
	CreateTime *string `json:"createTime" db:"create_time"`
	TenantId   *string `json:"tenantId" db:"tenant_id"`
	UpdateId   *int64  `json:"updateId" db:"update_id"`
	UpdateTime *string `json:"updateTime" db:"update_time"`

	EmptyField *[]string `json:"emptyField" db:"-"`
}

type WarehouseMaterial struct {
	ID            *string  `json:"id" db:"id" id_type:"UUID"`
	WarehouseId   *string  `json:"warehouseId" db:"warehouse_id"`
	MaterialCode  *string  `json:"materialCode" db:"material_code"`
	Number        *float64 `json:"number" db:"number"`
	Status        *string  `json:"status" db:"status"`
	FrozenNumber  *float64 `json:"frozenNumber" db:"frozen_number"`
	NormalNumber  *float64 `json:"normalNumber" db:"normal_number"`
	LockedNumber  *float64 `json:"lockedNumber" db:"locked_number"`
	AbandonNumber *float64 `json:"abandonNumber" db:"abandon_number"`
	CreateId      *int64   `json:"createId" db:"create_id"`
	CreateTime    *string  `json:"createTime" db:"create_time"`
	TenantId      *string  `json:"tenantId" db:"tenant_id"`
	UpdateId      *int64   `json:"updateId" db:"update_id"`
	UpdateTime    *string  `json:"updateTime" db:"update_time"`

	EmptyField      *[]string        `json:"emptyField" db:"-"`
	ProductMaterial *ProductMaterial `json:"material" db:"-"`
	Warehouse       *Warehouse       `json:"warehouse" db:"-"`
}

type WarehouseRecord struct {
	ID              *string  `json:"id" db:"id" id_type:"UUID"`
	MaterialCode    *string  `json:"materialCode" db:"material_code"`
	Type            *string  `json:"type" db:"type"`
	Number          *float64 `json:"number" db:"number"`
	CreateId        *int64   `json:"createId" db:"create_id"`
	CreateTime      *string  `json:"createTime" db:"create_time"`
	Remark          *string  `json:"remark" db:"remark"`
	TenantId        *string  `json:"tenantId" db:"tenant_id"`
	FromWarehouseId *string  `json:"fromWarehouseId" db:"from_warehouse_id"`
	ToWarehouseId   *string  `json:"toWarehouseId" db:"to_warehouse_id"`
	RefId           *string  `json:"refId" db:"ref_id"`
	RefType         *string  `json:"refType" db:"ref_type"`
	SaleOrderId     *string  `json:"saleOrderId" db:"sale_order_id"`

	EmptyField *[]string `json:"emptyField" db:"-"`
}
