<?php
namespace App\Entity;
use App\Repository\SaleOrderShipmentRepository;
use App\Traits\DateTrait;
use Doctrine\ORM\Mapping as ORM;
use JMS\Serializer\Annotation as Serializer;
use JMS\Serializer\Annotation\Expose;
use JMS\Serializer\Annotation\Groups;
/**
* @ORM\Entity(repositoryClass=SaleOrderShipmentRepository::class)
*
* @Serializer\ExclusionPolicy("ALL")
*/
class SaleOrderShipment
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*
* @Expose
* @Groups({
* "sale_order",
* "sale_order:updated",
* "get:read"
* })
*/
private $id;
/**
* @TODO anciennement '$order' mais c'est un mot réservé, on peut pas l'utiliser
* @ORM\ManyToOne(targetEntity=SaleOrder::class, inversedBy="shipments")
* @ORM\JoinColumn(nullable=false)
*/
private $saleOrder;
/**
* @ORM\Column(type="string", length=64, nullable=true)
*
* @Expose
* @Groups({
* "sale_order",
* "sale_order:updated",
* "get:read",
* "export_order_datatable"
* })
*/
private $trackingCode;
/**
* @ORM\Column(type="text")
*
* @Expose
* @Groups({
* "sale_order",
* "sale_order:updated"
* })
*/
private $trackingUrl;
/**
* @ORM\Column(type="decimal", precision=10, scale=3, nullable=true)
*
* @Expose
* @Groups({
* "sale_order",
* "sale_order:updated",
* "get:read",
* "export_order_datatable"
* })
*/
private $weight;
/**
* @ORM\Column(type="string", length=64, nullable=true)
*
* @Expose
* @Groups({
* "sale_order",
* "sale_order:updated",
* "export_order_datatable"
* })
*/
private $carrier;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $boId;
use DateTrait;
public function getId(): ?int
{
return $this->id;
}
public function getTrackingCode(): ?string
{
return $this->trackingCode;
}
public function setTrackingCode( ?string $trackingCode ): self
{
$this->trackingCode = $trackingCode;
return $this;
}
public function getTrackingUrl(): ?string
{
return $this->trackingUrl;
}
public function setTrackingUrl( string $trackingUrl ): self
{
$this->trackingUrl = $trackingUrl;
return $this;
}
public function getWeight(): ?string
{
return $this->weight;
}
public function setWeight( ?string $weight ): self
{
$this->weight = $weight;
return $this;
}
public function getCarrier(): ?string
{
return $this->carrier;
}
public function setCarrier( ?string $carrier ): self
{
$this->carrier = $carrier;
return $this;
}
public function getSaleOrder(): ?SaleOrder
{
return $this->saleOrder;
}
public function setSaleOrder( ?SaleOrder $saleOrder ): self
{
$this->saleOrder = $saleOrder;
return $this;
}
public function getBoId(): ?int
{
return $this->boId;
}
public function setBoId( ?int $boId ): self
{
$this->boId = $boId;
return $this;
}
}