<?phpnamespace App\Entity;use App\Repository\EntreeStockRepository;use Doctrine\DBAL\Types\Types;use Doctrine\ORM\Mapping as ORM;#[ORM\Entity(repositoryClass: EntreeStockRepository::class)]class EntreeStock{ #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column] private ?int $id = null; #[ORM\Column] private ?int $Quantite = null; #[ORM\Column(type: Types::DATETIME_MUTABLE)] private ?\DateTimeInterface $dateArrive = null; #[ORM\ManyToOne(inversedBy: 'entreeStocks')] private ?Produit $produit = null; #[ORM\ManyToOne(inversedBy: 'entreeStocks')] private ?User $utilisateur = null; #[ORM\Column(type: Types::DATETIME_MUTABLE)] private ?\DateTimeInterface $dateEntree = null; #[ORM\ManyToOne(inversedBy: 'entreeStocks')] private ?Boutique $boutique = null; #[ORM\Column(length: 255, nullable: true)] private ?string $chauffeur = null; #[ORM\Column(length: 255, nullable: true)] private ?string $provenance = null; #[ORM\Column(length: 255, nullable: true)] private ?string $numeroFacture = null; #[ORM\ManyToOne(inversedBy: 'entreesStock')] private ?Fournisseur $fournisseur = null; // COMMENTÉ: La table facture_fournisseur n'existe pas, utiliser achatFournisseur à la place // #[ORM\ManyToOne(inversedBy: 'entreesStock')] // private ?FactureFournisseur $factureFournisseur = null; #[ORM\Column(nullable: true)] private ?float $prixAchatUnitaire = null; #[ORM\Column(nullable: true)] private ?float $montantTotal = null; #[ORM\Column(length: 50, nullable: true)] private ?string $typeEntree = null; // ACHAT, TRANSFERT, AJUSTEMENT, RETOUR #[ORM\ManyToOne(inversedBy: 'entreesStock')] private ?AchatFournisseur $achatFournisseur = null; #[ORM\OneToOne(mappedBy: 'entreeStock')] private ?TransfertStock $transfertStock = null; public function getId(): ?int { return $this->id; } public function getQuantite(): ?int { return $this->Quantite; } public function setQuantite(int $Quantite): static { $this->Quantite = $Quantite; return $this; } public function getDateArrive(): ?\DateTimeInterface { return $this->dateArrive; } public function setDateArrive(\DateTimeInterface $dateArrive): static { $this->dateArrive = $dateArrive; return $this; } public function getProduit(): ?Produit { return $this->produit; } public function setProduit(?Produit $produit): static { $this->produit = $produit; return $this; } public function getUtilisateur(): ?User { return $this->utilisateur; } public function setUtilisateur(?User $utilisateur): static { $this->utilisateur = $utilisateur; return $this; } public function getDateEntree(): ?\DateTimeInterface { return $this->dateEntree; } public function setDateEntree(\DateTimeInterface $dateEntree): static { $this->dateEntree = $dateEntree; return $this; } public function getBoutique(): ?Boutique { return $this->boutique; } public function setBoutique(?Boutique $boutique): static { $this->boutique = $boutique; return $this; } public function getChauffeur(): ?string { return $this->chauffeur; } public function setChauffeur(?string $chauffeur): static { $this->chauffeur = $chauffeur; return $this; } public function getProvenance(): ?string { return $this->provenance; } public function setProvenance(?string $provenance): static { $this->provenance = $provenance; return $this; } public function getNumeroFacture(): ?string { return $this->numeroFacture; } public function setNumeroFacture(?string $numeroFacture): static { $this->numeroFacture = $numeroFacture; return $this; } public function getFournisseur(): ?Fournisseur { return $this->fournisseur; } public function setFournisseur(?Fournisseur $fournisseur): static { $this->fournisseur = $fournisseur; return $this; } // COMMENTÉ: La table facture_fournisseur n'existe pas, utiliser achatFournisseur // public function getFactureFournisseur(): ?FactureFournisseur // { // return $this->factureFournisseur; // } // public function setFactureFournisseur(?FactureFournisseur $factureFournisseur): static // { // $this->factureFournisseur = $factureFournisseur; // return $this; // } public function getPrixAchatUnitaire(): ?float { return $this->prixAchatUnitaire; } public function setPrixAchatUnitaire(?float $prixAchatUnitaire): static { $this->prixAchatUnitaire = $prixAchatUnitaire; return $this; } public function getMontantTotal(): ?float { return $this->montantTotal; } public function setMontantTotal(?float $montantTotal): static { $this->montantTotal = $montantTotal; return $this; } /** * Calcule automatiquement le montant total */ public function calculerMontantTotal(): float { if ($this->prixAchatUnitaire && $this->Quantite) { return $this->prixAchatUnitaire * $this->Quantite; } return 0; } public function getTypeEntree(): ?string { return $this->typeEntree; } public function setTypeEntree(?string $typeEntree): static { $this->typeEntree = $typeEntree; return $this; } public function getAchatFournisseur(): ?AchatFournisseur { return $this->achatFournisseur; } public function setAchatFournisseur(?AchatFournisseur $achatFournisseur): static { $this->achatFournisseur = $achatFournisseur; return $this; } public function getTransfertStock(): ?TransfertStock { return $this->transfertStock; } public function setTransfertStock(?TransfertStock $transfertStock): static { // set the owning side of the relation if necessary if ($transfertStock !== null && $transfertStock->getEntreeStock() !== $this) { $transfertStock->setEntreeStock($this); } $this->transfertStock = $transfertStock; return $this; }}