src/Entity/Teacher.php line 13

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\Common\Collections\Collection;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Symfony\Component\Validator\Constraints as Assert;
  7. /**
  8. * @ORM\Entity(repositoryClass="App\Repository\TeacherRepository")
  9. */
  10. class Teacher
  11. {
  12. /**
  13. * @ORM\Id()
  14. * @ORM\GeneratedValue()
  15. * @ORM\Column(type="integer")
  16. */
  17. private $id;
  18. /**
  19. * @ORM\Column(type="decimal", precision=25, scale=15)
  20. */
  21. private $hourlySalary;
  22. /**
  23. * @ORM\Column(type="boolean", nullable=true)
  24. */
  25. private $isGrader = false;
  26. /**
  27. * @ORM\OneToOne(targetEntity="App\Entity\User", inversedBy="teacher", cascade={"persist", "remove"})
  28. * @ORM\JoinColumn(nullable=false)
  29. */
  30. private $userId;
  31. /**
  32. * @ORM\OneToMany(targetEntity="App\Entity\TeacherSchedule", mappedBy="teacher")
  33. */
  34. private $schedules;
  35. /**
  36. * @ORM\ManyToMany(targetEntity="App\Entity\Category", inversedBy="teachers")
  37. */
  38. private $categories;
  39. /**
  40. * @ORM\OneToMany(targetEntity="App\Entity\Session", mappedBy="teacher", orphanRemoval=true)
  41. */
  42. private $sessionsCourses;
  43. /**
  44. * @ORM\OneToMany(targetEntity="App\Entity\SubscriptionOrder", mappedBy="teacher")
  45. */
  46. private $subscriptionOrders;
  47. /**
  48. * @ORM\Column(type="boolean")
  49. */
  50. private $forChildren;
  51. /**
  52. * @ORM\Column(type="decimal", precision=25, scale=15, nullable=true)
  53. */
  54. private $hourlySalaryWaiting;
  55. /**
  56. * @ORM\OneToMany(targetEntity="App\Entity\TeacherSubject", mappedBy="teacher", cascade={"persist"}, orphanRemoval=true)
  57. * @Assert\Valid()
  58. */
  59. private $teacherSubjects;
  60. /**
  61. * @ORM\OneToMany(targetEntity="App\Entity\TeacherSalary", mappedBy="teacher")
  62. */
  63. private $teacherSalaries;
  64. /**
  65. * @ORM\OneToMany(targetEntity="App\Entity\Homework", mappedBy="CorrectedBy")
  66. */
  67. private $homeworks;
  68. /**
  69. * @ORM\OneToMany(targetEntity="App\Entity\VideoProgram", mappedBy="teacher")
  70. */
  71. private $videoPrograms;
  72. /**
  73. * @ORM\ManyToMany(targetEntity="App\Entity\VideoProgram", mappedBy="teacherForLesson")
  74. */
  75. private $videoProgramsCanTeach;
  76. /**
  77. * @ORM\OneToMany(targetEntity="App\Entity\VideoDividend", mappedBy="teacher")
  78. */
  79. private $videoDividends;
  80. /**
  81. * @ORM\Column(type="string", length=150, nullable=true)
  82. * @Assert\Regex(pattern = "/^#?[a-z\-_0-9]+$/i", htmlPattern = "^#?[a-z\-_0-9]+$/i", message="This must contain only letter or numbers" )
  83. */
  84. private $slackChannel;
  85. /**
  86. * @ORM\Column(type="string", length=255, nullable=true)
  87. */
  88. private $iban;
  89. /**
  90. * @ORM\Column(type="string", length=255, nullable=true)
  91. */
  92. private $address;
  93. /**
  94. * @ORM\Column(type="string", length=100, nullable=true)
  95. */
  96. private $city;
  97. /**
  98. * @ORM\Column(type="integer", nullable=true)
  99. */
  100. private $zipCode;
  101. /**
  102. * @ORM\Column(type="string", length=100, nullable=true)
  103. */
  104. private $country;
  105. /**
  106. * @ORM\Column(type="boolean", nullable=true)
  107. */
  108. private $isActif;
  109. /**
  110. * @ORM\Column(type="boolean", nullable=true)
  111. */
  112. private $isLevelTest;
  113. /**
  114. * @ORM\Column(type="boolean", nullable=true)
  115. */
  116. private $isCamera;
  117. /**
  118. * @ORM\OneToMany(targetEntity=TrainingReport::class, mappedBy="teacher")
  119. */
  120. private $trainingReports;
  121. /**
  122. * @ORM\Column(type="decimal", precision=25, scale=15, nullable=true)
  123. */
  124. private $addonForArabic;
  125. /**
  126. * @ORM\Column(type="decimal", precision=25, scale=15, nullable=true)
  127. */
  128. private $addonForQuran;
  129. /**
  130. * @ORM\Column(type="decimal", precision=25, scale=15, nullable=true)
  131. */
  132. private $addonForChildren;
  133. /**
  134. * @ORM\Column(type="boolean", nullable=true)
  135. */
  136. private $isBeginner;
  137. /**
  138. * @ORM\Column(type="boolean", nullable=true)
  139. */
  140. private $isIntermediate;
  141. /**
  142. * @ORM\Column(type="boolean", nullable=true)
  143. */
  144. private $isAdvanced;
  145. /**
  146. * @ORM\Column(type="string", length=100, nullable=true)
  147. */
  148. private $currency;
  149. /**
  150. * @ORM\OneToMany(targetEntity=MainTeacherSalary::class, mappedBy="teacher")
  151. */
  152. private $mainTeacherSalaries;
  153. /**
  154. * @ORM\OneToMany(targetEntity=TeacherLeveltest::class, mappedBy="teacher")
  155. */
  156. private $teacherLeveltests;
  157. /**
  158. * @ORM\ManyToOne(targetEntity=Qiraa::class, inversedBy="teachers")
  159. */
  160. private $Qiraa;
  161. /**
  162. * @ORM\Column(type="float", nullable=true)
  163. */
  164. private $groupSalary;
  165. /**
  166. * @ORM\Column(type="float", nullable=true)
  167. */
  168. private $groupWaitingSalary;
  169. public function __construct()
  170. {
  171. $this->schedules = new ArrayCollection();
  172. $this->categories = new ArrayCollection();
  173. $this->sessionsCourses = new ArrayCollection();
  174. $this->subscriptionOrders = new ArrayCollection();
  175. $this->teacherSubjects = new ArrayCollection();
  176. $this->teacherSalaries = new ArrayCollection();
  177. $this->homeworks = new ArrayCollection();
  178. $this->videoPrograms = new ArrayCollection();
  179. $this->videoProgramsCanTeach = new ArrayCollection();
  180. $this->videoDividends = new ArrayCollection();
  181. $this->trainingReports = new ArrayCollection();
  182. $this->mainTeacherSalaries = new ArrayCollection();
  183. $this->teacherLeveltests = new ArrayCollection();
  184. }
  185. public function getId(): ?int
  186. {
  187. return $this->id;
  188. }
  189. public function getHourlySalary(): ?float
  190. {
  191. return $this->hourlySalary;
  192. }
  193. public function setHourlySalary(float $hourlySalary): self
  194. {
  195. $this->hourlySalary = round($hourlySalary, 2);
  196. return $this;
  197. }
  198. public function getIsGrader(): ?bool
  199. {
  200. return $this->isGrader;
  201. }
  202. public function setIsGrader(?bool $isGrader): self
  203. {
  204. $this->isGrader = $isGrader;
  205. return $this;
  206. }
  207. public function getUserId(): ?User
  208. {
  209. return $this->userId;
  210. }
  211. public function setUserId(User $userId): self
  212. {
  213. $this->userId = $userId;
  214. return $this;
  215. }
  216. /**
  217. * @return Collection|TeacherSchedule[]
  218. */
  219. public function getSchedules(): Collection
  220. {
  221. return $this->schedules;
  222. }
  223. public function addSchedule(TeacherSchedule $schedule): self
  224. {
  225. if ( ! $this->schedules->contains($schedule)) {
  226. $this->schedules[] = $schedule;
  227. $schedule->setTeacher($this);
  228. }
  229. return $this;
  230. }
  231. public function removeSchedule(TeacherSchedule $schedule): self
  232. {
  233. if ($this->schedules->contains($schedule)) {
  234. $this->schedules->removeElement($schedule);
  235. // set the owning side to null (unless already changed)
  236. if ($schedule->getTeacher() === $this) {
  237. $schedule->setTeacher(null);
  238. }
  239. }
  240. return $this;
  241. }
  242. /**
  243. * @return Collection|Category[]
  244. */
  245. public function getCategories(): Collection
  246. {
  247. return $this->categories;
  248. }
  249. public function addCategory(Category $category): self
  250. {
  251. if ( ! $this->categories->contains($category)) {
  252. $this->categories[] = $category;
  253. }
  254. return $this;
  255. }
  256. public function removeCategory(Category $category): self
  257. {
  258. if ($this->categories->contains($category)) {
  259. $this->categories->removeElement($category);
  260. }
  261. return $this;
  262. }
  263. /**
  264. * @return Collection|Session[]
  265. */
  266. public function getSessionsCourses(): Collection
  267. {
  268. return $this->sessionsCourses;
  269. }
  270. public function addSession(Session $session): self
  271. {
  272. if ( ! $this->sessionsCourses->contains($session)) {
  273. $this->sessionsCourses[] = $session;
  274. $session->setTeacher($this);
  275. }
  276. return $this;
  277. }
  278. public function removeSession(Session $session): self
  279. {
  280. if ($this->sessionsCourses->contains($session)) {
  281. $this->sessionsCourses->removeElement($session);
  282. // set the owning side to null (unless already changed)
  283. if ($session->getTeacher() === $this) {
  284. $session->setTeacher(null);
  285. }
  286. }
  287. return $this;
  288. }
  289. /**
  290. * @return Collection|SubscriptionOrder[]
  291. */
  292. public function getSubscriptionOrders(): Collection
  293. {
  294. return $this->subscriptionOrders;
  295. }
  296. public function addSubscriptionOrder(SubscriptionOrder $subscriptionOrder): self
  297. {
  298. if ( ! $this->subscriptionOrders->contains($subscriptionOrder)) {
  299. $this->subscriptionOrders[] = $subscriptionOrder;
  300. $subscriptionOrder->setTeacher($this);
  301. }
  302. return $this;
  303. }
  304. public function removeSubscriptionOrder(SubscriptionOrder $subscriptionOrder): self
  305. {
  306. if ($this->subscriptionOrders->contains($subscriptionOrder)) {
  307. $this->subscriptionOrders->removeElement($subscriptionOrder);
  308. // set the owning side to null (unless already changed)
  309. if ($subscriptionOrder->getTeacher() === $this) {
  310. $subscriptionOrder->setTeacher(null);
  311. }
  312. }
  313. return $this;
  314. }
  315. public function getForChildren(): ?bool
  316. {
  317. return $this->forChildren;
  318. }
  319. public function setForChildren(?bool $forChildren): self
  320. {
  321. $this->forChildren = $forChildren;
  322. return $this;
  323. }
  324. public function __toString()
  325. {
  326. return $this->getUserId()->getFullname();
  327. }
  328. public function getHourlySalaryWaiting(): ?float
  329. {
  330. return $this->hourlySalaryWaiting;
  331. }
  332. public function setHourlySalaryWaiting(?float $hourlySalaryWaiting): self
  333. {
  334. $this->hourlySalaryWaiting = round($hourlySalaryWaiting, 2);
  335. return $this;
  336. }
  337. /**
  338. * @return Collection|TeacherSubject[]
  339. */
  340. public function getTeacherSubjects(): Collection
  341. {
  342. return $this->teacherSubjects;
  343. }
  344. public function addTeacherSubject(TeacherSubject $teacherSubject): self
  345. {
  346. if ( ! $this->teacherSubjects->contains($teacherSubject)) {
  347. $this->teacherSubjects[] = $teacherSubject;
  348. $teacherSubject->setTeacher($this);
  349. }
  350. return $this;
  351. }
  352. public function removeTeacherSubject(TeacherSubject $teacherSubject): self
  353. {
  354. if ($this->teacherSubjects->contains($teacherSubject)) {
  355. $this->teacherSubjects->removeElement($teacherSubject);
  356. // set the owning side to null (unless already changed)
  357. // if ($teacherSubject->getTeacher() === $this) {
  358. // $teacherSubject->setTeacher(null);
  359. // }
  360. }
  361. return $this;
  362. }
  363. /**
  364. * @return Collection|TeacherSalary[]
  365. */
  366. public function getTeacherSalaries(): Collection
  367. {
  368. return $this->teacherSalaries;
  369. }
  370. public function addTeacherSalary(TeacherSalary $teacherSalary): self
  371. {
  372. if ( ! $this->teacherSalaries->contains($teacherSalary)) {
  373. $this->teacherSalaries[] = $teacherSalary;
  374. $teacherSalary->setTeacher($this);
  375. }
  376. return $this;
  377. }
  378. public function removeTeacherSalary(TeacherSalary $teacherSalary): self
  379. {
  380. if ($this->teacherSalaries->contains($teacherSalary)) {
  381. $this->teacherSalaries->removeElement($teacherSalary);
  382. // set the owning side to null (unless already changed)
  383. if ($teacherSalary->getTeacher() === $this) {
  384. $teacherSalary->setTeacher(null);
  385. }
  386. }
  387. return $this;
  388. }
  389. /**
  390. * @return Collection|Homework[]
  391. */
  392. public function getHomeworks(): Collection
  393. {
  394. return $this->homeworks;
  395. }
  396. public function addHomework(Homework $homework): self
  397. {
  398. if ( ! $this->homeworks->contains($homework)) {
  399. $this->homeworks[] = $homework;
  400. $homework->setCorrectedBy($this);
  401. }
  402. return $this;
  403. }
  404. public function removeHomework(Homework $homework): self
  405. {
  406. if ($this->homeworks->contains($homework)) {
  407. $this->homeworks->removeElement($homework);
  408. // set the owning side to null (unless already changed)
  409. if ($homework->getCorrectedBy() === $this) {
  410. $homework->setCorrectedBy(null);
  411. }
  412. }
  413. return $this;
  414. }
  415. /**
  416. * @return Collection|VideoProgram[]
  417. */
  418. public function getVideoPrograms(): Collection
  419. {
  420. return $this->videoPrograms;
  421. }
  422. public function addVideoProgram(VideoProgram $videoProgram): self
  423. {
  424. if ( ! $this->videoPrograms->contains($videoProgram)) {
  425. $this->videoPrograms[] = $videoProgram;
  426. $videoProgram->setTeacher($this);
  427. }
  428. return $this;
  429. }
  430. public function removeVideoProgram(VideoProgram $videoProgram): self
  431. {
  432. if ($this->videoPrograms->contains($videoProgram)) {
  433. $this->videoPrograms->removeElement($videoProgram);
  434. // set the owning side to null (unless already changed)
  435. if ($videoProgram->getTeacher() === $this) {
  436. $videoProgram->setTeacher(null);
  437. }
  438. }
  439. return $this;
  440. }
  441. /**
  442. * @return Collection|VideoProgram[]
  443. */
  444. public function getVideoProgramsCanTeach(): Collection
  445. {
  446. return $this->videoProgramsCanTeach;
  447. }
  448. public function addVideoProgramsCanTeach(VideoProgram $videoProgramsCanTeach): self
  449. {
  450. if ( ! $this->videoProgramsCanTeach->contains($videoProgramsCanTeach)) {
  451. $this->videoProgramsCanTeach[] = $videoProgramsCanTeach;
  452. $videoProgramsCanTeach->addTeacherForLesson($this);
  453. }
  454. return $this;
  455. }
  456. public function removeVideoProgramsCanTeach(VideoProgram $videoProgramsCanTeach): self
  457. {
  458. if ($this->videoProgramsCanTeach->contains($videoProgramsCanTeach)) {
  459. $this->videoProgramsCanTeach->removeElement($videoProgramsCanTeach);
  460. $videoProgramsCanTeach->removeTeacherForLesson($this);
  461. }
  462. return $this;
  463. }
  464. /**
  465. * @return Collection|VideoDividend[]
  466. */
  467. public function getVideoDividends(): Collection
  468. {
  469. return $this->videoDividends;
  470. }
  471. public function addVideoDividend(VideoDividend $videoDividend): self
  472. {
  473. if ( ! $this->videoDividends->contains($videoDividend)) {
  474. $this->videoDividends[] = $videoDividend;
  475. $videoDividend->setTeacher($this);
  476. }
  477. return $this;
  478. }
  479. public function removeVideoDividend(VideoDividend $videoDividend): self
  480. {
  481. if ($this->videoDividends->contains($videoDividend)) {
  482. $this->videoDividends->removeElement($videoDividend);
  483. // set the owning side to null (unless already changed)
  484. if ($videoDividend->getTeacher() === $this) {
  485. $videoDividend->setTeacher(null);
  486. }
  487. }
  488. return $this;
  489. }
  490. public function getSlackChannel(): ?string
  491. {
  492. return $this->slackChannel;
  493. }
  494. public function setSlackChannel(?string $slackChannel): self
  495. {
  496. if ( ! empty($slackChannel) && substr($slackChannel, 0, 1) !== '#') {
  497. $slackChannel = '#'.$slackChannel;
  498. }
  499. $this->slackChannel = $slackChannel;
  500. return $this;
  501. }
  502. public function getIban(): ?string
  503. {
  504. return $this->iban;
  505. }
  506. public function setIban(?string $iban): self
  507. {
  508. $this->iban = $iban;
  509. return $this;
  510. }
  511. public function getAddress(): ?string
  512. {
  513. return $this->address;
  514. }
  515. public function setAddress(?string $address): self
  516. {
  517. $this->address = $address;
  518. return $this;
  519. }
  520. public function getCity(): ?string
  521. {
  522. return $this->city;
  523. }
  524. public function setCity(?string $city): self
  525. {
  526. $this->city = $city;
  527. return $this;
  528. }
  529. public function getZipCode(): ?int
  530. {
  531. return $this->zipCode;
  532. }
  533. public function setZipCode(?int $zipCode): self
  534. {
  535. $this->zipCode = $zipCode;
  536. return $this;
  537. }
  538. public function getCountry(): ?string
  539. {
  540. return $this->country;
  541. }
  542. public function setCountry(?string $country): self
  543. {
  544. $this->country = $country;
  545. return $this;
  546. }
  547. public function getIsActif(): ?bool
  548. {
  549. return $this->isActif;
  550. }
  551. public function setIsActif(?bool $isActif): self
  552. {
  553. $this->isActif = $isActif;
  554. return $this;
  555. }
  556. public function getIsLevelTest(): ?bool
  557. {
  558. return $this->isLevelTest;
  559. }
  560. public function setIsLevelTest(?bool $isLevelTest): self
  561. {
  562. $this->isLevelTest = $isLevelTest;
  563. return $this;
  564. }
  565. public function getIsCamera(): ?bool
  566. {
  567. return $this->isCamera;
  568. }
  569. public function setIsCamera(?bool $isCamera): self
  570. {
  571. $this->isCamera = $isCamera;
  572. return $this;
  573. }
  574. /**
  575. * @return Collection|TrainingReport[]
  576. */
  577. public function getTrainingReports(): Collection
  578. {
  579. return $this->trainingReports;
  580. }
  581. public function addTrainingReport(TrainingReport $trainingReport): self
  582. {
  583. if (!$this->trainingReports->contains($trainingReport)) {
  584. $this->trainingReports[] = $trainingReport;
  585. $trainingReport->setTeacher($this);
  586. }
  587. return $this;
  588. }
  589. public function removeTrainingReport(TrainingReport $trainingReport): self
  590. {
  591. if ($this->trainingReports->removeElement($trainingReport)) {
  592. // set the owning side to null (unless already changed)
  593. if ($trainingReport->getTeacher() === $this) {
  594. $trainingReport->setTeacher(null);
  595. }
  596. }
  597. return $this;
  598. }
  599. public function getAddonForArabic(): ?float
  600. {
  601. return $this->addonForArabic;
  602. }
  603. public function setAddonForArabic(?float $addonForArabic): self
  604. {
  605. $this->addonForArabic = round($addonForArabic, 2);
  606. return $this;
  607. }
  608. public function getAddonForQuran(): ?float
  609. {
  610. return $this->addonForQuran;
  611. }
  612. public function setAddonForQuran(?float $addonForQuran): self
  613. {
  614. $this->addonForQuran = round($addonForQuran, 2);
  615. return $this;
  616. }
  617. public function getAddonForChildren(): ?float
  618. {
  619. return $this->addonForChildren;
  620. }
  621. public function setAddonForChildren(?float $addonForChildren): self
  622. {
  623. $this->addonForChildren = round($addonForChildren, 2);
  624. return $this;
  625. }
  626. public function getIsBeginner(): ?bool
  627. {
  628. return $this->isBeginner;
  629. }
  630. public function setIsBeginner(?bool $isBeginner): self
  631. {
  632. $this->isBeginner = $isBeginner;
  633. return $this;
  634. }
  635. public function getIsIntermediate(): ?bool
  636. {
  637. return $this->isIntermediate;
  638. }
  639. public function setIsIntermediate(?bool $isIntermediate): self
  640. {
  641. $this->isIntermediate = $isIntermediate;
  642. return $this;
  643. }
  644. public function getIsAdvanced(): ?bool
  645. {
  646. return $this->isAdvanced;
  647. }
  648. public function setIsAdvanced(?bool $isAdvanced): self
  649. {
  650. $this->isAdvanced = $isAdvanced;
  651. return $this;
  652. }
  653. public function getCurrency(): ?string
  654. {
  655. return $this->currency;
  656. }
  657. public function setCurrency(?string $currency): self
  658. {
  659. $this->currency = $currency;
  660. return $this;
  661. }
  662. /**
  663. * @return Collection<int, MainTeacherSalary>
  664. */
  665. public function getMainTeacherSalaries(): Collection
  666. {
  667. return $this->mainTeacherSalaries;
  668. }
  669. public function addMainTeacherSalary(MainTeacherSalary $mainTeacherSalary): self
  670. {
  671. if (!$this->mainTeacherSalaries->contains($mainTeacherSalary)) {
  672. $this->mainTeacherSalaries[] = $mainTeacherSalary;
  673. $mainTeacherSalary->setTeacher($this);
  674. }
  675. return $this;
  676. }
  677. public function removeMainTeacherSalary(MainTeacherSalary $mainTeacherSalary): self
  678. {
  679. if ($this->mainTeacherSalaries->removeElement($mainTeacherSalary)) {
  680. // set the owning side to null (unless already changed)
  681. if ($mainTeacherSalary->getTeacher() === $this) {
  682. $mainTeacherSalary->setTeacher(null);
  683. }
  684. }
  685. return $this;
  686. }
  687. /**
  688. * @return Collection<int, TeacherLeveltest>
  689. */
  690. public function getTeacherLeveltests(): Collection
  691. {
  692. return $this->teacherLeveltests;
  693. }
  694. public function addTeacherLeveltest(TeacherLeveltest $teacherLeveltest): self
  695. {
  696. if (!$this->teacherLeveltests->contains($teacherLeveltest)) {
  697. $this->teacherLeveltests[] = $teacherLeveltest;
  698. $teacherLeveltest->setTeacher($this);
  699. }
  700. return $this;
  701. }
  702. public function removeTeacherLeveltest(TeacherLeveltest $teacherLeveltest): self
  703. {
  704. if ($this->teacherLeveltests->removeElement($teacherLeveltest)) {
  705. // set the owning side to null (unless already changed)
  706. if ($teacherLeveltest->getTeacher() === $this) {
  707. $teacherLeveltest->setTeacher(null);
  708. }
  709. }
  710. return $this;
  711. }
  712. public function updateSubjects(): void
  713. {
  714. foreach ($this->getTeacherSubjects() as $teacherSubject) {
  715. if ($teacherSubject->getSubject()->getCategory()->getId() == 1) {
  716. $teacherSubject->setQiraa(null);
  717. }
  718. if ($teacherSubject->getSubject()->getCategory()->getId() == 2) {
  719. $teacherSubject->setFromLevel(null);
  720. $teacherSubject->setToLevel(null);
  721. }
  722. }
  723. }
  724. public function getQiraa(): ?Qiraa
  725. {
  726. return $this->Qiraa;
  727. }
  728. public function setQiraa(?Qiraa $Qiraa): self
  729. {
  730. $this->Qiraa = $Qiraa;
  731. return $this;
  732. }
  733. public function getGroupSalary(): ?float
  734. {
  735. return $this->groupSalary;
  736. }
  737. public function setGroupSalary(?float $groupSalary): self
  738. {
  739. $this->groupSalary = $groupSalary;
  740. return $this;
  741. }
  742. public function getGroupWaitingSalary(): ?float
  743. {
  744. return $this->groupWaitingSalary;
  745. }
  746. public function setGroupWaitingSalary(?float $groupWaitingSalary): self
  747. {
  748. $this->groupWaitingSalary = $groupWaitingSalary;
  749. return $this;
  750. }
  751. }