<?phpnamespace App\Entity;use App\Repository\LigneAchatRepository;use Doctrine\ORM\Mapping as ORM;#[ORM\Entity(repositoryClass: LigneAchatRepository::class)]class LigneAchat{ #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column] private ?int $id = null; #[ORM\ManyToOne(inversedBy: 'lignes')] #[ORM\JoinColumn(nullable: false)] private ?AchatFournisseur $achat = null; #[ORM\ManyToOne] #[ORM\JoinColumn(nullable: true)] private ?Produit $produit = null; #[ORM\Column(length: 255, nullable: true)] private ?string $designation = null; #[ORM\Column] private ?int $quantite = null; #[ORM\Column] private ?float $prixUnitaire = null; #[ORM\Column(nullable: true)] private ?float $remise = 0; #[ORM\Column] private ?float $montantLigne = null; public function getId(): ?int { return $this->id; } public function getAchat(): ?AchatFournisseur { return $this->achat; } public function setAchat(?AchatFournisseur $achat): static { $this->achat = $achat; return $this; } public function getProduit(): ?Produit { return $this->produit; } public function setProduit(?Produit $produit): static { $this->produit = $produit; return $this; } public function getDesignation(): ?string { return $this->designation; } public function setDesignation(?string $designation): static { $this->designation = $designation; return $this; } public function getQuantite(): ?int { return $this->quantite; } public function setQuantite(int $quantite): static { $this->quantite = $quantite; return $this; } public function getPrixUnitaire(): ?float { return $this->prixUnitaire; } public function setPrixUnitaire(float $prixUnitaire): static { $this->prixUnitaire = $prixUnitaire; return $this; } public function getRemise(): ?float { return $this->remise ?? 0; } public function setRemise(?float $remise): static { $this->remise = $remise; return $this; } public function getMontantLigne(): ?float { return $this->montantLigne; } public function setMontantLigne(float $montantLigne): static { $this->montantLigne = $montantLigne; return $this; } /** * Calcule automatiquement le montant de la ligne */ public function calculerMontant(): void { $montant = ($this->quantite * $this->prixUnitaire) - ($this->remise ?? 0); $this->montantLigne = max(0, $montant); }}