src/Entity/System/Tracking.php line 19

Open in your IDE?
  1. <?php
  2. namespace App\Entity\System;
  3. use Doctrine\ORM\Mapping as ORM;
  4. /**
  5. * @ORM\Table(name="ps_order_tracking_temp", indexes={
  6. *
  7. * @ORM\Index(name="order_tracking__id_tracking_status_index", columns={"id_tracking_status"}),
  8. * @ORM\Index(name="order_tracking__id_order", columns={"id_order"}),
  9. * @ORM\Index(name="order_tracking__id_carrier_master", columns={"id_carrier_master"}),
  10. * @ORM\Index(name="order_tracking__viewed_index", columns={"viewed"}),
  11. * @ORM\Index(name="order_tracking__tracking_number", columns={"tracking_number"})
  12. * })
  13. *
  14. * @ORM\Entity(repositoryClass="App\Repository\System\TrackingRepository")
  15. */
  16. class Tracking
  17. {
  18. public const NOT_AVAILABLE_TEXT = 'N/A';
  19. public const STATUS_WAITING_TO_COMPUTE = 'WAITING_TO_COMPUTE';
  20. public const NO_MOVEMENT_TOLERANCY_IN_SECONDS = 7300;
  21. public const NO_MOVEMENT_BETWEEN_EVENT_IN_SECONDS_FACTOR = 345600;
  22. public const A4B_LOGISTICS_CANONICAL_STATUS_NAME_RETURNED = 'RETURNED';
  23. public const A4B_LOGISTICS_CANONICAL_STATUS_NAME_PICKUP_POINT = 'PICKUP_POINT';
  24. public const A4B_LOGISTICS_CANONICAL_STATUS_NAME_DAMAGE = 'DAMAGE';
  25. public const A4B_LOGISTICS_CANONICAL_STATUS_NAME_LOST = 'LOST';
  26. /**
  27. * @var int
  28. *
  29. * @ORM\Id
  30. *
  31. * @ORM\GeneratedValue(strategy="AUTO")
  32. *
  33. * @ORM\Column(type="integer", name="id_order_tracking")
  34. */
  35. private $id;
  36. /**
  37. * @var \DateTime|null
  38. *
  39. * @ORM\Column(type="datetime", nullable=true, name="date_status", nullable=true)
  40. */
  41. private $statusDate;
  42. /**
  43. * @var Order
  44. *
  45. * @ORM\ManyToOne(targetEntity="App\Entity\System\Order", inversedBy="trackings")
  46. *
  47. * @ORM\JoinColumn(name="id_order", referencedColumnName="id_order", nullable=false)
  48. */
  49. private $order;
  50. /**
  51. * @var CarrierMaster
  52. *
  53. * @ORM\ManyToOne(targetEntity="App\Entity\System\CarrierMaster")
  54. *
  55. * @ORM\JoinColumn(name="id_carrier_master", referencedColumnName="id_carrier_master", nullable=false)
  56. */
  57. private $carrierMaster;
  58. /**
  59. * @var ?TrackingStatus
  60. *
  61. * @ORM\ManyToOne(targetEntity="App\Entity\System\TrackingStatus")
  62. *
  63. * @ORM\JoinColumn(referencedColumnName="id_tracking_status", nullable=true, name="id_tracking_status")
  64. */
  65. private $trackingStatusId;
  66. /**
  67. * @var bool|null
  68. *
  69. * @ORM\Column(type="boolean", nullable=true)
  70. */
  71. private $downloaded;
  72. /**
  73. * @var string
  74. *
  75. * @ORM\Column(type="string", length=256)
  76. */
  77. private $trackingNumber;
  78. /**
  79. * @var string
  80. *
  81. * @ORM\Column(type="text", nullable=true)
  82. */
  83. private $trackingStatus;
  84. /**
  85. * @var bool
  86. *
  87. * @ORM\Column(type="boolean")
  88. */
  89. private $viewed;
  90. /**
  91. * @return mixed
  92. */
  93. public function getId()
  94. {
  95. return $this->id;
  96. }
  97. /**
  98. * @param int $id
  99. *
  100. * @return Tracking
  101. */
  102. public function setId(int $id): Tracking
  103. {
  104. $this->id = $id;
  105. return $this;
  106. }
  107. /**
  108. * @return bool
  109. */
  110. public function isViewed(): bool
  111. {
  112. return $this->viewed;
  113. }
  114. /**
  115. * @param bool $viewed
  116. *
  117. * @return Tracking
  118. */
  119. public function setViewed(bool $viewed): Tracking
  120. {
  121. $this->viewed = $viewed;
  122. return $this;
  123. }
  124. public function getStatusDate(): ?\DateTime
  125. {
  126. return $this->statusDate;
  127. }
  128. public function setStatusDate(?\DateTime $statusDate): Tracking
  129. {
  130. $this->statusDate = $statusDate;
  131. return $this;
  132. }
  133. public function getOrder(): Order
  134. {
  135. return $this->order;
  136. }
  137. public function setOrder(Order $order): Tracking
  138. {
  139. $this->order = $order;
  140. return $this;
  141. }
  142. public function getCarrierMaster(): CarrierMaster
  143. {
  144. return $this->carrierMaster;
  145. }
  146. public function setCarrierMaster(CarrierMaster $carrierMaster): Tracking
  147. {
  148. $this->carrierMaster = $carrierMaster;
  149. return $this;
  150. }
  151. public function getTrackingStatusId(): ?TrackingStatus
  152. {
  153. return $this->trackingStatusId;
  154. }
  155. public function setTrackingStatusId(TrackingStatus $trackingStatusId): Tracking
  156. {
  157. $this->trackingStatusId = $trackingStatusId;
  158. return $this;
  159. }
  160. public function getDownloaded(): ?bool
  161. {
  162. return $this->downloaded;
  163. }
  164. public function setDownloaded(?bool $downloaded): Tracking
  165. {
  166. $this->downloaded = $downloaded;
  167. return $this;
  168. }
  169. public function getTrackingNumber(): string
  170. {
  171. return $this->trackingNumber;
  172. }
  173. public function setTrackingNumber(string $trackingNumber): Tracking
  174. {
  175. $this->trackingNumber = $trackingNumber;
  176. return $this;
  177. }
  178. public function getTrackingStatus(): string
  179. {
  180. return $this->trackingStatus;
  181. }
  182. public function setTrackingStatus(string $trackingStatus): Tracking
  183. {
  184. $this->trackingStatus = $trackingStatus;
  185. return $this;
  186. }
  187. }