src/Entity/OrderRequestLineItem.php line 14

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace App\Entity;
  3. use App\Repository\OrderRequestRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Gedmo\Timestampable\Traits\TimestampableEntity;
  8. #[ORM\Table]
  9. #[ORM\Index(columns: ['service_id'], name: 'service_id')]
  10. #[ORM\Entity(repositoryClass: OrderRequestRepository::class)]
  11. class OrderRequestLineItem
  12. {
  13. use TimestampableEntity;
  14. #[ORM\Id]
  15. #[ORM\GeneratedValue]
  16. #[ORM\Column(type: 'integer')]
  17. private int $id;
  18. #[ORM\ManyToOne(targetEntity: OrderRequestLineItem::class, inversedBy: 'abilities')]
  19. private ?OrderRequestLineItem $parent;
  20. #[ORM\OneToMany(mappedBy: 'parent', targetEntity: OrderRequestLineItem::class, cascade: ['all'])]
  21. private iterable $abilities;
  22. #[ORM\Column(type: 'string')]
  23. private string $serviceId;
  24. #[ORM\Column(type: 'string')]
  25. private string $serviceName;
  26. #[ORM\Column(type: 'integer')]
  27. private int $quantity;
  28. #[ORM\Column(type: 'float')]
  29. private float $price;
  30. #[ORM\Column(type: 'string', nullable: true)]
  31. private ?string $surchargeType;
  32. #[ORM\Column(type: 'float', nullable: true)]
  33. private ?float $surchargeValue;
  34. #[ORM\Column(type: 'integer', nullable: true)]
  35. private ?int $surchargeDays;
  36. #[ORM\ManyToOne(targetEntity: OrderRequest::class, inversedBy: 'lineItems')]
  37. private OrderRequest $order;
  38. public function __construct()
  39. {
  40. $this->abilities = new ArrayCollection();
  41. }
  42. public function getId(): int
  43. {
  44. return $this->id;
  45. }
  46. public function setId(int $id): OrderRequestLineItem
  47. {
  48. $this->id = $id;
  49. return $this;
  50. }
  51. public function getParent(): ?OrderRequestLineItem
  52. {
  53. return $this->parent;
  54. }
  55. public function setParent(?OrderRequestLineItem $parent): OrderRequestLineItem
  56. {
  57. $this->parent = $parent;
  58. return $this;
  59. }
  60. public function getServiceId(): string
  61. {
  62. return $this->serviceId;
  63. }
  64. public function setServiceId(string $serviceId): OrderRequestLineItem
  65. {
  66. $this->serviceId = $serviceId;
  67. return $this;
  68. }
  69. public function getServiceName(): string
  70. {
  71. return $this->serviceName;
  72. }
  73. public function setServiceName(string $serviceName): OrderRequestLineItem
  74. {
  75. $this->serviceName = $serviceName;
  76. return $this;
  77. }
  78. public function getQuantity(): int
  79. {
  80. return $this->quantity;
  81. }
  82. public function setQuantity(int $quantity): OrderRequestLineItem
  83. {
  84. $this->quantity = $quantity;
  85. return $this;
  86. }
  87. public function getPrice(): float
  88. {
  89. return $this->price;
  90. }
  91. public function setPrice(float $price): OrderRequestLineItem
  92. {
  93. $this->price = $price;
  94. return $this;
  95. }
  96. public function getOrder(): OrderRequest
  97. {
  98. return $this->order;
  99. }
  100. public function setOrder(OrderRequest $order): OrderRequestLineItem
  101. {
  102. $this->order = $order;
  103. return $this;
  104. }
  105. public function getAbilities(): Collection
  106. {
  107. return $this->abilities;
  108. }
  109. public function getSurchargeType(): ?string
  110. {
  111. return $this->surchargeType;
  112. }
  113. public function setSurchargeType(?string $surchargeType): OrderRequestLineItem
  114. {
  115. $this->surchargeType = $surchargeType;
  116. return $this;
  117. }
  118. public function getSurchargeValue(): ?float
  119. {
  120. return $this->surchargeValue;
  121. }
  122. public function setSurchargeValue(?float $surchargeValue): OrderRequestLineItem
  123. {
  124. $this->surchargeValue = $surchargeValue;
  125. return $this;
  126. }
  127. public function getSurchargeDays(): ?int
  128. {
  129. return $this->surchargeDays;
  130. }
  131. public function setSurchargeDays(?int $surchargeDays): OrderRequestLineItem
  132. {
  133. $this->surchargeDays = $surchargeDays;
  134. return $this;
  135. }
  136. }