<?php
namespace App\Entity\Inventaires;
use App\Entity\Articles\Article;
use App\Entity\Articles\MouvementStock;
use App\Entity\Rangements\Emplacement;
use App\Entity\Utilisateur\Utilisateur;
use DateTime;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Symfony\Component\Validator\Constraints as Assert;
/**
* ArticleInventaire
*
* @ORM\Table("inventaire__article_inventaire")
* @ORM\Entity(repositoryClass="App\Repository\Inventaires\ArticleInventaireRepository")
*/
class ArticleInventaire
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Inventaires\Inventaire",inversedBy="articleInventaire")
* @ORM\JoinColumn(nullable=true)
*/
private $inventaire;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Articles\Article",inversedBy="articleInventaire")
* @ORM\JoinColumn(nullable=true)
*/
private $article;
/**
* @ORM\Column(name="date", type="datetime", nullable=true)
*/
private $date;
/**
* @ORM\Column(name="stock", type="float", nullable=true)
*
*/
private $stock;
/**
* @ORM\Column(name="stock_releve", type="float", nullable=true)
*
*/
private $stockReleve;
/**
* @ORM\Column(name="stock_article", type="float", nullable=true)
*
*/
private $stockArticle;
/**
* @ORM\Column(name="stock_releve_nvel_empl", type="float", nullable=true)
*
*/
private $stockReleveNouvelEmplacement;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Utilisateur\Utilisateur")
* @ORM\JoinColumn(nullable=true)
*/
private $utilisateur;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Rangements\Emplacement")
* @ORM\JoinColumn(nullable=true)
*/
private $emplacement;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Rangements\Emplacement", cascade={"persist"})
* @ORM\JoinColumn(nullable=true)
*/
private $nouvelEmplacement;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Articles\MouvementStock", cascade={"persist"}, mappedBy="articleInventaire")
*/
private $mouvementsStock;
/**
* @ORM\Column(name="numerotation", type="string", length=255, nullable=true)
*/
private $numerotation;
public function __construct()
{
$this->date = new Datetime();
$this->mouvementsStock = new ArrayCollection();
}
public function getId(): int
{
return $this->id;
}
public function setDate(?DateTime $date): ArticleInventaire
{
$this->date = $date;
return $this;
}
public function getDate(): ?DateTime
{
return $this->date;
}
public function setInventaire(?Inventaire $inventaire): ArticleInventaire
{
$this->inventaire = $inventaire;
return $this;
}
public function getInventaire(): ?Inventaire
{
return $this->inventaire;
}
public function setArticle(?Article $article): ArticleInventaire
{
$this->article = $article;
return $this;
}
public function getArticle(): ?Article
{
return $this->article;
}
public function setStock(?float $stock): ArticleInventaire
{
$this->stock = $stock;
return $this;
}
public function getStock(): ?float
{
return $this->stock;
}
public function setStockReleve(?float $stockReleve): ArticleInventaire
{
$this->stockReleve = $stockReleve;
return $this;
}
public function getStockReleve(): ?float
{
return $this->stockReleve;
}
public function setUtilisateur(?Utilisateur $utilisateur): ArticleInventaire
{
$this->utilisateur = $utilisateur;
return $this;
}
public function getUtilisateur(): ?Utilisateur
{
return $this->utilisateur;
}
public function setEmplacement(?Emplacement $emplacement): ArticleInventaire
{
$this->emplacement = $emplacement;
return $this;
}
public function getEmplacement(): ?Emplacement
{
return $this->emplacement;
}
public function setStockArticle(?float $stockArticle): ArticleInventaire
{
$this->stockArticle = $stockArticle;
return $this;
}
public function getStockArticle(): ?float
{
return $this->stockArticle;
}
public function addMouvementsStock(MouvementStock $mouvementsStock): ArticleInventaire
{
$this->mouvementsStock[] = $mouvementsStock;
return $this;
}
public function removeMouvementsStock(MouvementStock $mouvementsStock)
{
$this->mouvementsStock->removeElement($mouvementsStock);
}
public function getMouvementsStock(): Collection
{
return $this->mouvementsStock;
}
public function setNouvelEmplacement(?Emplacement $nouvelEmplacement): ArticleInventaire
{
$this->nouvelEmplacement = $nouvelEmplacement;
return $this;
}
public function getNouvelEmplacement(): ?Emplacement
{
return $this->nouvelEmplacement;
}
public function setStockReleveNouvelEmplacement(?float $stockReleveNouvelEmplacement): ArticleInventaire
{
$this->stockReleveNouvelEmplacement = $stockReleveNouvelEmplacement;
return $this;
}
public function getStockReleveNouvelEmplacement(): ?float
{
return $this->stockReleveNouvelEmplacement;
}
public function setNumerotation(?string $numerotation): ArticleInventaire
{
$this->numerotation = $numerotation;
return $this;
}
public function getNumerotation(): ?string
{
return $this->numerotation;
}
}