<?php
namespace App\Entity;
use App\Repository\CatalogueRepository;
use Doctrine\ORM\Mapping as ORM;
use App\Enum\TypeArticle;
#[ORM\Entity(repositoryClass: CatalogueRepository::class)]
#[ORM\Table(name: "Catalogue")]
class Catalogue
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: "integer")]
private ?int $id = null;
#[ORM\Column(length: 20)]
private ?string $typeArticle = null;
#[ORM\ManyToOne(targetEntity: CategoryCatalogue::class)]
#[ORM\JoinColumn(nullable: true)]
private ?CategoryCatalogue $categorycatalogue = null;
#[ORM\ManyToOne(targetEntity: SousCategoryCatalogue::class)]
#[ORM\JoinColumn(nullable: true)]
private ?SousCategoryCatalogue $sousCategoryCatalogue = null;
#[ORM\ManyToOne(targetEntity: FamilleJ::class)]
#[ORM\JoinColumn(nullable: true)]
private ?FamilleJ $assetCodeFamille = null;
#[ORM\ManyToOne(targetEntity: CategoryJ::class)]
#[ORM\JoinColumn(nullable: true)]
private ?CategoryJ $assetCodeCategory = null;
#[ORM\OneToOne(targetEntity: Image::class, cascade: ["persist", "remove"])]
#[ORM\JoinColumn(nullable: true)]
private ?Image $image = null;
#[ORM\ManyToOne(targetEntity: User::class)]
#[ORM\JoinColumn(nullable: true)]
private ?User $user = null;
#[ORM\Column(type: "string", length: 255)]
private ?string $designation = null;
#[ORM\Column(type: "string", length: 255)]
private ?string $description = null;
#[ORM\Column(type: "string", length: 50, nullable: true)]
private ?string $codeArticle = null;
#[ORM\Column(type: "string", length: 10, nullable: true)]
private ?string $asset = null;
#[ORM\Column(type: "string", length: 10, nullable: true)]
private ?string $stockable = null;
#[ORM\Column(type: "string", length: 20, nullable: true)]
private ?string $unite = null;
#[ORM\Column(type: "decimal", precision: 10, scale: 2)]
private ?string $prix = null;
#[ORM\Column(type: "datetime_immutable")]
private \DateTimeInterface $dateCreer;
#[ORM\Column(type: "datetime_immutable")]
private \DateTimeInterface $dateModif;
#[ORM\Column(type: "decimal", precision: 10, nullable: true,scale: 2)]
private ?string $prixHT = null;
#[ORM\Column(type: "string", length: 10, nullable: true)]
private ?string $taxe = null;
#[ORM\Column(type: "integer", nullable: true)]
private ?int $minStock = null;
#[ORM\Column(type: "integer", nullable: true)]
private ?int $maxStock = null;
#[ORM\Column(type: "integer", nullable: true)]
private ?int $stockSecurite = null;
#[ORM\Column(type: "string", length: 20, nullable: true)]
private ?string $typeMRP = null;
#[ORM\Column(type: "integer", nullable: true)]
private ?int $supplierLeadTime = null;
#[ORM\Column(type: "integer", nullable: true)]
private ?int $procurementLeadTime = null;
#[ORM\Column(type: "integer", nullable: true)]
private ?int $monthlyConsumption = null;
public function __construct()
{
$this->dateCreer = new \DateTimeImmutable();
$this->dateModif = new \DateTimeImmutable();
}
public function getId(): ?int
{
return $this->id;
}
public function getCategorycatalogue(): ?CategoryCatalogue
{
return $this->categorycatalogue;
}
public function setCategorycatalogue(?CategoryCatalogue $categorycatalogue): self
{
$this->categorycatalogue = $categorycatalogue;
return $this;
}
public function getSousCategoryCatalogue(): ?SousCategoryCatalogue
{
return $this->sousCategoryCatalogue;
}
public function setSousCategoryCatalogue(?SousCategoryCatalogue $sousCategoryCatalogue): self
{
$this->sousCategoryCatalogue = $sousCategoryCatalogue;
return $this;
}
public function getImage(): ?Image
{
return $this->image;
}
public function setImage(?Image $image): self
{
$this->image = $image;
return $this;
}
public function getUser(): ?User
{
return $this->user;
}
public function setUser(?User $user): self
{
$this->user = $user;
return $this;
}
public function getDesignation(): ?string
{
return $this->designation;
}
public function setDesignation(string $designation): self
{
$this->designation = $designation;
return $this;
}
public function getDescription(): ?string
{
return $this->description;
}
public function setDescription(string $description): self
{
$this->description = $description;
return $this;
}
public function getCodeArticle(): ?string
{
return $this->codeArticle;
}
public function setCodeArticle(?string $codeArticle): self
{
$this->codeArticle = $codeArticle;
return $this;
}
public function getAsset(): ?string
{
return $this->asset;
}
public function setAsset(?string $asset): self
{
$this->asset = $asset;
return $this;
}
public function getStockable(): ?string
{
return $this->stockable;
}
public function setStockable(?string $stockable): self
{
$this->stockable = $stockable;
return $this;
}
public function getUnite(): ?string
{
return $this->unite;
}
public function setUnite(?string $unite): self
{
$this->unite = $unite;
return $this;
}
public function getPrix(): ?string
{
return $this->prix;
}
public function setPrix(?string $prix): self
{
$this->prix = $prix;
return $this;
}
public function getDateCreer(): \DateTimeInterface
{
return $this->dateCreer;
}
public function setDateCreer(\DateTimeInterface $dateCreer): self
{
$this->dateCreer = $dateCreer;
return $this;
}
public function getDateModif(): \DateTimeInterface
{
return $this->dateModif;
}
public function setDateModif(\DateTimeInterface $dateModif): self
{
$this->dateModif = $dateModif;
return $this;
}
public function getPrixHT(): ?string
{
return $this->prixHT;
}
public function setPrixHT(?string $prixHT): self
{
$this->prixHT = $prixHT;
return $this;
}
public function getTaxe(): ?string
{
return $this->taxe;
}
public function setTaxe(?string $taxe): self
{
$this->taxe = $taxe;
return $this;
}
public function getMinStock(): ?int
{
return $this->minStock;
}
public function setMinStock(?int $minStock): self
{
$this->minStock = $minStock;
return $this;
}
public function getMaxStock(): ?int
{
return $this->maxStock;
}
public function setMaxStock(?int $maxStock): self
{
$this->maxStock = $maxStock;
return $this;
}
public function getStockSecurite(): ?int
{
return $this->stockSecurite;
}
public function setStockSecurite(?int $stockSecurite): self
{
$this->stockSecurite = $stockSecurite;
return $this;
}
public function getTypeMRP(): ?string
{
return $this->typeMRP;
}
public function setTypeMRP(?string $typeMRP): self
{
$this->typeMRP = $typeMRP;
return $this;
}
public function getSupplierLeadTime(): ?int
{
return $this->supplierLeadTime;
}
public function setSupplierLeadTime(?int $supplierLeadTime): self
{
$this->supplierLeadTime = $supplierLeadTime;
return $this;
}
public function getProcurementLeadTime(): ?int
{
return $this->procurementLeadTime;
}
public function setProcurementLeadTime(?int $procurementLeadTime): self
{
$this->procurementLeadTime = $procurementLeadTime;
return $this;
}
public function getMonthlyConsumption(): ?int
{
return $this->monthlyConsumption;
}
public function setMonthlyConsumption(?int $monthlyConsumption): self
{
$this->monthlyConsumption = $monthlyConsumption;
return $this;
}
public function getTypeArticle(): ?string
{
return $this->typeArticle;
}
public function setTypeArticle(?string $typeArticle): self
{
$this->typeArticle = $typeArticle;
return $this;
}
public function getAssetCodeFamille(): ?FamilleJ
{
return $this->assetCodeFamille;
}
public function setAssetCodeFamille(?FamilleJ $assetCodeFamille): self
{
$this->assetCodeFamille = $assetCodeFamille;
return $this;
}
public function getAssetCodeCategory(): ?CategoryJ
{
return $this->assetCodeCategory;
}
public function setAssetCodeCategory(?CategoryJ $assetCodeCategory): self
{
$this->assetCodeCategory = $assetCodeCategory;
return $this;
}
}