You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

867 lines
22KB

  1. <?php
  2. namespace Lc\CaracoleBundle\Model\Order;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\Common\Collections\Collection;
  5. use Gedmo\Mapping\Annotation as Gedmo;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Lc\CaracoleBundle\Doctrine\Extension\FilterSectionInterface;
  8. use Lc\CaracoleBundle\Model\Address\AddressInterface;
  9. use Lc\CaracoleBundle\Model\Config\TaxRateInterface;
  10. use Lc\CaracoleBundle\Model\File\DocumentInterface;
  11. use Lc\CaracoleBundle\Model\PointSale\PointSaleInterface;
  12. use Lc\CaracoleBundle\Model\Section\SectionInterface;
  13. use Lc\SovBundle\Doctrine\Extension\BlameableNullableTrait;
  14. use Lc\SovBundle\Model\Ticket\TicketInterface;
  15. use Lc\CaracoleBundle\Model\User\VisitorInterface;
  16. use Lc\SovBundle\Doctrine\Pattern\AbstractLightEntity;
  17. use Lc\SovBundle\Model\User\UserInterface;
  18. /**
  19. * @ORM\MappedSuperclass()
  20. */
  21. abstract class OrderShopModel extends AbstractLightEntity implements FilterSectionInterface
  22. {
  23. use BlameableNullableTrait;
  24. const DELIVERY_TYPE_HOME = 'home';
  25. const DELIVERY_TYPE_POINTSALE = 'point-sale';
  26. /**
  27. * @ORM\ManyToOne(targetEntity="Lc\SovBundle\Model\User\UserInterface", inversedBy="orderShops", fetch="EAGER")
  28. */
  29. protected $user;
  30. /**
  31. * @ORM\ManyToOne(targetEntity="Lc\CaracoleBundle\Model\User\VisitorInterface", inversedBy="orders")
  32. */
  33. protected $visitor;
  34. /**
  35. * @ORM\ManyToOne(targetEntity="Lc\CaracoleBundle\Model\Address\AddressInterface")
  36. */
  37. protected $invoiceAddress;
  38. /**
  39. * @ORM\Column(type="text", nullable=true)
  40. */
  41. protected $invoiceAddressText;
  42. /**
  43. * @ORM\Column(type="datetime", nullable=true)
  44. */
  45. protected $validationDate;
  46. /**
  47. * @ORM\Column(type="text", nullable=true)
  48. */
  49. protected $comment;
  50. /**
  51. * @ORM\Column(type="string", length=31, nullable=true)
  52. */
  53. protected $meanPayment;
  54. /**
  55. * @ORM\OneToMany(targetEntity="Lc\CaracoleBundle\Model\Order\OrderStatusHistoryInterface", mappedBy="orderShop", orphanRemoval=true)
  56. */
  57. protected $orderStatusHistories;
  58. /**
  59. * @ORM\OneToMany(targetEntity="Lc\CaracoleBundle\Model\Order\OrderPaymentInterface", mappedBy="orderShop", orphanRemoval=true)
  60. */
  61. protected $orderPayments;
  62. /**
  63. * @ORM\OneToMany(targetEntity="Lc\CaracoleBundle\Model\Order\OrderProductInterface", mappedBy="orderShop", cascade={"persist", "remove"}, orphanRemoval=true, fetch="EAGER")
  64. */
  65. protected $orderProducts;
  66. /**
  67. * @ORM\Column(type="text", nullable=true)
  68. */
  69. protected $deliveryInfos;
  70. /**
  71. * @ORM\ManyToOne(targetEntity="Lc\CaracoleBundle\Model\Order\OrderStatusInterface")
  72. * @ORM\JoinColumn(nullable=false)
  73. */
  74. protected $orderStatus;
  75. /**
  76. * @ORM\OneToMany(targetEntity="Lc\CaracoleBundle\Model\Order\OrderReductionCartInterface", mappedBy="orderShop", orphanRemoval=true)
  77. */
  78. protected $orderReductionCarts;
  79. /**
  80. * @ORM\OneToMany(targetEntity="Lc\CaracoleBundle\Model\Order\OrderReductionCreditInterface", mappedBy="orderShop", orphanRemoval=true)
  81. */
  82. protected $orderReductionCredits;
  83. /**
  84. * @ORM\ManyToMany(targetEntity="Lc\CaracoleBundle\Model\File\DocumentInterface", inversedBy="orderShops")
  85. */
  86. protected $documents;
  87. /**
  88. * @ORM\OneToMany(targetEntity="Lc\SovBundle\Model\Ticket\TicketInterface", mappedBy="orderShop")
  89. */
  90. protected $tickets;
  91. /**
  92. * @ORM\ManyToOne(targetEntity="Lc\CaracoleBundle\Model\Section\SectionInterface", inversedBy="orderShops")
  93. * @ORM\JoinColumn(nullable=false)
  94. */
  95. protected $section;
  96. /**
  97. * @ORM\Column(type="integer", nullable=true)
  98. */
  99. protected $cycleId;
  100. /**
  101. * @ORM\Column(type="integer", nullable=true)
  102. */
  103. protected $cycleNumber;
  104. /**
  105. * @ORM\ManyToOne(targetEntity="App\Entity\Address\Address")
  106. */
  107. protected $deliveryAddress;
  108. /**
  109. * @ORM\ManyToOne(targetEntity="App\Entity\PointSale\PointSale")
  110. */
  111. protected $deliveryPointSale;
  112. /**
  113. * @ORM\Column(type="text", nullable=true)
  114. */
  115. protected $deliveryAddressText;
  116. /**
  117. * @ORM\Column(type="string", length=255, nullable=true)
  118. */
  119. protected $deliveryType;
  120. /**
  121. * @ORM\Column(type="float", nullable=true)
  122. */
  123. protected $deliveryPrice;
  124. /**
  125. * @ORM\ManyToOne(targetEntity="App\Entity\Config\TaxRate")
  126. */
  127. protected $deliveryTaxRate;
  128. /**
  129. * @ORM\Column(type="string", length=20, nullable=true)
  130. */
  131. protected $reference;
  132. /**
  133. * @ORM\ManyToOne(targetEntity="App\Entity\Order\OrderShop", inversedBy="complementaryOrderShops")
  134. */
  135. protected $mainOrderShop;
  136. /**
  137. * @ORM\OneToMany(targetEntity="App\Entity\Order\OrderShop", mappedBy="mainOrderShop")
  138. */
  139. protected $complementaryOrderShops;
  140. /**
  141. * @ORM\Column(type="boolean", nullable=true)
  142. */
  143. protected $declineComplementaryOrderShop;
  144. /**
  145. * @ORM\Column(type="boolean", nullable=true)
  146. */
  147. protected $orderAllowByAdmin;
  148. /**
  149. * @ORM\Column(type="integer", nullable=true)
  150. */
  151. protected $hasReach;
  152. /**
  153. * @ORM\Column(type="float", nullable=true)
  154. */
  155. protected $statTotal;
  156. /**
  157. * @ORM\Column(type="float", nullable=true)
  158. */
  159. protected $statTotalWithTax;
  160. /**
  161. * @ORM\Column(type="float", nullable=true)
  162. */
  163. protected $statTotalOrderProductsWithReductions;
  164. /**
  165. * @ORM\Column(type="float", nullable=true)
  166. */
  167. protected $statTotalOrderProductsWithTaxAndReductions;
  168. /**
  169. * @ORM\Column(type="float", nullable=true)
  170. */
  171. protected $statMarginOrderProductsWithReductions;
  172. /**
  173. * @ORM\Column(type="float", nullable=true)
  174. */
  175. protected $statDeliveryPriceWithReduction;
  176. /**
  177. * @ORM\Column(type="float", nullable=true)
  178. */
  179. protected $statDeliveryPriceWithTaxAndReduction;
  180. public function __construct()
  181. {
  182. $this->orderStatusHistories = new ArrayCollection();
  183. $this->orderPayments = new ArrayCollection();
  184. $this->orderProducts = new ArrayCollection();
  185. $this->orderReductionCarts = new ArrayCollection();
  186. $this->orderReductionCredits = new ArrayCollection();
  187. $this->documents = new ArrayCollection();
  188. $this->complementaryOrderShops = new ArrayCollection();
  189. $this->tickets = new ArrayCollection();
  190. }
  191. public function __toString()
  192. {
  193. if ($this->getValidationDate()) {
  194. return 'Commande du ' . $this->getValidationDate()->format('d/m/Y');
  195. } else {
  196. return 'Commande #' . $this->getId();
  197. }
  198. }
  199. public function getValidationDate(): ?\DateTimeInterface
  200. {
  201. return $this->validationDate;
  202. }
  203. public function setValidationDate(\DateTimeInterface $validationDate): self
  204. {
  205. $this->validationDate = $validationDate;
  206. return $this;
  207. }
  208. public function getUser(): ?UserInterface
  209. {
  210. return $this->user;
  211. }
  212. public function setUser(?UserInterface $user): self
  213. {
  214. $this->user = $user;
  215. return $this;
  216. }
  217. public function getInvoiceAddress(): ?AddressInterface
  218. {
  219. return $this->invoiceAddress;
  220. }
  221. public function setInvoiceAddress(?AddressInterface $invoiceAddress): self
  222. {
  223. $this->invoiceAddress = $invoiceAddress;
  224. return $this;
  225. }
  226. public function getInvoiceAddressText(): ?string
  227. {
  228. return $this->invoiceAddressText;
  229. }
  230. public function setInvoiceAddressText(string $invoiceAddressText): self
  231. {
  232. $this->invoiceAddressText = $invoiceAddressText;
  233. return $this;
  234. }
  235. public function getComment(): ?string
  236. {
  237. return $this->comment;
  238. }
  239. public function setComment(?string $comment): self
  240. {
  241. $this->comment = $comment;
  242. return $this;
  243. }
  244. public function getMeanPayment(): ?string
  245. {
  246. return $this->meanPayment;
  247. }
  248. public function setMeanPayment(string $meanPayment): self
  249. {
  250. $this->meanPayment = $meanPayment;
  251. return $this;
  252. }
  253. /**
  254. * @return Collection|OrderStatusHistoryInterface[]
  255. */
  256. public function getOrderStatusHistories(): Collection
  257. {
  258. return $this->orderStatusHistories;
  259. }
  260. public function addOrderStatusHistory(OrderStatusHistoryInterface $orderStatusHistory): self
  261. {
  262. if (!$this->orderStatusHistories->contains($orderStatusHistory)) {
  263. $this->orderStatusHistories[] = $orderStatusHistory;
  264. $orderStatusHistory->setOrderShop($this);
  265. }
  266. return $this;
  267. }
  268. public function removeOrderStatusHistory(OrderStatusHistoryInterface $orderStatusHistory): self
  269. {
  270. if ($this->orderStatusHistories->contains($orderStatusHistory)) {
  271. $this->orderStatusHistories->removeElement($orderStatusHistory);
  272. // set the owning side to null (unless already changed)
  273. if ($orderStatusHistory->getOrderShop() === $this) {
  274. $orderStatusHistory->setOrderShop(null);
  275. }
  276. }
  277. return $this;
  278. }
  279. /**
  280. * @return Collection|OrderPaymentInterface[]
  281. */
  282. public function getOrderPayments($meanPayment = null): Collection
  283. {
  284. if ($meanPayment) {
  285. $orderPaymentsReturn = new ArrayCollection();
  286. foreach ($this->orderPayments as $orderPayment) {
  287. if ($orderPayment->getMeanPayment() == $meanPayment) {
  288. $orderPaymentsReturn[] = $orderPayment;
  289. }
  290. }
  291. return $orderPaymentsReturn;
  292. }
  293. return $this->orderPayments;
  294. }
  295. public function addOrderPayment(OrderPaymentInterface $orderPayment): self
  296. {
  297. if (!$this->orderPayments->contains($orderPayment)) {
  298. $this->orderPayments[] = $orderPayment;
  299. $orderPayment->setOrderShop($this);
  300. }
  301. return $this;
  302. }
  303. public function removeOrderPayment(OrderPaymentInterface $orderPayment): self
  304. {
  305. if ($this->orderPayments->contains($orderPayment)) {
  306. $this->orderPayments->removeElement($orderPayment);
  307. // set the owning side to null (unless already changed)
  308. if ($orderPayment->getOrderShop() === $this) {
  309. $orderPayment->setOrderShop(null);
  310. }
  311. }
  312. return $this;
  313. }
  314. /**
  315. * @return Collection|OrderProductInterface[]
  316. */
  317. public function getOrderProducts(): Collection
  318. {
  319. return $this->orderProducts;
  320. }
  321. public function addOrderProduct(OrderProductInterface $orderProduct): self
  322. {
  323. if (!$this->orderProducts->contains($orderProduct)) {
  324. $this->orderProducts[] = $orderProduct;
  325. $orderProduct->setOrderShop($this);
  326. }
  327. return $this;
  328. }
  329. public function removeOrderProduct(OrderProductInterface $orderProduct): self
  330. {
  331. if ($this->orderProducts->contains($orderProduct)) {
  332. $this->orderProducts->removeElement($orderProduct);
  333. // set the owning side to null (unless already changed)
  334. if ($orderProduct->getOrderShop() === $this) {
  335. $orderProduct->setOrderShop(null);
  336. }
  337. }
  338. return $this;
  339. }
  340. public function getVisitor(): ?VisitorInterface
  341. {
  342. return $this->visitor;
  343. }
  344. public function setVisitor(?VisitorInterface $visitor): self
  345. {
  346. $this->visitor = $visitor;
  347. return $this;
  348. }
  349. public function getDeliveryInfos(): ?string
  350. {
  351. return $this->deliveryInfos;
  352. }
  353. public function setDeliveryInfos(?string $deliveryInfos): self
  354. {
  355. $this->deliveryInfos = $deliveryInfos;
  356. return $this;
  357. }
  358. public function getOrderStatus(): ?OrderStatusInterface
  359. {
  360. return $this->orderStatus;
  361. }
  362. public function setOrderStatusProtected(?OrderStatusInterface $orderStatus): self
  363. {
  364. $this->orderStatus = $orderStatus;
  365. return $this;
  366. }
  367. /**
  368. * @return Collection|OrderReductionCartInterface[]
  369. */
  370. public function getOrderReductionCarts(): Collection
  371. {
  372. return $this->orderReductionCarts;
  373. }
  374. public function addOrderReductionCart(OrderReductionCartInterface $orderReductionCart): self
  375. {
  376. if (!$this->orderReductionCarts->contains($orderReductionCart)) {
  377. $this->orderReductionCarts[] = $orderReductionCart;
  378. $orderReductionCart->setOrderShop($this);
  379. }
  380. return $this;
  381. }
  382. public function removeOrderReductionCart(OrderReductionCartInterface $orderReductionCart): self
  383. {
  384. if ($this->orderReductionCarts->contains($orderReductionCart)) {
  385. $this->orderReductionCarts->removeElement($orderReductionCart);
  386. // set the owning side to null (unless already changed)
  387. if ($orderReductionCart->getOrderShop() === $this) {
  388. $orderReductionCart->setOrderShop(null);
  389. }
  390. }
  391. return $this;
  392. }
  393. /**
  394. * @return Collection|OrderReductionCreditInterface[]
  395. */
  396. public function getOrderReductionCredits(): Collection
  397. {
  398. return $this->orderReductionCredits;
  399. }
  400. public function addOrderReductionCredit(OrderReductionCreditInterface $orderReductionCredit): self
  401. {
  402. if (!$this->orderReductionCredits->contains($orderReductionCredit)) {
  403. $this->orderReductionCredits[] = $orderReductionCredit;
  404. $orderReductionCredit->setOrderShop($this);
  405. }
  406. return $this;
  407. }
  408. public function removeOrderReductionCredit(OrderReductionCreditInterface $orderReductionCredit): self
  409. {
  410. if ($this->orderReductionCredits->contains($orderReductionCredit)) {
  411. $this->orderReductionCredits->removeElement($orderReductionCredit);
  412. // set the owning side to null (unless already changed)
  413. if ($orderReductionCredit->getOrderShop() === $this) {
  414. $orderReductionCredit->setOrderShop(null);
  415. }
  416. }
  417. return $this;
  418. }
  419. /**
  420. * @return Collection|DocumentInterface[]
  421. */
  422. public function getDocuments(): Collection
  423. {
  424. return $this->documents;
  425. }
  426. public function addDocument(DocumentInterface $document): self
  427. {
  428. if (!$this->documents->contains($document)) {
  429. $this->documents[] = $document;
  430. }
  431. return $this;
  432. }
  433. public function removeDocument(DocumentInterface $document): self
  434. {
  435. if ($this->documents->contains($document)) {
  436. $this->documents->removeElement($document);
  437. }
  438. return $this;
  439. }
  440. /**
  441. * @return Collection|TicketInterface[]
  442. */
  443. public function getTickets(): Collection
  444. {
  445. return $this->tickets;
  446. }
  447. public function addTicket(TicketInterface $ticket): self
  448. {
  449. if (!$this->tickets->contains($ticket)) {
  450. $this->tickets[] = $ticket;
  451. $ticket->setOrderShop($this);
  452. }
  453. return $this;
  454. }
  455. public function removeTicket(TicketInterface $ticket): self
  456. {
  457. if ($this->tickets->contains($ticket)) {
  458. $this->tickets->removeElement($ticket);
  459. // set the owning side to null (unless already changed)
  460. if ($ticket->getOrderShop() === $this) {
  461. $ticket->setOrderShop(null);
  462. }
  463. }
  464. return $this;
  465. }
  466. public function getSection(): ?SectionInterface
  467. {
  468. return $this->section;
  469. }
  470. public function setSection(?SectionInterface $section): self
  471. {
  472. $this->section = $section;
  473. return $this;
  474. }
  475. public function getCycleId(): ?int
  476. {
  477. return $this->cycleId;
  478. }
  479. public function setCycleId(?int $cycleId): self
  480. {
  481. $this->cycleId = $cycleId;
  482. return $this;
  483. }
  484. public function getCycleNumber(): ?int
  485. {
  486. return $this->cycleNumber;
  487. }
  488. public function setCycleNumber(?int $cycleNumber): self
  489. {
  490. $this->cycleNumber = $cycleNumber;
  491. return $this;
  492. }
  493. public function getDeliveryAddress(): ?AddressInterface
  494. {
  495. return $this->deliveryAddress;
  496. }
  497. public function setDeliveryAddress(?AddressInterface $deliveryAddress): self
  498. {
  499. $this->deliveryAddress = $deliveryAddress;
  500. return $this;
  501. }
  502. public function getDeliveryAddressText(): ?string
  503. {
  504. return $this->deliveryAddressText;
  505. }
  506. public function setDeliveryAddressText(string $deliveryAddressText): self
  507. {
  508. $this->deliveryAddressText = $deliveryAddressText;
  509. return $this;
  510. }
  511. public function getDeliveryPointSale(): ?PointSaleInterface
  512. {
  513. return $this->deliveryPointSale;
  514. }
  515. public function setDeliveryPointSale(?PointSaleInterface $deliveryPointSale): self
  516. {
  517. $this->deliveryPointSale = $deliveryPointSale;
  518. return $this;
  519. }
  520. public function getDeliveryType(): ?string
  521. {
  522. return $this->deliveryType;
  523. }
  524. public function setDeliveryType(?string $deliveryType): self
  525. {
  526. $this->deliveryType = $deliveryType;
  527. return $this;
  528. }
  529. public function getDeliveryPrice(): ?float
  530. {
  531. return $this->deliveryPrice;
  532. }
  533. public function setDeliveryPrice(?float $deliveryPrice): self
  534. {
  535. $this->deliveryPrice = $deliveryPrice;
  536. return $this;
  537. }
  538. public function getDeliveryTaxRate(): ?TaxRateInterface
  539. {
  540. return $this->deliveryTaxRate;
  541. }
  542. public function setDeliveryTaxRate(?TaxRateInterface $deliveryTaxRate): self
  543. {
  544. $this->deliveryTaxRate = $deliveryTaxRate;
  545. return $this;
  546. }
  547. public function getReference(): ?string
  548. {
  549. return $this->reference;
  550. }
  551. public function setReference(?string $reference): self
  552. {
  553. $this->reference = $reference;
  554. return $this;
  555. }
  556. public function getMainOrderShop(): ?self
  557. {
  558. return $this->mainOrderShop;
  559. }
  560. public function setMainOrderShop(?self $mainOrderShop): self
  561. {
  562. $this->mainOrderShop = $mainOrderShop;
  563. return $this;
  564. }
  565. /**
  566. * @return Collection|OrderShopInterface[]
  567. */
  568. public function getComplementaryOrderShops(): Collection
  569. {
  570. $arrayComplementaryOrderShops = new ArrayCollection();
  571. foreach ($this->complementaryOrderShops as $complementaryOrderShop) {
  572. if ($complementaryOrderShop->isValid()) {
  573. $arrayComplementaryOrderShops[] = $complementaryOrderShop;
  574. }
  575. }
  576. return $arrayComplementaryOrderShops;
  577. }
  578. public function addComplementaryOrderShop(self $complementaryOrderShop): self
  579. {
  580. if (!$this->complementaryOrderShops->contains($complementaryOrderShop)) {
  581. $this->complementaryOrderShops[] = $complementaryOrderShop;
  582. $complementaryOrderShop->setMainOrderShop($this);
  583. }
  584. return $this;
  585. }
  586. public function removeComplementaryOrderShop(self $complementaryOrderShop): self
  587. {
  588. if ($this->complementaryOrderShops->contains($complementaryOrderShop)) {
  589. $this->complementaryOrderShops->removeElement($complementaryOrderShop);
  590. // set the owning side to null (unless already changed)
  591. if ($complementaryOrderShop->getMainOrderShop() === $this) {
  592. $complementaryOrderShop->setMainOrderShop(null);
  593. }
  594. }
  595. return $this;
  596. }
  597. public function getDeclineComplementaryOrderShop(): ?bool
  598. {
  599. return $this->declineComplementaryOrderShop;
  600. }
  601. public function setDeclineComplementaryOrderShop(?bool $declineComplementaryOrderShop): self
  602. {
  603. $this->declineComplementaryOrderShop = $declineComplementaryOrderShop;
  604. return $this;
  605. }
  606. public function getOrderAllowByAdmin(): ?bool
  607. {
  608. return $this->orderAllowByAdmin;
  609. }
  610. public function setOrderAllowByAdmin(?bool $orderAllowByAdmin): self
  611. {
  612. $this->orderAllowByAdmin = $orderAllowByAdmin;
  613. return $this;
  614. }
  615. public function getHasReach(): ?int
  616. {
  617. return $this->hasReach;
  618. }
  619. public function setHasReach(?int $hasReach): self
  620. {
  621. $this->hasReach = $hasReach;
  622. return $this;
  623. }
  624. public function getStatTotal(): ?float
  625. {
  626. return $this->statTotal;
  627. }
  628. public function setStatTotal(?float $statTotal): self
  629. {
  630. $this->statTotal = $statTotal;
  631. return $this;
  632. }
  633. public function getStatTotalWithTax(): ?float
  634. {
  635. return $this->statTotalWithTax;
  636. }
  637. public function setStatTotalWithTax(?float $statTotalWithTax): self
  638. {
  639. $this->statTotalWithTax = $statTotalWithTax;
  640. return $this;
  641. }
  642. public function getStatTotalOrderProductsWithReductions(): ?float
  643. {
  644. return $this->statTotalOrderProductsWithReductions;
  645. }
  646. public function setStatTotalOrderProductsWithReductions(?float $statTotalOrderProductsWithReductions): self
  647. {
  648. $this->statTotalOrderProductsWithReductions = $statTotalOrderProductsWithReductions;
  649. return $this;
  650. }
  651. public function getStatTotalOrderProductsWithTaxAndReductions(): ?float
  652. {
  653. return $this->statTotalOrderProductsWithTaxAndReductions;
  654. }
  655. public function setStatTotalOrderProductsWithTaxAndReductions(?float $statTotalOrderProductsWithTaxAndReductions): self
  656. {
  657. $this->statTotalOrderProductsWithTaxAndReductions = $statTotalOrderProductsWithTaxAndReductions;
  658. return $this;
  659. }
  660. public function getStatMarginOrderProductsWithReductions(): ?float
  661. {
  662. return $this->statMarginOrderProductsWithReductions;
  663. }
  664. public function setStatMarginOrderProductsWithReductions(?float $statMarginOrderProductsWithReductions): self
  665. {
  666. $this->statMarginOrderProductsWithReductions = $statMarginOrderProductsWithReductions;
  667. return $this;
  668. }
  669. public function getStatDeliveryPriceWithReduction(): ?float
  670. {
  671. return $this->statDeliveryPriceWithReduction;
  672. }
  673. public function setStatDeliveryPriceWithReduction(?float $statDeliveryPriceWithReduction): self
  674. {
  675. $this->statDeliveryPriceWithReduction = $statDeliveryPriceWithReduction;
  676. return $this;
  677. }
  678. public function getStatDeliveryPriceWithTaxAndReduction(): ?float
  679. {
  680. return $this->statDeliveryPriceWithTaxAndReduction;
  681. }
  682. public function setStatDeliveryPriceWithTaxAndReduction(?float $statDeliveryPriceWithTaxAndReduction): self
  683. {
  684. $this->statDeliveryPriceWithTaxAndReduction = $statDeliveryPriceWithTaxAndReduction;
  685. return $this;
  686. }
  687. }