<?php

namespace App\Entity;

use App\Repository\ProduitStockSiteRepository;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity(repositoryClass=ProduitStockSiteRepository::class)
 * @ORM\Table(schema="sav")
 */
class ProduitStockSite
{

    /**
     * @ORM\Id
     * @ORM\ManyToOne(targetEntity=Site::class, inversedBy="produitStockSites")
     * @ORM\JoinColumn(nullable=false, name="idsite")
     */
    private $site;

    /**
     * @ORM\Id
     * @ORM\ManyToOne(targetEntity=Produit::class, inversedBy="produitStockSites", cascade={"persist"})
     * @ORM\JoinColumn(nullable=false, name="idproduit")
     */
    private $produit;

    /**
     * @ORM\Column(type="boolean", nullable=true)
     */
    private $visible_tablette = false;

    /**
     * @ORM\Column(type="smallint", nullable=true)
     */
    private $stock_mini;

    /**
     * @ORM\Column(type="integer", nullable=true)
     */
    private $stock_reel;

    /**
     * @ORM\Column(type="integer", nullable=true)
     */
    private $stock_theorique;

    /**
     * @ORM\Column(type="boolean", nullable=true)
     */
    private $gere_en_stock;

    /**
     * @ORM\Column(type="integer", nullable=true)
     */
    private $stock_reappro;

    /**
     * @ORM\Column(type="string", length=50, nullable=true)
     */
    private $emplacement;


    public function getSite(): ?Site
    {
        return $this->site;
    }

    public function setSite(?Site $site): self
    {
        $this->site = $site;

        return $this;
    }

    public function getProduit(): ?Produit
    {
        return $this->produit;
    }

    public function setProduit(?Produit $produit): self
    {
        $this->produit = $produit;

        return $this;
    }

    public function getVisibleTablette(): ?bool
    {
        return $this->visible_tablette;
    }

    public function setVisibleTablette(?bool $visible_tablette): self
    {
        $this->visible_tablette = $visible_tablette;

        return $this;
    }

    public function getStockMini(): ?int
    {
        return $this->stock_mini;
    }

    public function setStockMini(?int $stock_mini): self
    {
        $this->stock_mini = $stock_mini;

        return $this;
    }

    public function getStockReel(): ?int
    {
        return $this->stock_reel;
    }

    public function setStockReel(?int $stock_reel): self
    {
        $this->stock_reel = $stock_reel;

        return $this;
    }

    public function getStockTheorique(): ?int
    {
        return $this->stock_theorique;
    }

    public function setStockTheorique(?int $stock_theorique): self
    {
        $this->stock_theorique = $stock_theorique;

        return $this;
    }

    public function getGereEnStock(): ?bool
    {
        return $this->gere_en_stock;
    }

    public function setGereEnStock(?bool $gere_en_stock): self
    {
        $this->gere_en_stock = $gere_en_stock;

        return $this;
    }

    public function getStockReappro(): ?int
    {
        return $this->stock_reappro;
    }

    public function setStockReappro(?int $stock_reappro): self
    {
        $this->stock_reappro = $stock_reappro;

        return $this;
    }

    public function getEmplacement(): ?string
    {
        return $this->emplacement;
    }

    public function setEmplacement(?string $emplacement): self
    {
        $this->emplacement = $emplacement;

        return $this;
    }
}
