<?php
namespace App\Entity;
use App\Repository\StockIssuePositionsRepository;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Annotation\Groups;
/**
* @ORM\Entity(repositoryClass=StockIssuePositionsRepository::class)
*/
class StockIssuePositions
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
* @Groups({
* "stock_issue_position@core"
* })
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity=Stocks::class, inversedBy="stock_issue_positions")
* @ORM\JoinColumn(nullable=false)
* @Groups({
* "stock_issue_position@stock"
* })
*/
private $stock;
/**
* @ORM\Column(type="integer")
* @Groups({
* "stock_issue_position@core"
* })
*/
private $quantity;
/**
* @ORM\ManyToOne(targetEntity=User::class, inversedBy="delivered_stock_issue_positions")
* @Groups({
* "stock_issue_position@deliverer"
* })
*/
private $deliverer;
/**
* @ORM\Column(type="datetime_immutable", nullable=true)
* @Groups({
* "stock_issue_position@core"
* })
*/
private $delivered_at;
/**
* @ORM\Column(type="datetime_immutable", nullable=true)
*/
private $created_at;
/**
* @ORM\ManyToOne(targetEntity=StockIssue::class, inversedBy="stock_issue_positions")
* @ORM\JoinColumn(nullable=false, onDelete="CASCADE")
* @Groups({
* "stock_issue_position@stock_issue"
* })
*/
private $stock_issue;
/**
* @ORM\OneToOne(targetEntity=StockTransactions::class, inversedBy="stock_issue_position", cascade={"persist", "remove"})
* @ORM\JoinColumn(nullable=true, onDelete="CASCADE")
* @Groups({
* "stock_issue_position@stock_transaction"
* })
*/
private $stock_transaction;
/**
* @ORM\Column(type="float", nullable=true)
* @Groups({
* "stock_issue_position@core"
* })
*/
private $returned_quantity;
/**
* @ORM\Column(type="datetime_immutable", nullable=true)
* @Groups({
* "stock_issue_position@core"
* })
*/
private $returned_at;
public function getId(): ?int
{
return $this->id;
}
public function getStock(): ?Stocks
{
return $this->stock;
}
public function setStock(?Stocks $stock): self
{
$this->stock = $stock;
return $this;
}
public function getQuantity(): ?int
{
return $this->quantity;
}
public function setQuantity(int $quantity): self
{
$this->quantity = $quantity;
return $this;
}
public function getDeliverer(): ?User
{
return $this->deliverer;
}
public function setDeliverer(?User $deliverer): self
{
$this->deliverer = $deliverer;
return $this;
}
public function getDeliveredAt(): ?\DateTimeImmutable
{
return $this->delivered_at;
}
public function setDeliveredAt(?\DateTimeImmutable $delivered_at): self
{
$this->delivered_at = $delivered_at;
return $this;
}
public function getCreatedAt(): ?\DateTimeImmutable
{
return $this->created_at;
}
public function setCreatedAt(?\DateTimeImmutable $created_at): self
{
$this->created_at = $created_at;
return $this;
}
public function getStockIssue(): ?StockIssue
{
return $this->stock_issue;
}
public function setStockIssue(?StockIssue $stock_issue): self
{
$this->stock_issue = $stock_issue;
return $this;
}
public function getStockTransaction(): ?StockTransactions
{
return $this->stock_transaction;
}
public function setStockTransaction(?StockTransactions $stock_transaction): self
{
$this->stock_transaction = $stock_transaction;
return $this;
}
public function getReturnedQuantity(): ?float
{
return $this->returned_quantity;
}
public function setReturnedQuantity(?float $returned_quantity): self
{
$this->returned_quantity = $returned_quantity;
return $this;
}
public function getReturnedAt(): ?\DateTimeImmutable
{
return $this->returned_at;
}
public function setReturnedAt(?\DateTimeImmutable $returned_at): self
{
$this->returned_at = $returned_at;
return $this;
}
}