feat : WIP prix au kilo et prix total sur les bovins
- Champ pricePerKg persisté sur Bovine + migration - Getter calculé finalPrice = receivedWeight * pricePerKg - Colonnes Prix/kg et Prix total sur inventory et case - Ajustements de largeurs pour rentrer dans le layout Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -77,6 +77,10 @@ class Bovine
|
||||
#[Groups(['bovine:read', 'bovine:write', 'building_case:read'])]
|
||||
private ?int $receivedWeight = null;
|
||||
|
||||
#[ORM\Column(type: 'float', nullable: true)]
|
||||
#[Groups(['bovine:read', 'bovine:write', 'building_case:read'])]
|
||||
private ?float $pricePerKg = null;
|
||||
|
||||
#[ORM\Column(type: 'date_immutable', nullable: true)]
|
||||
#[Groups(['bovine:read', 'bovine:write', 'building_case:read'])]
|
||||
#[Context([DateTimeNormalizer::FORMAT_KEY => 'Y-m-d'])]
|
||||
@@ -151,6 +155,28 @@ class Bovine
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getPricePerKg(): ?float
|
||||
{
|
||||
return $this->pricePerKg;
|
||||
}
|
||||
|
||||
public function setPricePerKg(?float $pricePerKg): static
|
||||
{
|
||||
$this->pricePerKg = $pricePerKg;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
#[Groups(['bovine:read', 'building_case:read'])]
|
||||
public function getFinalPrice(): ?float
|
||||
{
|
||||
if (null === $this->receivedWeight || null === $this->pricePerKg) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $this->receivedWeight * $this->pricePerKg;
|
||||
}
|
||||
|
||||
public function getArrivalDate(): ?DateTimeImmutable
|
||||
{
|
||||
return $this->arrivalDate;
|
||||
|
||||
Reference in New Issue
Block a user