Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

901 lines
23KB

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