package entities

import (
	"time"
)

type PurchaseItem struct {
	Id                    uint `gorm:"primaryKey;autoIncrement"`
	PurchaseId            uint `gorm:"not null"`
	ProductId             uint `gorm:"not null"`
	WarehouseId           uint `gorm:"not null"`
	ProductWarehouseId    *uint
	ProjectFlockKandangId *uint
	ReceivedDate          *time.Time
	TravelNumber          *string
	TravelNumberDocs      *string
	VehicleNumber         *string
	SubQty                float64 `gorm:"type:numeric(15,3);not null"`
	TotalQty              float64 `gorm:"type:numeric(15,3);default:0"`
	TotalUsed             float64 `gorm:"type:numeric(15,3);default:0"`
	Price                 float64 `gorm:"type:numeric(15,3);default:0"`
	TotalPrice            float64 `gorm:"type:numeric(15,3);default:0"`
	ExpenseNonstockId     *uint64
	HasChickin            bool `gorm:"-" json:"-"`

	// Relations
	ExpenseNonstock  *ExpenseNonstock  `gorm:"foreignKey:ExpenseNonstockId;references:Id"`
	Purchase         *Purchase         `gorm:"foreignKey:PurchaseId;references:Id"`
	Product          *Product          `gorm:"foreignKey:ProductId;references:Id"`
	Warehouse        *Warehouse        `gorm:"foreignKey:WarehouseId;references:Id"`
	ProductWarehouse *ProductWarehouse `gorm:"foreignKey:ProductWarehouseId;references:Id"`
}
