src/Flexy/ShopBundle/Entity/Shipping/Shipment.php line 21

  1. <?php
  2. namespace App\Flexy\ShopBundle\Entity\Shipping;
  3. use ApiPlatform\Core\Annotation\ApiResource;
  4. use App\Entity\LogHistory;
  5. use App\Flexy\ShopBundle\Entity\Customer\Customer;
  6. use App\Flexy\ShopBundle\Entity\Store\Store;
  7. use App\Flexy\ShopBundle\Repository\Shipping\ShipmentRepository;
  8. use Doctrine\Common\Collections\ArrayCollection;
  9. use Doctrine\Common\Collections\Collection;
  10. use App\Flexy\ShopBundle\Entity\Order\Order;
  11. use Doctrine\DBAL\Types\Types;
  12. use Doctrine\ORM\Mapping as ORM;
  13. use Symfony\Component\Validator\Constraints as Assert;
  14. use Gedmo\Mapping\Annotation as Gedmo;
  15. #[ApiResource]
  16. #[ORM\Entity(repositoryClassShipmentRepository::class)]
  17. #[Gedmo\Loggable(logEntryClass:LogHistory::class)]
  18. class Shipment
  19. {
  20.     #[ORM\Id]
  21.     #[ORM\GeneratedValue]
  22.     #[ORM\Column(type'integer')]
  23.     private $id;
  24.     #[ORM\Column(type'datetime_immutable'nullabletrue)]
  25.     private ?\DateTimeImmutable $createdAt null;
  26.     #[ORM\Column(type'string'length255nullabletrue)]
  27.     #[Assert\NotNull]
  28.     #[Assert\NotBlank]
  29.     #[Assert\Regex(pattern'/[a-zA-Z0-9,.]/'message'Address must be alphanumeric')]
  30.     private $collectAddress;
  31.         #[ORM\Column(type'string'length255nullabletrue)]
  32.     private $collectAddressIndication;
  33.     #[ORM\Column(type'string'length255nullabletrue)]
  34.     private $collectLng;
  35.         #[ORM\Column(type'string'length255nullabletrue)]
  36.     private $collectLat;
  37.     #[ORM\Column(type'string'length255nullabletrue)]
  38.     private $collectAddressPhone;
  39.     #[ORM\Column(type'string'length255nullabletrue)]
  40.     #[Assert\NotNull]
  41.     #[Assert\NotBlank]
  42.     #[Assert\Regex(pattern'/[a-zA-Z0-9,.]/'message'Address must be alphanumeric')]
  43.     private $shippingAddress;
  44.     #[ORM\Column(type'string'length255nullabletrue)]
  45.     private $shippingAddressIndication;
  46.         #[ORM\Column(type'string'length255nullabletrue)]
  47.     private $shippingLng;
  48.             #[ORM\Column(type'string'length255nullabletrue)]
  49.     private $shippingLat;
  50.     #[ORM\Column(type'string'length255nullabletrue)]
  51.     private $shippingPhone;
  52.     #[ORM\Column(typeTypes::DATE_MUTABLEnullabletrue)]
  53.     private ?\DateTimeInterface $collectDate null;
  54.     #[ORM\Column(typeTypes::TIME_MUTABLEnullabletrue)]
  55.     private ?\DateTimeInterface $collectTime null;
  56.     #[ORM\Column(typeTypes::DATE_MUTABLEnullabletrue)]
  57.     private ?\DateTimeInterface $shippingDate null;
  58.     #[ORM\Column(typeTypes::TIME_MUTABLEnullabletrue)]
  59.     private ?\DateTimeInterface $shippingTime null;
  60.     #[ORM\Column(type'string'length255nullabletrue)]
  61.     private ?string $state null;
  62.     #[ORM\Column(type'string'length255nullabletrue)]
  63.     private ?string $trackingCode null;
  64.     #[ORM\Column(type'text'nullabletrue)]
  65.     #[Gedmo\Versioned]
  66.     private ?string $description null;
  67.     #[ORM\ManyToOne(targetEntityShippingMethod::class, inversedBy'shippments')]
  68.     private ?\App\Flexy\ShopBundle\Entity\Shipping\ShippingMethod $method null;
  69.     #[ORM\OneToMany(targetEntityShipmentItem::class, mappedBy'shipment'orphanRemovaltrue,cascade:["persist"])]
  70.     #[Assert\Count(
  71.         min1,
  72.         max5,
  73.         minMessage'You must specify at least one shipment item',
  74.         maxMessage'You cannot specify more than {{ limit }} shipment items',
  75.         groups: ['shipment-item-steps-form']
  76.     )]
  77.     
  78.     private \Doctrine\Common\Collections\Collection|array $shipmentItems;
  79.     #[ORM\OneToMany(mappedBy'shipment'targetEntityTrackingStep::class, orphanRemovaltrue)]
  80.     
  81.     private Collection $trackingSteps;
  82.     #[ORM\Column(length255nullabletrue)]
  83.     private ?string $status null;
  84.     #[ORM\ManyToOne]
  85.     private ?City $collectCity null;
  86.     #[ORM\ManyToOne]
  87.     private ?City $shippingCity null;
  88.     #[ORM\Column(length255,unique:true)]
  89.     private ?string $reference null;
  90.     #[ORM\Column(length255)]
  91.     #[Gedmo\Versioned]
  92.     private ?string $paymentType null;
  93.     #[ORM\ManyToOne(inversedBy'sentShipments')]
  94.     #[Gedmo\Versioned]
  95.     private ?Customer $senderCustomer null;
  96.     #[ORM\ManyToOne(inversedBy'receivedShipments')]
  97.     #[Gedmo\Versioned]
  98.     private ?Customer $recipientCustomer null;
  99.     #[ORM\Column(nullabletrue)]
  100.     private ?float $declaredValue null;
  101.     #[ORM\Column(nullabletrue)]
  102.     private ?float $volume null;
  103.     #[ORM\Column(length255nullabletrue)]
  104.     private ?string $shippingLocationType null;
  105.     #[ORM\Column(length255nullabletrue)]
  106.     private ?string $image null;
  107.     #[ORM\OneToMany(mappedBy'shipment'targetEntityCashOnDelivery::class, orphanRemovaltrue,cascade:["persist"])]
  108.     #[Assert\Count(
  109.         min0,
  110.         max3,
  111.         minMessage'You must specify at least one COD',
  112.         maxMessage'You cannot specify more than {{ limit }} COD\'s ',
  113.         groups: ['cod-steps-form']
  114.     )]
  115.     
  116.     private Collection $cashOnDeliveries;
  117.     
  118.     #[ORM\Column(nullabletrue)]
  119.     private ?float $shippingFees null;
  120.     #[ORM\ManyToOne(inversedBy'collectedShipments')]
  121.     private ?Store $collectedByStore null;
  122.     #[ORM\ManyToOne(inversedBy'shippedShipments')]
  123.     private ?Store $shippedByStore null;
  124.     #[ORM\ManyToOne]
  125.     private ?ShippingMethod $shippingMethod null;
  126.     
  127.     #[ORM\OneToMany(mappedBy'shipment'targetEntityShipmentPaper::class,cascade:["persist"])]
  128.     
  129.     private Collection $shipmentPapers;
  130.     
  131.     #[ORM\OneToMany(mappedBy'shipment'targetEntityShipmentCollectMoney::class,cascade:["persist"])]
  132.     #[Assert\Count(
  133.         min1,
  134.         max2,
  135.         minMessage'You must specify at least one Shiment Collect Money',
  136.         maxMessage'You cannot specify more than {{ limit }} Shiment Collect Money',
  137.         groups: ['collect-money-steps-form']
  138.     )]
  139.     private Collection $shipmentCollectMoney;
  140.     #[ORM\Column(nullabletrue)]
  141.     private ?bool $isCODCashCollected null;
  142.     #[ORM\Column(nullabletrue)]
  143.     private ?bool $isShipmentCollectMoneyCollected null;
  144.     #[ORM\Column(nullabletrue)]
  145.     private ?bool $isShipmentReceiptCollected null;
  146.     #[ORM\Column(nullabletrue)]
  147.     private ?bool $isCODCheckOrBillCollected null;
  148.     #[ORM\Column(nullabletrue)]
  149.     private ?bool $isDeliveryReceiptCollected null;
  150.     #[ORM\Column(nullabletrue)]
  151.     private ?bool $isInvoiceCollected null;
  152.     #[ORM\OneToOne(mappedBy'shipment'cascade: ['persist'])]
  153.     private ?Order $relatedOrder null;
  154.     #[ORM\ManyToOne(inversedBy'collectedShipments')]
  155.     private ?CityRegion $collectCityRegion null;
  156.     #[ORM\ManyToOne(inversedBy'shippedShipments')]
  157.     private ?CityRegion $shippingCityRegion null;
  158.     public function __toString()
  159.     {
  160.         return (string)$this->reference;
  161.     }
  162.     public function __construct()
  163.     {
  164.         $this->shipmentItems = new ArrayCollection();
  165.         $this->trackingSteps = new ArrayCollection();
  166.         $this->cashOnDeliveries = new ArrayCollection();
  167.         $this->shipmentPapers = new ArrayCollection();
  168.         $this->shipmentCollectMoney = new ArrayCollection();
  169.        
  170.     }
  171.     public function getId(): ?int
  172.     {
  173.         return $this->id;
  174.     }
  175.     public function getCreatedAt(): ?\DateTimeImmutable
  176.     {
  177.         return $this->createdAt;
  178.     }
  179.     public function setCreatedAt(?\DateTimeImmutable $createdAt): self
  180.     {
  181.         $this->createdAt $createdAt;
  182.         return $this;
  183.     }
  184.     public function getState(): ?string
  185.     {
  186.         return $this->state;
  187.     }
  188.     public function setState(string $state): self
  189.     {
  190.         $this->state $state;
  191.         return $this;
  192.     }
  193.     public function getTrackingCode(): ?string
  194.     {
  195.         return $this->trackingCode;
  196.     }
  197.     public function setTrackingCode(?string $trackingCode): self
  198.     {
  199.         $this->trackingCode $trackingCode;
  200.         return $this;
  201.     }
  202.     public function getDescription(): ?string
  203.     {
  204.         return $this->description;
  205.     }
  206.     public function setDescription(?string $description): self
  207.     {
  208.         $this->description $description;
  209.         return $this;
  210.     }
  211.     public function getMethod(): ?ShippingMethod
  212.     {
  213.         return $this->method;
  214.     }
  215.     public function setMethod(?ShippingMethod $method): self
  216.     {
  217.         $this->method $method;
  218.         return $this;
  219.     }
  220.     /**
  221.      * @return Collection|ShipmentItem[]
  222.      */
  223.     public function getShipmentItems(): Collection
  224.     {
  225.         return $this->shipmentItems;
  226.     }
  227.     public function addShipmentItem(ShipmentItem $shipmentItem): self
  228.     {
  229.         if (!$this->shipmentItems->contains($shipmentItem)) {
  230.             $this->shipmentItems[] = $shipmentItem;
  231.             $shipmentItem->setShipment($this);
  232.         }
  233.         return $this;
  234.     }
  235.     public function removeShipmentItem(ShipmentItem $shipmentItem): self
  236.     {
  237.         if ($this->shipmentItems->removeElement($shipmentItem)) {
  238.             // set the owning side to null (unless already changed)
  239.             if ($shipmentItem->getShipment() === $this) {
  240.                 $shipmentItem->setShipment(null);
  241.             }
  242.         }
  243.         return $this;
  244.     }
  245.     /**
  246.      * @return Collection<int, TrackingStep>
  247.      */
  248.     public function getTrackingSteps(): Collection
  249.     {
  250.         return $this->trackingSteps;
  251.     }
  252.     public function addTrackingStep(TrackingStep $shipmentTrackingStep): self
  253.     {
  254.         if (!$this->trackingSteps->contains($shipmentTrackingStep)) {
  255.             $this->trackingSteps->add($shipmentTrackingStep);
  256.             $shipmentTrackingStep->setShipment($this);
  257.         }
  258.         return $this;
  259.     }
  260.     public function removeTrackingStep(TrackingStep $shipmentTrackingStep): self
  261.     {
  262.         if ($this->trackingSteps->removeElement($shipmentTrackingStep)) {
  263.             // set the owning side to null (unless already changed)
  264.             if ($shipmentTrackingStep->getShipment() === $this) {
  265.                 $shipmentTrackingStep->setShipment(null);
  266.             }
  267.         }
  268.         return $this;
  269.     }
  270.     public function getShipmentItemsChildren(){
  271.         $children = [];
  272.         foreach($this->getShipmentItems() as $singleItem){
  273.             foreach($singleItem->getShipmentItemChildren() as $singleChild){
  274.                 $children[]= $singleChild;
  275.             }
  276.         }
  277.         return $children;
  278.     }
  279.     public function getCurrentStepTrackedChildren(){
  280.         $children = [];
  281.         foreach($this->getShipmentItems() as $singleItem){
  282.             foreach($singleItem->getShipmentItemChildren() as $singleChild){
  283.                 if($singleChild->getTrackingSteps()->contains($this->getTrackingSteps()->last()) ){
  284.                     $children[]= $singleChild;
  285.                 }
  286.                 
  287.             }
  288.         }
  289.         return $children;
  290.     }
  291.     public function getAllTrackedChildren(){
  292.         $children = [];
  293.         foreach($this->getShipmentItems() as $singleItem){
  294.             foreach($singleItem->getShipmentItemChildren() as $singleChild){
  295.                 
  296.                     $children[]= $singleChild;
  297.                 
  298.                 
  299.             }
  300.         }
  301.         return $children;
  302.     }
  303.     public function getDirectionHub(){
  304.        $direction "";
  305.        if(count($this->getTrackingSteps()) > 0){
  306.         $direction $this->getTrackingSteps()->last()->getStepType()->getDirectionHub();
  307.        }
  308.         return $direction;
  309.     }
  310.     public function getCurrentStep(){
  311.         $stepType null;
  312.         if(count($this->getTrackingSteps()) > 0){
  313.          $stepType $this->getTrackingSteps()->last()->getStepType();
  314.         }
  315.          return $stepType;
  316.      }
  317.     public function getStatus(): ?string
  318.     {
  319.         return $this->status;
  320.     }
  321.     public function setStatus(?string $status): self
  322.     {
  323.         $this->status $status;
  324.         return $this;
  325.     }
  326.     public function getCollectCity(): ?City
  327.     {
  328.         return $this->collectCity;
  329.     }
  330.     public function setCollectCity(?City $collectCity): self
  331.     {
  332.         $this->collectCity $collectCity;
  333.         return $this;
  334.     }
  335.     public function getShippingCity(): ?City
  336.     {
  337.         return $this->shippingCity;
  338.     }
  339.     public function setShippingCity(?City $shippingCity): self
  340.     {
  341.         $this->shippingCity $shippingCity;
  342.         return $this;
  343.     }
  344.     public function getReference(): ?string
  345.     {
  346.         return $this->reference;
  347.     }
  348.     public function setReference(string $reference): self
  349.     {
  350.         $this->reference $reference;
  351.         return $this;
  352.     }
  353.     public function getPaymentType(): ?string
  354.     {
  355.         return $this->paymentType;
  356.     }
  357.     public function setPaymentType(string $paymentType): self
  358.     {
  359.         $this->paymentType $paymentType;
  360.         return $this;
  361.     }
  362.     public function getSenderCustomer(): ?Customer
  363.     {
  364.         return $this->senderCustomer;
  365.     }
  366.     public function setSenderCustomer(?Customer $senderCustomer): self
  367.     {
  368.         $this->senderCustomer $senderCustomer;
  369.         return $this;
  370.     }
  371.     public function getRecipientCustomer(): ?Customer
  372.     {
  373.         return $this->recipientCustomer;
  374.     }
  375.     public function setRecipientCustomer(?Customer $recipientCustomer): self
  376.     {
  377.         $this->recipientCustomer $recipientCustomer;
  378.         return $this;
  379.     }
  380.     public function getDeclaredValue(): ?float
  381.     {
  382.         return $this->declaredValue;
  383.     }
  384.     public function setDeclaredValue(?float $declaredValue): self
  385.     {
  386.         $this->declaredValue $declaredValue;
  387.         return $this;
  388.     }
  389.     public function getVolume(): ?float
  390.     {
  391.         return $this->volume;
  392.     }
  393.     public function setVolume(?float $volume): self
  394.     {
  395.         $this->volume $volume;
  396.         return $this;
  397.     }
  398.     public function getShippingLocationType(): ?string
  399.     {
  400.         return $this->shippingLocationType;
  401.     }
  402.     public function setShippingLocationType(?string $shippingLocationType): self
  403.     {
  404.         $this->shippingLocationType $shippingLocationType;
  405.         return $this;
  406.     }
  407.     public function getImage(): ?string
  408.     {
  409.         return $this->image;
  410.     }
  411.     public function setImage(?string $image): self
  412.     {
  413.         $this->image $image;
  414.         return $this;
  415.     }
  416.     /**
  417.      * @return Collection<int, CashOnDelivery>
  418.      */
  419.     public function getCashOnDeliveries(): Collection
  420.     {
  421.         return $this->cashOnDeliveries;
  422.     }
  423.     public function addCashOnDelivery(CashOnDelivery $cashOnDelivery): self
  424.     {
  425.         if (!$this->cashOnDeliveries->contains($cashOnDelivery)) {
  426.             $this->cashOnDeliveries->add($cashOnDelivery);
  427.             $cashOnDelivery->setShipment($this);
  428.         }
  429.         return $this;
  430.     }
  431.     public function removeCashOnDelivery(CashOnDelivery $cashOnDelivery): self
  432.     {
  433.         if ($this->cashOnDeliveries->removeElement($cashOnDelivery)) {
  434.             // set the owning side to null (unless already changed)
  435.             if ($cashOnDelivery->getShipment() === $this) {
  436.                 $cashOnDelivery->setShipment(null);
  437.             }
  438.         }
  439.         return $this;
  440.     }
  441.     public function getShippingFees(): ?float
  442.     {
  443.         return $this->shippingFees;
  444.     }
  445.     public function setShippingFees(?float $shippingFees): self
  446.     {
  447.         $this->shippingFees $shippingFees;
  448.         return $this;
  449.     }
  450.     public function getCollectedByStore(): ?Store
  451.     {
  452.         return $this->collectedByStore;
  453.     }
  454.     public function setCollectedByStore(?Store $collectedByStore): self
  455.     {
  456.         $this->collectedByStore $collectedByStore;
  457.         return $this;
  458.     }
  459.     public function getShippedByStore(): ?Store
  460.     {
  461.         return $this->shippedByStore;
  462.     }
  463.     public function setShippedByStore(?Store $shippedByStore): self
  464.     {
  465.         $this->shippedByStore $shippedByStore;
  466.         return $this;
  467.     }
  468.     public function getShippingMethod(): ?ShippingMethod
  469.     {
  470.         return $this->shippingMethod;
  471.     }
  472.     public function setShippingMethod(?ShippingMethod $shippingMethod): self
  473.     {
  474.         $this->shippingMethod $shippingMethod;
  475.         return $this;
  476.     }
  477.     /**
  478.      * @return Collection<int, ShipmentPaper>
  479.      */
  480.     public function getShipmentPapers(): Collection
  481.     {
  482.         return $this->shipmentPapers;
  483.     }
  484.     public function addShipmentPaper(ShipmentPaper $shipmentPaper): self
  485.     {
  486.         if (!$this->shipmentPapers->contains($shipmentPaper)) {
  487.             $this->shipmentPapers->add($shipmentPaper);
  488.             $shipmentPaper->setShipment($this);
  489.         }
  490.         return $this;
  491.     }
  492.     public function removeShipmentPaper(ShipmentPaper $shipmentPaper): self
  493.     {
  494.         if ($this->shipmentPapers->removeElement($shipmentPaper)) {
  495.             // set the owning side to null (unless already changed)
  496.             if ($shipmentPaper->getShipment() === $this) {
  497.                 $shipmentPaper->setShipment(null);
  498.             }
  499.         }
  500.         return $this;
  501.     }
  502.     /**
  503.      * @return Collection<int, ShipmentCollectMoney>
  504.      */
  505.     public function getShipmentCollectMoney(): Collection
  506.     {
  507.         return $this->shipmentCollectMoney;
  508.     }
  509.     public function addShipmentCollectMoney(ShipmentCollectMoney $shipmentCollectMoney): self
  510.     {
  511.         if (!$this->shipmentCollectMoney->contains($shipmentCollectMoney)) {
  512.             $this->shipmentCollectMoney->add($shipmentCollectMoney);
  513.             $shipmentCollectMoney->setShipment($this);
  514.         }
  515.         return $this;
  516.     }
  517.     public function removeShipmentCollectMoney(ShipmentCollectMoney $shipmentCollectMoney): self
  518.     {
  519.         if ($this->shipmentCollectMoney->removeElement($shipmentCollectMoney)) {
  520.             // set the owning side to null (unless already changed)
  521.             if ($shipmentCollectMoney->getShipment() === $this) {
  522.                 $shipmentCollectMoney->setShipment(null);
  523.             }
  524.         }
  525.         return $this;
  526.     }
  527.     public function isIsCODCashCollected(): ?bool
  528.     {
  529.         return $this->isCODCashCollected;
  530.     }
  531.     public function setIsCODCashCollected(?bool $isCODCashCollected): self
  532.     {
  533.         $this->isCODCashCollected $isCODCashCollected;
  534.         return $this;
  535.     }
  536.     public function isIsShipmentCollectMoneyCollected(): ?bool
  537.     {
  538.         return $this->isShipmentCollectMoneyCollected;
  539.     }
  540.     public function setIsShipmentCollectMoneyCollected(?bool $isShipmentCollectMoneyCollected): self
  541.     {
  542.         $this->isShipmentCollectMoneyCollected $isShipmentCollectMoneyCollected;
  543.         return $this;
  544.     }
  545.     public function isIsShipmentReceiptCollected(): ?bool
  546.     {
  547.         return $this->isShipmentReceiptCollected;
  548.     }
  549.     public function setIsShipmentReceiptCollected(?bool $isShipmentReceiptCollected): self
  550.     {
  551.         $this->isShipmentReceiptCollected $isShipmentReceiptCollected;
  552.         return $this;
  553.     }
  554.     public function isIsCODCheckOrBillCollected(): ?bool
  555.     {
  556.         return $this->isCODCheckOrBillCollected;
  557.     }
  558.     public function setIsCODCheckOrBillCollected(?bool $isCODCheckOrBillCollected): self
  559.     {
  560.         $this->isCODCheckOrBillCollected $isCODCheckOrBillCollected;
  561.         return $this;
  562.     }
  563.     public function isIsDeliveryReceiptCollected(): ?bool
  564.     {
  565.         return $this->isDeliveryReceiptCollected;
  566.     }
  567.     public function setIsDeliveryReceiptCollected(?bool $isDeliveryReceiptCollected): self
  568.     {
  569.         $this->isDeliveryReceiptCollected $isDeliveryReceiptCollected;
  570.         return $this;
  571.     }
  572.     public function isIsInvoiceCollected(): ?bool
  573.     {
  574.         return $this->isInvoiceCollected;
  575.     }
  576.     public function setIsInvoiceCollected(?bool $isInvoiceCollected): self
  577.     {
  578.         $this->isInvoiceCollected $isInvoiceCollected;
  579.         return $this;
  580.     }
  581.     public function getRelatedOrder(): ?Order
  582.     {
  583.         return $this->relatedOrder;
  584.     }
  585.     public function setRelatedOrder(?Order $relatedOrder): self
  586.     {
  587.         // unset the owning side of the relation if necessary
  588.         if ($relatedOrder === null && $this->relatedOrder !== null) {
  589.             $this->relatedOrder->setShipment(null);
  590.         }
  591.         // set the owning side of the relation if necessary
  592.         if ($relatedOrder !== null && $relatedOrder->getShipment() !== $this) {
  593.             $relatedOrder->setShipment($this);
  594.         }
  595.         $this->relatedOrder $relatedOrder;
  596.         return $this;
  597.     }
  598.     public function getCollectCityRegion(): ?CityRegion
  599.     {
  600.         return $this->collectCityRegion;
  601.     }
  602.     public function setCollectCityRegion(?CityRegion $collectCityRegion): self
  603.     {
  604.         $this->collectCityRegion $collectCityRegion;
  605.         return $this;
  606.     }
  607.     public function getShippingCityRegion(): ?CityRegion
  608.     {
  609.         return $this->shippingCityRegion;
  610.     }
  611.     public function setShippingCityRegion(?CityRegion $shippingCityRegion): self
  612.     {
  613.         $this->shippingCityRegion $shippingCityRegion;
  614.         return $this;
  615.     }
  616.     public function getCollectAddress(): ?string
  617.     {
  618.         return $this->collectAddress;
  619.     }
  620.     public function setCollectAddress(?string $collectAddress): self
  621.     {
  622.         $this->collectAddress $collectAddress;
  623.         return $this;
  624.     }
  625.     public function getCollectAddressIndication(): ?string
  626.     {
  627.         return $this->collectAddressIndication;
  628.     }
  629.     public function setCollectAddressIndication(?string $collectAddressIndication): self
  630.     {
  631.         $this->collectAddressIndication $collectAddressIndication;
  632.         return $this;
  633.     }
  634.     public function getCollectLng(): ?string
  635.     {
  636.         return $this->collectLng;
  637.     }
  638.     public function setCollectLng(?string $collectLng): self
  639.     {
  640.         $this->collectLng $collectLng;
  641.         return $this;
  642.     }
  643.     public function getCollectLat(): ?string
  644.     {
  645.         return $this->collectLat;
  646.     }
  647.     public function setCollectLat(?string $collectLat): self
  648.     {
  649.         $this->collectLat $collectLat;
  650.         return $this;
  651.     }
  652.     public function getCollectAddressPhone(): ?string
  653.     {
  654.         return $this->collectAddressPhone;
  655.     }
  656.     public function setCollectAddressPhone(?string $collectAddressPhone): self
  657.     {
  658.         $this->collectAddressPhone $collectAddressPhone;
  659.         return $this;
  660.     }
  661.     public function getShippingAddress(): ?string
  662.     {
  663.         return $this->shippingAddress;
  664.     }
  665.     public function setShippingAddress(?string $shippingAddress): self
  666.     {
  667.         $this->shippingAddress $shippingAddress;
  668.         return $this;
  669.     }
  670.     public function getShippingAddressIndication(): ?string
  671.     {
  672.         return $this->shippingAddressIndication;
  673.     }
  674.     public function setShippingAddressIndication(?string $shippingAddressIndication): self
  675.     {
  676.         $this->shippingAddressIndication $shippingAddressIndication;
  677.         return $this;
  678.     }
  679.     public function getShippingLng(): ?string
  680.     {
  681.         return $this->shippingLng;
  682.     }
  683.     public function setShippingLng(?string $shippingLng): self
  684.     {
  685.         $this->shippingLng $shippingLng;
  686.         return $this;
  687.     }
  688.     public function getShippingLat(): ?string
  689.     {
  690.         return $this->shippingLat;
  691.     }
  692.     public function setShippingLat(?string $shippingLat): self
  693.     {
  694.         $this->shippingLat $shippingLat;
  695.         return $this;
  696.     }
  697.     public function getShippingPhone(): ?string
  698.     {
  699.         return $this->shippingPhone;
  700.     }
  701.     public function setShippingPhone(?string $shippingPhone): self
  702.     {
  703.         $this->shippingPhone $shippingPhone;
  704.         return $this;
  705.     }
  706.     
  707.     /**
  708.      * Get the value of shippingTime
  709.      */ 
  710.     public function getShippingTime()
  711.     {
  712.         return $this->shippingTime;
  713.     }
  714.     /**
  715.      * Set the value of shippingTime
  716.      *
  717.      * @return  self
  718.      */ 
  719.     public function setShippingTime($shippingTime)
  720.     {
  721.         $this->shippingTime $shippingTime;
  722.         return $this;
  723.     }
  724.     /**
  725.      * Get the value of shippingDate
  726.      */ 
  727.     public function getShippingDate()
  728.     {
  729.         return $this->shippingDate;
  730.     }
  731.     /**
  732.      * Set the value of shippingDate
  733.      *
  734.      * @return  self
  735.      */ 
  736.     public function setShippingDate($shippingDate)
  737.     {
  738.         $this->shippingDate $shippingDate;
  739.         return $this;
  740.     }
  741.     /**
  742.      * Get the value of collectTime
  743.      */ 
  744.     public function getCollectTime()
  745.     {
  746.         return $this->collectTime;
  747.     }
  748.     /**
  749.      * Set the value of collectTime
  750.      *
  751.      * @return  self
  752.      */ 
  753.     public function setCollectTime($collectTime)
  754.     {
  755.         $this->collectTime $collectTime;
  756.         return $this;
  757.     }
  758.     /**
  759.      * Get the value of collectDate
  760.      */ 
  761.     public function getCollectDate()
  762.     {
  763.         return $this->collectDate;
  764.     }
  765.     /**
  766.      * Set the value of collectDate
  767.      *
  768.      * @return  self
  769.      */ 
  770.     public function setCollectDate($collectDate)
  771.     {
  772.         $this->collectDate $collectDate;
  773.         return $this;
  774.     }
  775. }