<?php
declare(strict_types=1);
namespace App\Entity\System;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table(name="product_stock")
*
* @ORM\Entity(repositoryClass="App\Repository\System\ProductStockRepository")
*/
class ProductStock
{
/**
* @ORM\Column(type="integer")
*
* @ORM\Id
*
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected int $id;
/**
* @ORM\Column(type="string", length=64)
*/
protected string $uuid;
/**
* @ORM\Column(type="string", length=32)
*/
protected string $reference;
/**
* @ORM\Column(type="string", length=32)
*/
protected string $sku;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\System\Product", inversedBy="productStocks", cascade={"persist"})
*
* @ORM\JoinColumn(referencedColumnName="id_product")
*/
private Product $product;
/**
* @ORM\ManyToOne(targetEntity="ProductAttribute", cascade={"persist"})
*
* @ORM\JoinColumn(referencedColumnName="id_product_attribute")
*/
private ?ProductAttribute $productAttribute;
/**
* @ORM\Column(name="quantity", type="integer")
*/
private int $quantity;
/**
* @ORM\Column(type="integer")
*/
private int $minimumHandlingDays;
/**
* @ORM\Column(type="integer")
*/
private int $maximumHandlingDays;
/**
* @ORM\Column(type="datetime")
*/
private \DateTime $dateAdd;
/**
* @ORM\Column(type="datetime")
*/
private \DateTime $dateUpdate;
public function __construct()
{
$this->dateAdd = new \DateTime();
}
public function getId(): int
{
return $this->id;
}
public function getUuid(): string
{
return $this->uuid;
}
public function setUuid(string $uuid): ProductStock
{
$this->uuid = $uuid;
return $this;
}
public function getReference(): string
{
return $this->reference;
}
public function setReference(string $reference): ProductStock
{
$this->reference = $reference;
return $this;
}
public function getSku(): string
{
return $this->sku;
}
public function setSku(string $sku): ProductStock
{
$this->sku = $sku;
return $this;
}
public function getProduct(): Product
{
return $this->product;
}
public function setProduct(Product $product): ProductStock
{
$this->product = $product;
return $this;
}
public function getProductAttribute(): ?ProductAttribute
{
return $this->productAttribute;
}
public function setProductAttribute(?ProductAttribute $productAttribute): ProductStock
{
$this->productAttribute = $productAttribute;
return $this;
}
public function getQuantity(): int
{
return $this->quantity;
}
public function setQuantity(int $quantity): ProductStock
{
$this->quantity = $quantity;
return $this;
}
public function getMinimumHandlingDays(): int
{
return $this->minimumHandlingDays;
}
public function setMinimumHandlingDays(int $minimumHandlingDays): ProductStock
{
$this->minimumHandlingDays = $minimumHandlingDays;
return $this;
}
public function getMaximumHandlingDays(): int
{
return $this->maximumHandlingDays;
}
public function setMaximumHandlingDays(int $maximumHandlingDays): ProductStock
{
$this->maximumHandlingDays = $maximumHandlingDays;
return $this;
}
public function getDateAdd(): \DateTime
{
return $this->dateAdd;
}
public function setDateAdd(\DateTime $dateAdd): ProductStock
{
$this->dateAdd = $dateAdd;
return $this;
}
public function getDateUpdate(): \DateTime
{
return $this->dateUpdate;
}
public function setDateUpdate(\DateTime $dateUpdate): ProductStock
{
$this->dateUpdate = $dateUpdate;
return $this;
}
}