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.

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