vendor/bluue/stocks-bundle/src/Entity/StockOrderLine.php line 31

Open in your IDE?
  1. <?php
  2. /**
  3.  * @author Léo BANNHOLTZER (contact@scaledev.fr)
  4.  * @copyright 2021 - ScaleDEV SAS, 12 RUE CHARLES MORET, 10120 ST ANDRE LES VERGERS
  5.  * @license commercial
  6.  */
  7. declare(strict_types=1);
  8. namespace Bluue\StocksBundle\Entity;
  9. use App\DoctrineExtensions\Timestampable\Traits\UserTimestampableEntity;
  10. use Bluue\StocksBundle\Repository\StockOrderLineRepository;
  11. use Doctrine\Common\Collections\ArrayCollection;
  12. use Doctrine\ORM\Mapping as ORM;
  13. use Symfony\Component\Uid\Uuid;
  14. use Symfony\Bridge\Doctrine\IdGenerator\UuidGenerator;
  15. use Doctrine\Common\Collections\Collection;
  16. /**
  17.  * @ORM\Table(name="stocks_bundle__stock_order_line",
  18.  *  indexes={
  19.  *      @ORM\Index(name="quantity", columns={"quantity"}),
  20.  *      @ORM\Index(name="quantity_available", columns={"quantity_available"}),
  21.  *      @ORM\Index(name="created_at", columns={"created_at"}),
  22.  *      @ORM\Index(name="updated_at", columns={"updated_at"})
  23.  *   })
  24.  * @ORM\Entity(repositoryClass=StockOrderLineRepository::class)
  25.  */
  26. class StockOrderLine
  27. {
  28.     use UserTimestampableEntity;
  29.     /**
  30.      * @ORM\Id
  31.      * @ORM\Column(type="uuid")
  32.      * @ORM\GeneratedValue(strategy="CUSTOM")
  33.      * @ORM\CustomIdGenerator(class=UuidGenerator::class)
  34.      */
  35.     private ?Uuid $id null;
  36.     /**
  37.      * @ORM\ManyToOne(targetEntity=StockProduct::class, inversedBy="stockOrderLines")
  38.      */
  39.     private ?StockProduct $stockProduct;
  40.     /**
  41.      * @ORM\Column(type="integer")
  42.      */
  43.     private ?int $quantity;
  44.     /**
  45.      * @ORM\Column(type="integer")
  46.      */
  47.     private ?int $quantity_available;
  48.     /**
  49.      * @ORM\OneToMany(
  50.      *     targetEntity=StockOrderLineLocation::class,
  51.      *     mappedBy="stockOrderLine",
  52.      *     orphanRemoval=true,
  53.      *     cascade={"persist", "remove"},
  54.      *     fetch="EXTRA_LAZY")
  55.      */
  56.     private Collection $stockOrderLineLocations;
  57.     private ?object $orderLine;
  58.     public function __construct()
  59.     {
  60.         $this->stockOrderLineLocations = new ArrayCollection();
  61.     }
  62.     public function getId(): ?Uuid
  63.     {
  64.         return $this->id;
  65.     }
  66.     public function setOrderLine(object $orderLine)
  67.     {
  68.         $this->orderLine $orderLine;
  69.     }
  70.     public function getOrderLine(): ?object
  71.     {
  72.         return $this->orderLine;
  73.     }
  74.     public function getStockProduct(): ?StockProduct
  75.     {
  76.         return $this->stockProduct;
  77.     }
  78.     public function setStockProduct(?StockProduct $StockProduct): self
  79.     {
  80.         $this->stockProduct $StockProduct;
  81.         return $this;
  82.     }
  83.     public function getQuantity(): ?int
  84.     {
  85.         return $this->quantity;
  86.     }
  87.     public function setQuantity(int $quantity): self
  88.     {
  89.         $this->quantity $quantity;
  90.         return $this;
  91.     }
  92.     public function getQuantityAvailable(): ?int
  93.     {
  94.         return $this->quantity_available;
  95.     }
  96.     public function setQuantityAvailable(int $quantity_available): self
  97.     {
  98.         $this->quantity_available $quantity_available;
  99.         return $this;
  100.     }
  101.     /**
  102.      * @return Collection<int, StockOrderLineLocation>
  103.      */
  104.     public function getStockOrderLineLocations(): Collection
  105.     {
  106.         return $this->stockOrderLineLocations;
  107.     }
  108.     public function addStockOrderLineLocation(StockOrderLineLocation $stockOrderLineLocation): self
  109.     {
  110.         if (!$this->stockOrderLineLocations->contains($stockOrderLineLocation)) {
  111.             $this->stockOrderLineLocations[] = $stockOrderLineLocation;
  112.             $stockOrderLineLocation->setStockOrderLine($this);
  113.         }
  114.         return $this;
  115.     }
  116. }