src/Entity/PreOrder.php line 42

  1. <?php
  2. namespace App\Entity;
  3. use ApiPlatform\Metadata\ApiResource;
  4. use App\Repository\PreOrderRepository;
  5. use Doctrine\Common\Collections\ArrayCollection;
  6. use Doctrine\Common\Collections\Collection;
  7. use Doctrine\DBAL\Types\Types;
  8. use Doctrine\ORM\Mapping as ORM;
  9. use Symfony\Component\Serializer\Annotation\Groups;
  10. use Symfony\Component\Serializer\Annotation\MaxDepth;
  11. use ApiPlatform\Metadata\ApiFilter;
  12. use ApiPlatform\Doctrine\Orm\Filter\SearchFilter;
  13. use ApiPlatform\Serializer\Filter\GroupFilter;
  14. use Symfony\Bridge\Doctrine\Types\UlidType;
  15. use Symfony\Component\Uid\Ulid;
  16. use Symfony\Bridge\Doctrine\IdGenerator\UlidGenerator;
  17. #[ORM\Entity(repositoryClassPreOrderRepository::class)]
  18. #[ApiResource(
  19.     normalizationContext: ['groups' => ['pre_order:read']],
  20.     denormalizationContext: ['groups' => ['pre_order:write']],
  21.     order: ['id' => 'DESC'],
  22. )]
  23. #[ORM\HasLifecycleCallbacks
  24. #[ApiFilter(
  25.     SearchFilter::class, 
  26.     properties: [
  27.         'code1c' => 'exact'
  28.         'account.name' => 'ipartial'
  29.         'account.manager' => 'exact'
  30.         'manager.username' => 'ipartial'
  31.         'manager.firstName' => 'ipartial'
  32.         'manager.lastName' => 'ipartial'
  33.         'synced' => 'exact',  
  34.         'client.id' => 'exact',
  35.         'ulid' => 'exact',
  36.     ]
  37. )]
  38. #[ApiFilter(GroupFilter::class, arguments: ['parameterName' => 'g''overrideDefaultGroups' => true])]
  39. class PreOrder
  40. {
  41.     #[ORM\Id]
  42.     #[ORM\GeneratedValue]
  43.     #[ORM\Column]
  44.     #[Groups(['pre_order_product:read''pre_order:read''pre_order:write''order:read''order_product:read''load_invoice:read'])]
  45.     private ?int $id null;
  46.     #[Groups(['pre_order:read''pre_order:write','order:read''order_product:read''load_invoice:read'])]
  47.     #[ORM\Column(length255nullabletrue)]
  48.     private ?string $name null;
  49.     #[Groups(['pre_order:read''pre_order:write''order:read''order_product:read''load_invoice:read'])]
  50.     #[ORM\Column(typeTypes::DATETIME_MUTABLEnullabletrue)]
  51.     private ?\DateTimeInterface $dateEntered null;
  52.     #[Groups(['pre_order:read''pre_order:write'])]
  53.     #[ORM\Column(typeTypes::DATETIME_MUTABLEnullabletrue)]
  54.     private ?\DateTimeInterface $dateModified null;
  55.     #[Groups(['pre_order:read''pre_order:write'])]
  56.     #[ORM\ManyToOne]
  57.     #[MaxDepth(1)]
  58.     private ?User $createdBy null;
  59.     // #[Groups(['pre_order:read', 'pre_order:write', 'order:read', 'order_product:read', 'load_invoice:read'])]
  60.     #[ORM\ManyToOne]
  61.     #[MaxDepth(1)]
  62.     private ?User $modifiedUser null;
  63.     #[Groups(['pre_order:read''pre_order:write''order:read''order_product:read''load_invoice:read'])]
  64.     #[ORM\Column(typeTypes::DATE_MUTABLEnullabletrue)]
  65.     private ?\DateTimeInterface $dateOrder null;
  66.     #[Groups(['pre_order:read''pre_order:write'])]
  67.     #[ORM\Column(length100nullabletrue)]
  68.     private ?string $status null;
  69.     #[Groups(['pre_order:read''pre_order:write'])]
  70.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  71.     private ?string $description null;
  72.     #[Groups(['pre_order:read''pre_order:write'])]
  73.     #[ORM\Column(length20nullabletrue)]
  74.     private ?string $paymentMethod null;
  75.     #[Groups(['pre_order:read''pre_order:write''order:read''order_product:read''load_invoice:read'])]
  76.     #[ORM\Column(nullabletrue)]
  77.     private ?float $sumOrdered null;
  78.     #[Groups(['pre_order:read''pre_order:write'])]
  79.     #[ORM\Column(length10nullabletrue)]
  80.     private ?string $curency null;
  81.     #[Groups(['pre_order:read''pre_order:write'])]
  82.     #[ORM\Column(nullabletrue)]
  83.     private ?float $curencyRate null;
  84.     #[Groups(['pre_order:read''pre_order:write'])]
  85.     #[ORM\Column(nullabletrue)]
  86.     private ?float $discountTotal null;
  87.     #[Groups(['pre_order:read''pre_order:write'])]
  88.     #[ORM\Column(nullabletrue)]
  89.     private ?int $discountPercent null;
  90.     #[Groups(['pre_order:read''pre_order:write'])]
  91.     #[ORM\Column(length100nullabletrue)]
  92.     private ?string $shippingAddressStreet null;
  93.     #[Groups(['pre_order:read''pre_order:write'])]
  94.     #[ORM\Column(length100nullabletrue)]
  95.     private ?string $shippingAddressCity null;
  96.     #[Groups(['pre_order:read''pre_order:write'])]
  97.     #[ORM\Column(length100nullabletrue)]
  98.     private ?string $shippingAddressBuilding null;
  99.     #[ORM\Column(length100nullabletrue)]
  100.     private ?string $shippingAddressPost null;
  101.     #[Groups(['pre_order:read''pre_order:write'])]
  102.     #[ORM\Column(length100nullabletrue)]
  103.     private ?string $shippingAddressCountry null;
  104.     #[Groups(['pre_order:read''pre_order:write'])]
  105.     #[ORM\Column(length100nullabletrue)]
  106.     private ?string $shippingAddressDate null;
  107.     #[Groups(['pre_order:read''pre_order:write'])]
  108.     #[ORM\Column(nullabletrue)]
  109.     private ?int $copyOrderId null;
  110.     #[MaxDepth(3)]
  111.     #[Groups(['pre_order:read''pre_order:write'])]
  112.     #[ORM\OneToMany(mappedBy'preOrder'targetEntityPreOrderProduct::class, cascade:['persist'])]
  113.     private Collection $preOrderProducts;
  114.     #[MaxDepth(1)]
  115.     #[Groups(['pre_order:read''pre_order:write'])]
  116.     #[ORM\OneToMany(mappedBy'preOrder'targetEntityOrders::class)]
  117.     private Collection $orders;
  118.     #[MaxDepth(1)]
  119.     #[Groups(['pre_order:read''pre_order:write'])]
  120.     #[ORM\OneToMany(mappedBy'pre_order'targetEntityLoadInvoice::class)]
  121.     private Collection $loadInvoices;
  122.     #[MaxDepth(1)]
  123.     #[Groups(['pre_order:write',   'load_invoice:read'])]
  124.     #[ORM\OneToMany(mappedBy'pre_order'targetEntityAccepted::class)]
  125.     private Collection $accepteds;
  126.     #[MaxDepth(1)]
  127.     #[Groups(['pre_order:write'])]
  128.     #[ORM\OneToMany(mappedBy'pre_order_product'targetEntityLoadInvoiceProduct::class)]
  129.     private Collection $loadInvoiceProducts;
  130.     #[Groups(['pre_order:read''pre_order:write'])]
  131.     #[ORM\ManyToOne(inversedBy'preOrders')]
  132.     #[MaxDepth(1)]
  133.     private ?Accounts $account null;
  134.     #[Groups(['pre_order:read''pre_order:write'])]
  135.     #[ORM\Column(nullabletrue)]
  136.     private ?bool $synced false;
  137.     #[Groups(['pre_order:client''pre_order:write'])]
  138.     #[ORM\ManyToOne(inversedBy'preOrders')]
  139.     private ?User $client null
  140.     #[Groups(['pre_order:read''pre_order:write'])]
  141.     #[ORM\ManyToOne(inversedBy'ManagerPreOrders')]
  142.     private ?User $manager null;
  143.     #[Groups(['pre_order:read''pre_order:write'])]
  144.     #[ORM\Column(typeTypes::DATE_MUTABLEnullabletrue)]
  145.     private ?\DateTimeInterface $dateDelivery null;
  146.     #[Groups(['pre_order:read''pre_order:write'])]
  147.     #[ORM\Column(length255nullabletrue)]
  148.     private ?string $deliveryMethod null;
  149.     #[Groups(['pre_order:read''pre_order:write'])]
  150.     #[ORM\Column(length100nullabletrue)]
  151.     private ?string $postOffice null;
  152.     #[Groups(['pre_order:read''pre_order:write'])]
  153.     #[ORM\Column(length255nullabletrue)]
  154.     private ?string $storeAddress null;
  155.     #[Groups(['pre_order:read''pre_order:write'])]
  156.     #[ORM\Column(length255nullabletrue)]
  157.     private ?string $commentBuilding null;
  158.     #[Groups(['pre_order:read''pre_order:write'])]
  159.     #[ORM\Column(nullabletrue)]
  160.     private ?bool $notCall null;
  161.     #
  162.     #[Groups(['pre_order_product:read''pre_order:read''pre_order:write''order:read''order_product:read''load_invoice:read'])]
  163.     #[ORM\ManyToMany(targetEntityFees::class, mappedBy'pre_orders')]
  164.     private Collection $fees;
  165.     #[Groups(['pre_order:read''pre_order:write'])]
  166.     #[ORM\ManyToOne(inversedBy'pre_orders')]
  167.     private ?Coupons $coupons null;
  168.     #[Groups(['pre_order:read''pre_order:write'])]
  169.     #[ORM\ManyToOne(inversedBy'preOrders')]
  170.     private ?AccountAddress $address null;
  171.     #[Groups(['pre_order:read''pre_order:write'])]
  172.     #[ORM\Column(length100nullabletrue)]
  173.     private ?string $shippingMethod null;
  174.     #[Groups(['pre_order:read''pre_order:write'])]
  175.     #[ORM\Column(nullabletrue)]
  176.     private ?bool $dontCallMe null;
  177.     #[ORM\Column(typeTypes::GUIDnullabletrue)]
  178.     private ?string $guid null;
  179.     #[ORM\Column(type'ulid'nullabletrue)]
  180.     private ?Ulid $ulid null;
  181.     #[Groups(['pre_order_product:read''pre_order:read''pre_order:write''order:read''order_product:read''load_invoice:read'])]
  182.     #[ORM\Column(length100nullabletrue)]
  183.     private ?string $paymentStatus null;
  184.     #[Groups(['pre_order:read''pre_order:write'])]
  185.     #[ORM\Column(nullabletrue)]
  186.     private ?array $shippingReceiver null;
  187.     #[Groups(['pre_order:read''pre_order:write'])]
  188.     #[ORM\Column(nullabletrue)]
  189.     private ?array $paymentData null;
  190.     #[Groups(['pre_order:read''pre_order:write''order:read''order_product:read''load_invoice:read'])]
  191.     #[ORM\Column(length255nullabletrue)]
  192.     private ?string $ttn null;
  193.     #[Groups(['pre_order:read''pre_order:write''order:read''order_product:read''load_invoice:read'])]
  194.     #[ORM\Column(nullabletrue)]
  195.     private ?int $partsCount null;
  196.     public function __construct()
  197.     {
  198.         $this->preOrderProducts = new ArrayCollection();
  199.         $this->orders = new ArrayCollection();
  200.         $this->loadInvoices = new ArrayCollection();
  201.         $this->accepteds = new ArrayCollection();
  202.         $this->loadInvoiceProducts = new ArrayCollection();
  203.         $this->fees = new ArrayCollection();
  204.     }
  205.     public function getId(): ?int
  206.     {
  207.         return $this->id;
  208.     }
  209.     public function getName(): ?string
  210.     {
  211.         return $this->name;
  212.     }
  213.     public function setName(?string $name): self
  214.     {
  215.         $this->name $name;
  216.         return $this;
  217.     }
  218.     public function getDateEntered(): ?\DateTimeInterface
  219.     {
  220.         return $this->dateEntered;
  221.     }
  222.     public function setDateEntered(?\DateTimeInterface $dateEntered): self
  223.     {
  224.         $this->dateEntered $dateEntered;
  225.         return $this;
  226.     }
  227.     public function getDateModified(): ?\DateTimeInterface
  228.     {
  229.         return $this->dateModified;
  230.     }
  231.     public function setDateModified(?\DateTimeInterface $dateModified): self
  232.     {
  233.         $this->dateModified $dateModified;
  234.         return $this;
  235.     }
  236.     public function getCreatedBy(): ?User
  237.     {
  238.         return $this->createdBy;
  239.     }
  240.     public function setCreatedBy(?User $createdBy): self
  241.     {
  242.         $this->createdBy $createdBy;
  243.         return $this;
  244.     }
  245.     public function getModifiedUser(): ?User
  246.     {
  247.         return $this->modifiedUser;
  248.     }
  249.     public function setModifiedUser(?User $modifiedUser): self
  250.     {
  251.         $this->modifiedUser $modifiedUser;
  252.         return $this;
  253.     }
  254.     public function getDateOrder(): ?\DateTimeInterface
  255.     {
  256.         return $this->dateOrder;
  257.     }
  258.     public function setDateOrder(?\DateTimeInterface $dateOrder): self
  259.     {
  260.         $this->dateOrder $dateOrder;
  261.         return $this;
  262.     }
  263.     public function getStatus(): ?string
  264.     {
  265.         return $this->status;
  266.     }
  267.     public function setStatus(?string $status): self
  268.     {
  269.         $this->status $status;
  270.         return $this;
  271.     }
  272.     public function getDescription(): ?string
  273.     {
  274.         return $this->description;
  275.     }
  276.     public function setDescription(?string $description): self
  277.     {
  278.         $this->description $description;
  279.         return $this;
  280.     }
  281.     public function getPaymentMethod(): ?string
  282.     {
  283.         return $this->paymentMethod;
  284.     }
  285.     public function setPaymentMethod(?string $paymentMethod): self
  286.     {
  287.         $this->paymentMethod $paymentMethod;
  288.         return $this;
  289.     }
  290.     public function getSumOrdered(): ?float
  291.     {
  292.         return $this->sumOrdered;
  293.     }
  294.     public function setSumOrdered(?float $sumOrdered): self
  295.     {
  296.         $this->sumOrdered $sumOrdered;
  297.         return $this;
  298.     }
  299.     public function getCurency(): ?string
  300.     {
  301.         return $this->curency;
  302.     }
  303.     public function setCurency(?string $curency): self
  304.     {
  305.         $this->curency $curency;
  306.         return $this;
  307.     }
  308.     public function getCurencyRate(): ?float
  309.     {
  310.         return $this->curencyRate;
  311.     }
  312.     public function setCurencyRate(?float $curencyRate): self
  313.     {
  314.         $this->curencyRate $curencyRate;
  315.         return $this;
  316.     }
  317.     public function getDiscountTotal(): ?float
  318.     {
  319.         return $this->discountTotal;
  320.     }
  321.     public function setDiscountTotal(?float $discountTotal): self
  322.     {
  323.         $this->discountTotal $discountTotal;
  324.         return $this;
  325.     }
  326.     public function getDiscountPercent(): ?int
  327.     {
  328.         return $this->discountPercent;
  329.     }
  330.     public function setDiscountPercent(?int $discountPercent): self
  331.     {
  332.         $this->discountPercent $discountPercent;
  333.         return $this;
  334.     }
  335.     public function getShippingAddressStreet(): ?string
  336.     {
  337.         return $this->shippingAddressStreet;
  338.     }
  339.     public function setShippingAddressStreet(?string $shippingAddressStreet): self
  340.     {
  341.         $this->shippingAddressStreet $shippingAddressStreet;
  342.         return $this;
  343.     }
  344.     public function getShippingAddressCity(): ?string
  345.     {
  346.         return $this->shippingAddressCity;
  347.     }
  348.     public function setShippingAddressCity(?string $shippingAddressCity): self
  349.     {
  350.         $this->shippingAddressCity $shippingAddressCity;
  351.         return $this;
  352.     }
  353.     public function getShippingAddressBuilding(): ?string
  354.     {
  355.         return $this->shippingAddressBuilding;
  356.     }
  357.     public function setShippingAddressBuilding(?string $shippingAddressBuilding): self
  358.     {
  359.         $this->shippingAddressBuilding $shippingAddressBuilding;
  360.         return $this;
  361.     }
  362.     public function getShippingAddressPost(): ?string
  363.     {
  364.         return $this->shippingAddressPost;
  365.     }
  366.     public function setShippingAddressPost(?string $shippingAddressPost): self
  367.     {
  368.         $this->shippingAddressPost $shippingAddressPost;
  369.         return $this;
  370.     }
  371.     public function getShippingAddressCountry(): ?string
  372.     {
  373.         return $this->shippingAddressCountry;
  374.     }
  375.     public function setShippingAddressCountry(?string $shippingAddressCountry): self
  376.     {
  377.         $this->shippingAddressCountry $shippingAddressCountry;
  378.         return $this;
  379.     }
  380.     public function getShippingAddressDate(): ?string
  381.     {
  382.         return $this->shippingAddressDate;
  383.     }
  384.     public function setShippingAddressDate(?string $shippingAddressDate): self
  385.     {
  386.         $this->shippingAddressDate $shippingAddressDate;
  387.         return $this;
  388.     }
  389.     public function getCopyOrderId(): ?int
  390.     {
  391.         return $this->copyOrderId;
  392.     }
  393.     public function setCopyOrderId(?int $copyOrderId): self
  394.     {
  395.         $this->copyOrderId $copyOrderId;
  396.         return $this;
  397.     }
  398.     /**
  399.      * @return Collection<int, PreOrderProduct>
  400.      */
  401.     public function getPreOrderProducts(): Collection
  402.     {
  403.         return $this->preOrderProducts;
  404.     }
  405.     public function addPreOrderProduct(PreOrderProduct $preOrderProduct): self
  406.     {
  407.         if (!$this->preOrderProducts->contains($preOrderProduct)) {
  408.             $this->preOrderProducts->add($preOrderProduct);
  409.             $preOrderProduct->setPreOrder($this);
  410.         }
  411.         return $this;
  412.     }
  413.     public function removePreOrderProduct(PreOrderProduct $preOrderProduct): self
  414.     {
  415.         if ($this->preOrderProducts->removeElement($preOrderProduct)) {
  416.             // set the owning side to null (unless already changed)
  417.             if ($preOrderProduct->getPreOrder() === $this) {
  418.                 $preOrderProduct->setPreOrder(null);
  419.             }
  420.         }
  421.         return $this;
  422.     }
  423.     /**
  424.      * @return Collection<int, Orders>
  425.      */
  426.     public function getOrders(): Collection
  427.     {
  428.         return $this->orders;
  429.     }
  430.     public function addOrder(Orders $order): self
  431.     {
  432.         if (!$this->orders->contains($order)) {
  433.             $this->orders->add($order);
  434.             $order->setPreOrder($this);
  435.         }
  436.         return $this;
  437.     }
  438.     public function removeOrder(Orders $order): self
  439.     {
  440.         if ($this->orders->removeElement($order)) {
  441.             // set the owning side to null (unless already changed)
  442.             if ($order->getPreOrder() === $this) {
  443.                 $order->setPreOrder(null);
  444.             }
  445.         }
  446.         return $this;
  447.     }
  448.     /**
  449.      * @return Collection<int, LoadInvoice>
  450.      */
  451.     public function getLoadInvoices(): Collection
  452.     {
  453.         return $this->loadInvoices;
  454.     }
  455.     public function addLoadInvoice(LoadInvoice $loadInvoice): self
  456.     {
  457.         if (!$this->loadInvoices->contains($loadInvoice)) {
  458.             $this->loadInvoices->add($loadInvoice);
  459.             $loadInvoice->setPreOrder($this);
  460.         }
  461.         return $this;
  462.     }
  463.     public function removeLoadInvoice(LoadInvoice $loadInvoice): self
  464.     {
  465.         if ($this->loadInvoices->removeElement($loadInvoice)) {
  466.             // set the owning side to null (unless already changed)
  467.             if ($loadInvoice->getPreOrder() === $this) {
  468.                 $loadInvoice->setPreOrder(null);
  469.             }
  470.         }
  471.         return $this;
  472.     }
  473.     /**
  474.      * @return Collection<int, Accepted>
  475.      */
  476.     public function getAccepteds(): Collection
  477.     {
  478.         return $this->accepteds;
  479.     }
  480.     public function addAccepted(Accepted $accepted): self
  481.     {
  482.         if (!$this->accepteds->contains($accepted)) {
  483.             $this->accepteds->add($accepted);
  484.             $accepted->setPreOrder($this);
  485.         }
  486.         return $this;
  487.     }
  488.     public function removeAccepted(Accepted $accepted): self
  489.     {
  490.         if ($this->accepteds->removeElement($accepted)) {
  491.             // set the owning side to null (unless already changed)
  492.             if ($accepted->getPreOrder() === $this) {
  493.                 $accepted->setPreOrder(null);
  494.             }
  495.         }
  496.         return $this;
  497.     }
  498.     /**
  499.      * @return Collection<int, LoadInvoiceProduct>
  500.      */
  501.     public function getLoadInvoiceProducts(): Collection
  502.     {
  503.         return $this->loadInvoiceProducts;
  504.     }
  505.     public function addLoadInvoiceProduct(LoadInvoiceProduct $loadInvoiceProduct): self
  506.     {
  507.         if (!$this->loadInvoiceProducts->contains($loadInvoiceProduct)) {
  508.             $this->loadInvoiceProducts->add($loadInvoiceProduct);
  509.             $loadInvoiceProduct->setPreOrderProduct($this);
  510.         }
  511.         return $this;
  512.     }
  513.     public function removeLoadInvoiceProduct(LoadInvoiceProduct $loadInvoiceProduct): self
  514.     {
  515.         if ($this->loadInvoiceProducts->removeElement($loadInvoiceProduct)) {
  516.             // set the owning side to null (unless already changed)
  517.             if ($loadInvoiceProduct->getPreOrderProduct() === $this) {
  518.                 $loadInvoiceProduct->setPreOrderProduct(null);
  519.             }
  520.         }
  521.         return $this;
  522.     }
  523.     public function getAccount(): ?Accounts
  524.     {
  525.         return $this->account;
  526.     }
  527.     public function setAccount(?Accounts $account): self
  528.     {
  529.         $this->account $account;
  530.         return $this;
  531.     }
  532.     public function isSynced(): ?bool
  533.     {
  534.         return $this->synced;
  535.     }
  536.     public function setSynced(?bool $synced): self
  537.     {
  538.         $this->synced $synced;
  539.         return $this;
  540.     }
  541.     #[ORM\PrePersist]
  542.     public function setCreatedAtValue(): void
  543.     {
  544.         $this->dateEntered = new \DateTime();
  545.     }
  546.     // #[ORM\PrePersist]
  547.     #[ORM\PreUpdate]
  548.     public function setUpdatedAtValue(): void
  549.     {
  550.         $this->dateModified = new \DateTime();
  551.     }
  552.     public function getClient(): ?User
  553.     {
  554.         return $this->client;
  555.     }
  556.     public function setClient(?User $client): self
  557.     {
  558.         $this->client $client;
  559.         return $this;
  560.     }
  561.     public function getManager(): ?User
  562.     {
  563.         return $this->manager;
  564.     }
  565.     public function setManager(?User $manager): self
  566.     {
  567.         $this->manager $manager;
  568.         return $this;
  569.     }
  570.     public function getDateDelivery(): ?\DateTimeInterface
  571.     {
  572.         return $this->dateDelivery;
  573.     }
  574.     public function setDateDelivery(?\DateTimeInterface $dateDelivery): static
  575.     {
  576.         $this->dateDelivery $dateDelivery;
  577.         return $this;
  578.     }
  579.     
  580.     /**
  581.      * @return Collection<int, Fees>
  582.      */
  583.     public function getFees(): Collection
  584.     {
  585.         return $this->fees;
  586.     }
  587.     public function addFee(Fees $fee): self
  588.     {
  589.         if (!$this->fees->contains($fee)) {
  590.             $this->fees->add($fee);
  591.             $fee->addPreOrder($this);
  592.         }
  593.         return $this;
  594.     }
  595.     public function getDeliveryMethod(): ?string
  596.     {
  597.         return $this->deliveryMethod;
  598.     }
  599.     public function setDeliveryMethod(string $deliveryMethod): static
  600.     {
  601.         $this->deliveryMethod $deliveryMethod;
  602.         return $this;
  603.     }
  604.     
  605.     public function removeFee(Fees $fee): self
  606.     {
  607.         if ($this->fees->removeElement($fee)) {
  608.             $fee->removePreOrder($this);
  609.         }
  610.         return $this;
  611.     }
  612.     public function getPostOffice(): ?string
  613.     {
  614.         return $this->postOffice;
  615.     }
  616.     public function setPostOffice(?string $postOffice): static
  617.     {
  618.         $this->postOffice $postOffice;
  619.         return $this;
  620.     }
  621.     public function getStoreAddress(): ?string
  622.     {
  623.         return $this->storeAddress;
  624.     }
  625.     public function setStoreAddress(?string $storeAddress): static
  626.     {
  627.         $this->storeAddress $storeAddress;
  628.         return $this;
  629.     }
  630.     public function getCommentBuilding(): ?string
  631.     {
  632.         return $this->commentBuilding;
  633.     }
  634.     public function setCommentBuilding(?string $commentBuilding): static
  635.     {
  636.         $this->commentBuilding $commentBuilding;
  637.         return $this;
  638.     }
  639.     public function isNotCall(): ?bool
  640.     {
  641.         return $this->notCall;
  642.     }
  643.     public function setNotCall(?bool $notCall): static
  644.     {
  645.         $this->notCall $notCall;
  646.         
  647.         return $this;
  648.     }
  649.     public function getCoupons(): ?Coupons
  650.     {
  651.         return $this->coupons;
  652.     }
  653.     public function setCoupons(?Coupons $coupons): self
  654.     {
  655.         $this->coupons $coupons;
  656.         return $this;
  657.     }
  658.     public function getAddress(): ?AccountAddress
  659.     {
  660.         return $this->address;
  661.     }
  662.     public function setAddress(?AccountAddress $address): self
  663.     {
  664.         $this->address $address;
  665.         return $this;
  666.     }
  667.     public function getShippingMethod(): ?string
  668.     {
  669.         return $this->shippingMethod;
  670.     }
  671.     public function setShippingMethod(?string $shippingMethod): static
  672.     {
  673.         $this->shippingMethod $shippingMethod;
  674.         return $this;
  675.     }
  676.     public function isDontCallMe(): ?bool
  677.     {
  678.         return $this->dontCallMe;
  679.     }
  680.     public function setDontCallMe(?bool $dontCallMe): static
  681.     {
  682.         $this->dontCallMe $dontCallMe;
  683.         return $this;
  684.     }
  685.     public function getGuid(): ?string
  686.     {
  687.         return $this->guid;
  688.     }
  689.     public function setGuid(?string $guid): static
  690.     {
  691.         $this->guid $guid;
  692.         return $this;
  693.     }
  694.     public function getUlid(): ?Ulid
  695.     {
  696.         return $this->ulid;
  697.     }
  698.     public function setUlid(Ulid $ulid): static
  699.     {
  700.         $this->ulid $ulid;
  701.         return $this;
  702.     }
  703.     public function getPaymentStatus(): ?string
  704.     {
  705.         return $this->paymentStatus;
  706.     }
  707.     public function setPaymentStatus(?string $paymentStatus): static
  708.     {
  709.         $this->paymentStatus $paymentStatus;
  710.         return $this;
  711.     }
  712.     public function getShippingReceiver(): ?array
  713.     {
  714.         return $this->shippingReceiver;
  715.     }
  716.     public function setShippingReceiver(?array $shippingReceiver): static
  717.     {
  718.         $this->shippingReceiver $shippingReceiver;
  719.         return $this;
  720.     }
  721.     public function getPaymentData(): ?array
  722.     {
  723.         return $this->paymentData;
  724.     }
  725.     public function setPaymentData(?array $paymentData): static
  726.     {
  727.         $this->paymentData $paymentData;
  728.         return $this;
  729.     }
  730.     public function getTtn(): ?string
  731.     {
  732.         return $this->ttn;
  733.     }
  734.     public function setTtn(?string $ttn): static
  735.     {
  736.         $this->ttn $ttn;
  737.         return $this;
  738.     }
  739.     public function getPartsCount(): ?int
  740.     {
  741.         return $this->partsCount;
  742.     }
  743.     public function setPartsCount(?int $partsCount): static
  744.     {
  745.         $this->partsCount $partsCount;
  746.         return $this;
  747.     }
  748. }