src/Entity/RecruitVacancy.php line 15

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\RecruitVacancyRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\DBAL\Types\Types;
  7. use Doctrine\ORM\Mapping as ORM;
  8. use DateTime;
  9. use Symfony\Component\Serializer\Annotation\Groups;
  10. use Symfony\Component\Serializer\Annotation\MaxDepth;
  11. #[ORM\Entity(repositoryClassRecruitVacancyRepository::class)]
  12. class RecruitVacancy
  13. {
  14.     #[ORM\Id]
  15.     #[ORM\GeneratedValue]
  16.     #[ORM\Column]
  17.     #[Groups(['Recruitment'])]
  18.     private ?int $id null;
  19.     #[ORM\Column(length255)]
  20.     #[Groups(['Recruitment'])]
  21.     private ?string $title null;
  22.     #[ORM\Column(length255)]
  23.     #[Groups(['Recruitment'])]
  24.     private ?string $workplaceType null;
  25.     #[ORM\Column(length255)]
  26.     #[Groups(['Recruitment'])]
  27.     private ?string $employmentType null;
  28.     #[ORM\Column(length255)]
  29.     #[Groups(['Recruitment'])]
  30.     private ?string $reasonForHiring null;
  31.     #[ORM\Column(length255)]
  32.     #[Groups(['Recruitment'])]
  33.     private ?string $status null;
  34.     #[ORM\Column(length255)]
  35.     #[Groups(['Recruitment'])]
  36.     private ?string $seniorityLevel null;
  37.     #[ORM\Column(typeTypes::DATETIME_MUTABLEnullabletrue)]
  38.     #[Groups(['Recruitment'])]
  39.     private ?DateTime $startDate null;
  40.     #[ORM\Column(typeTypes::DATETIME_MUTABLEnullabletrue)]
  41.     #[Groups(['Recruitment'])]
  42.     private ?DateTime $endDate null;
  43.     #[ORM\Column]
  44.     #[Groups(['Recruitment'])]
  45.     private ?int $estimatedSalary null;
  46.     #[ORM\Column(length2000nullabletrue)]
  47.     #[Groups(['Recruitment'])]
  48.     private ?string $comments null;
  49.     #[ORM\Column(type'text'nullabletrue)]
  50.     #[Groups(['Recruitment'])]
  51.     private ?string $scopeOfWork null;
  52.     #[ORM\Column]
  53.     #[Groups(['Recruitment'])]
  54.     private ?bool $displayOnWebsite null;
  55.     #[ORM\Column]
  56.     #[Groups(['Recruitment'])]
  57.     private ?int $estimatedMonthlyRevenue null;
  58.     #[ORM\OneToMany(mappedBy'vacancyId'targetEntityRecruitApplication::class, orphanRemovaltrue)]
  59.     #[Groups(['Recruitment'])]
  60.     private Collection $applications;
  61.     #[ORM\OneToMany(mappedBy'vacancy'targetEntityRecruitSkillVacancy::class, orphanRemovaltruecascade: ['persist'])]
  62.     #[Groups(['Recruitment'])]
  63.     private Collection $recruitSkillVacancies;
  64.     #[ORM\OneToMany(mappedBy'vacancy'targetEntityRecruitVacancyLanguage::class, orphanRemovaltruecascade: ['persist'])]
  65.     #[Groups(['Recruitment'])]
  66.     private Collection $recruitVacancyLanguages;
  67.     #[ORM\Column(nullabletrue)]
  68.     #[Groups(['Recruitment'])]
  69.     private ?\DateTimeImmutable $createdAt null;
  70.     #[ORM\OneToMany(mappedBy'vacancy'targetEntityRecruitVacancyHiringmanager::class, orphanRemovaltruecascade: ['persist'])]
  71.     #[Groups(['Recruitment'])]
  72.     private Collection $recruitVacancyHiringmanagers;
  73.     #[ORM\OneToMany(mappedBy'vacancy'targetEntityRecruitVacancyDepartment::class, orphanRemovaltruecascade: ['persist'])]
  74.     #[Groups(['Recruitment'])]
  75.     private Collection $recruitVacancyDepartments;
  76.     #[ORM\OneToMany(mappedBy'vacancy'targetEntityRecruitVacancyOffice::class, orphanRemovaltruecascade: ['persist'])]
  77.     #[Groups(['Recruitment'])]
  78.     private Collection $recruitVacancyOffices;
  79.     #[ORM\OneToMany(mappedBy'vacancy'targetEntityRecruitVacancyClient::class, orphanRemovaltruecascade: ['persist'])]
  80.     #[Groups(['Recruitment'])]
  81.     private Collection $recruitVacancyClients;
  82.     #[ORM\OneToMany(mappedBy'vacancy'targetEntityRecruitVacancyApprover::class, orphanRemovaltruecascade: ['persist'])]
  83.     #[Groups(['Recruitment'])]
  84.     private Collection $recruitVacancyApprovers;
  85.     #[ORM\ManyToOne(inversedBy'recruitVacancies')]
  86.     private ?User $createdBy null;
  87.     #[ORM\OneToMany(mappedBy'vacancy'targetEntityRecruitTrackingLink::class, orphanRemovaltruecascade: ['persist'])]
  88.     #[Groups(['Recruitment'])]
  89.     private Collection $recruitTrackingLinks;
  90.     #[ORM\OneToMany(mappedBy'vacancy'targetEntityRecruitQuestionVacancy::class, orphanRemovaltruecascade: ['persist'])]
  91.     private Collection $recruitQuestionVacancies;
  92.     #[ORM\Column(nullabletrue)]
  93.     private ?int $headcountToManage null;
  94.     #[ORM\ManyToOne(targetEntityRecruitEvaluationTemplate::class, inversedBy'recruitVacancies')]
  95.     #[ORM\JoinColumn(nullabletrueonDelete'SET NULL')]
  96.     private ?RecruitEvaluationTemplate $evaluationTemplate null;
  97.     #[ORM\OneToMany(mappedBy'vacancy'targetEntityRecruitVacancyEvaluationSkill::class, orphanRemovaltruecascade: ['persist'])]
  98.     private Collection $recruitVacancyEvaluationSkills;
  99.     #[ORM\OneToMany(mappedBy'vacancy'targetEntityRecruitVacancyHistory::class, orphanRemovaltruecascade: ['persist'])]
  100.     private Collection $histories;
  101.     #[ORM\Column(length255nullabletrue)]
  102.     private ?string $comment null;
  103.     #[ORM\Column(nullabletrue)]
  104.     private ?int $budgetForBoosting null;
  105.     #[ORM\ManyToOne(inversedBy'hmRecruitVacancies')]
  106.     private ?RecruitEvaluationTemplate $hmEvaluationTemplate null;
  107.     public function __construct()
  108.     {
  109.         $this->createdAt = new \DateTimeImmutable();
  110.         $this->applications = new ArrayCollection();
  111.         $this->recruitSkillVacancies = new ArrayCollection();
  112.         $this->recruitVacancyLanguages = new ArrayCollection();
  113.         $this->recruitVacancyHiringmanagers = new ArrayCollection();
  114.         $this->recruitVacancyDepartments = new ArrayCollection();
  115.         $this->recruitVacancyOffices = new ArrayCollection();
  116.         $this->recruitVacancyClients = new ArrayCollection();
  117.         $this->recruitVacancyApprovers = new ArrayCollection();
  118.         $this->recruitTrackingLinks = new ArrayCollection();
  119.         $this->recruitQuestionVacancies = new ArrayCollection();
  120.         $this->recruitVacancyEvaluationSkills = new ArrayCollection();
  121.         $this->histories = new ArrayCollection();
  122.     }
  123.     public function getId(): ?int
  124.     {
  125.         return $this->id;
  126.     }
  127.     public function getTitle(): ?string
  128.     {
  129.         return $this->title;
  130.     }
  131.     public function setTitle(string $title): self
  132.     {
  133.         $this->title $title;
  134.         return $this;
  135.     }
  136.     public function getWorkplaceType(): ?string
  137.     {
  138.         return $this->workplaceType;
  139.     }
  140.     public function setWorkplaceType(string $workplaceType): self
  141.     {
  142.         $this->workplaceType $workplaceType;
  143.         return $this;
  144.     }
  145.     public function getEmploymentType(): ?string
  146.     {
  147.         return $this->employmentType;
  148.     }
  149.     public function setEmploymentType(string $employmentType): self
  150.     {
  151.         $this->employmentType $employmentType;
  152.         return $this;
  153.     }
  154.     public function getReasonForHiring(): ?string
  155.     {
  156.         return $this->reasonForHiring;
  157.     }
  158.     public function setReasonForHiring(string $reasonForHiring): self
  159.     {
  160.         $this->reasonForHiring $reasonForHiring;
  161.         return $this;
  162.     }
  163.     public function getStatus(): ?string
  164.     {
  165.         return $this->status;
  166.     }
  167.     public function setStatus(string $status): self
  168.     {
  169.         $this->status $status;
  170.         return $this;
  171.     }
  172.     public function getSeniorityLevel(): ?string
  173.     {
  174.         return $this->seniorityLevel;
  175.     }
  176.     public function setSeniorityLevel(string $seniorityLevel): self
  177.     {
  178.         $this->seniorityLevel $seniorityLevel;
  179.         return $this;
  180.     }
  181.     public function getStartDate(): ?\DateTimeInterface
  182.     {
  183.         return $this->startDate;
  184.     }
  185.     public function setStartDate(string $startDate): self
  186.     {
  187.         $this->startDate = new DateTime($startDate);
  188.         return $this;
  189.     }
  190.     public function getEndDate(): ?\DateTimeInterface
  191.     {
  192.         return $this->endDate;
  193.     }
  194.     public function setEndDate(string $endDate): self
  195.     {
  196.         $this->endDate = new DateTime($endDate);
  197.         return $this;
  198.     }
  199.     public function getEstimatedSalary(): ?int
  200.     {
  201.         return $this->estimatedSalary;
  202.     }
  203.     public function setEstimatedSalary(int $estimatedSalary): self
  204.     {
  205.         $this->estimatedSalary $estimatedSalary;
  206.         return $this;
  207.     }
  208.     public function getComments(): ?string
  209.     {
  210.         return $this->comments;
  211.     }
  212.     public function setComments(?string $comments): self
  213.     {
  214.         $this->comments $comments;
  215.         return $this;
  216.     }
  217.     public function getScopeOfWork(): ?string
  218.     {
  219.         return $this->scopeOfWork;
  220.     }
  221.     public function setScopeOfWork(?string $scopeOfWork): self
  222.     {
  223.         $this->scopeOfWork $scopeOfWork;
  224.         return $this;
  225.     }
  226.     public function isDisplayOnWebsite(): ?bool
  227.     {
  228.         return $this->displayOnWebsite;
  229.     }
  230.     public function setDisplayOnWebsite(bool $displayOnWebsite): self
  231.     {
  232.         $this->displayOnWebsite $displayOnWebsite;
  233.         return $this;
  234.     }
  235.     public function getEstimatedMonthlyRevenue(): ?int
  236.     {
  237.         return $this->estimatedMonthlyRevenue;
  238.     }
  239.     public function setEstimatedMonthlyRevenue(int $estimatedMonthlyRevenue): self
  240.     {
  241.         $this->estimatedMonthlyRevenue $estimatedMonthlyRevenue;
  242.         return $this;
  243.     }
  244.     /**
  245.      * @return Collection<int, RecruitApplication>
  246.      */
  247.     public function getApplications(): Collection
  248.     {
  249.         return $this->applications;
  250.     }
  251.     public function addApplication(RecruitApplication $application): self
  252.     {
  253.         if (!$this->applications->contains($application)) {
  254.             $this->applications->add($application);
  255.             $application->setVacancyId($this);
  256.         }
  257.         return $this;
  258.     }
  259.     public function removeApplication(RecruitApplication $application): self
  260.     {
  261.         if ($this->applications->removeElement($application)) {
  262.             // set the owning side to null (unless already changed)
  263.             if ($application->getVacancyId() === $this) {
  264.                 $application->setVacancyId(null);
  265.             }
  266.         }
  267.         return $this;
  268.     }
  269.     /**
  270.      * @return Collection<int, RecruitSkillVacancy>
  271.      */
  272.     public function getRecruitSkillVacancies(): Collection
  273.     {
  274.         return $this->recruitSkillVacancies;
  275.     }
  276.     public function addRecruitSkillVacancy(RecruitSkillVacancy $recruitSkillVacancy): self
  277.     {
  278.         if (!$this->recruitSkillVacancies->contains($recruitSkillVacancy)) {
  279.             $this->recruitSkillVacancies->add($recruitSkillVacancy);
  280.             $recruitSkillVacancy->setVacancy($this);
  281.         }
  282.         return $this;
  283.     }
  284.     public function removeRecruitSkillVacancy(RecruitSkillVacancy $recruitSkillVacancy): self
  285.     {
  286.         if ($this->recruitSkillVacancies->removeElement($recruitSkillVacancy)) {
  287.             // set the owning side to null (unless already changed)
  288.             if ($recruitSkillVacancy->getVacancy() === $this) {
  289.                 $recruitSkillVacancy->setVacancy(null);
  290.             }
  291.         }
  292.         return $this;
  293.     }
  294.     /**
  295.      * @return Collection<int, RecruitVacancyLanguage>
  296.      */
  297.     public function getRecruitVacancyLanguages(): Collection
  298.     {
  299.         return $this->recruitVacancyLanguages;
  300.     }
  301.     public function addRecruitVacancyLanguage(RecruitVacancyLanguage $recruitVacancyLanguage): self
  302.     {
  303.         if (!$this->recruitVacancyLanguages->contains($recruitVacancyLanguage)) {
  304.             $this->recruitVacancyLanguages->add($recruitVacancyLanguage);
  305.             $recruitVacancyLanguage->setVacancy($this);
  306.         }
  307.         return $this;
  308.     }
  309.     public function removeRecruitVacancyLanguage(RecruitVacancyLanguage $recruitVacancyLanguage): self
  310.     {
  311.         if ($this->recruitVacancyLanguages->removeElement($recruitVacancyLanguage)) {
  312.             // set the owning side to null (unless already changed)
  313.             if ($recruitVacancyLanguage->getVacancy() === $this) {
  314.                 $recruitVacancyLanguage->setVacancy(null);
  315.             }
  316.         }
  317.         return $this;
  318.     }
  319.     public function getCreatedAt(): ?\DateTimeImmutable
  320.     {
  321.         return $this->createdAt;
  322.     }
  323.     public function setCreatedAt(\DateTimeImmutable $createdAt): self
  324.     {
  325.         $this->createdAt $createdAt;
  326.         return $this;
  327.     }
  328.     /**
  329.      * @return Collection<int, RecruitVacancyHiringmanager>
  330.      */
  331.     public function getRecruitVacancyHiringmanagers(): Collection
  332.     {
  333.         return $this->recruitVacancyHiringmanagers;
  334.     }
  335.     public function addRecruitVacancyHiringmanager(RecruitVacancyHiringmanager $recruitVacancyHiringmanager): self
  336.     {
  337.         if (!$this->recruitVacancyHiringmanagers->contains($recruitVacancyHiringmanager)) {
  338.             $this->recruitVacancyHiringmanagers->add($recruitVacancyHiringmanager);
  339.             $recruitVacancyHiringmanager->setVacancy($this);
  340.         }
  341.         return $this;
  342.     }
  343.     public function removeRecruitVacancyHiringmanager(RecruitVacancyHiringmanager $recruitVacancyHiringmanager): self
  344.     {
  345.         if ($this->recruitVacancyHiringmanagers->removeElement($recruitVacancyHiringmanager)) {
  346.             // set the owning side to null (unless already changed)
  347.             if ($recruitVacancyHiringmanager->getVacancy() === $this) {
  348.                 $recruitVacancyHiringmanager->setVacancy(null);
  349.             }
  350.         }
  351.         return $this;
  352.     }
  353.     public function removeAllRecruitVacancyHiringmanager(): self
  354.     {
  355.         $this->recruitVacancyHiringmanagers = new ArrayCollection();
  356.         return $this;
  357.     }
  358.     /**
  359.      * @return Collection<int, RecruitVacancyDepartment>
  360.      */
  361.     public function getRecruitVacancyDepartments(): Collection
  362.     {
  363.         return $this->recruitVacancyDepartments;
  364.     }
  365.     public function addRecruitVacancyDepartment(RecruitVacancyDepartment $recruitVacancyDepartment): self
  366.     {
  367.         if (!$this->recruitVacancyDepartments->contains($recruitVacancyDepartment)) {
  368.             $this->recruitVacancyDepartments->add($recruitVacancyDepartment);
  369.             $recruitVacancyDepartment->setVacancy($this);
  370.         }
  371.         return $this;
  372.     }
  373.     public function removeRecruitVacancyDepartment(RecruitVacancyDepartment $recruitVacancyDepartment): self
  374.     {
  375.         if ($this->recruitVacancyDepartments->removeElement($recruitVacancyDepartment)) {
  376.             // set the owning side to null (unless already changed)
  377.             if ($recruitVacancyDepartment->getVacancy() === $this) {
  378.                 $recruitVacancyDepartment->setVacancy(null);
  379.             }
  380.         }
  381.         return $this;
  382.     }
  383.     /**
  384.      * @return Collection<int, RecruitVacancyOffice>
  385.      */
  386.     public function getRecruitVacancyOffices(): Collection
  387.     {
  388.         return $this->recruitVacancyOffices;
  389.     }
  390.     public function addRecruitVacancyOffice(RecruitVacancyOffice $recruitVacancyOffice): self
  391.     {
  392.         if (!$this->recruitVacancyOffices->contains($recruitVacancyOffice)) {
  393.             $this->recruitVacancyOffices->add($recruitVacancyOffice);
  394.             $recruitVacancyOffice->setVacancy($this);
  395.         }
  396.         return $this;
  397.     }
  398.     public function removeRecruitVacancyOffice(RecruitVacancyOffice $recruitVacancyOffice): self
  399.     {
  400.         if ($this->recruitVacancyOffices->removeElement($recruitVacancyOffice)) {
  401.             // set the owning side to null (unless already changed)
  402.             if ($recruitVacancyOffice->getVacancy() === $this) {
  403.                 $recruitVacancyOffice->setVacancy(null);
  404.             }
  405.         }
  406.         return $this;
  407.     }
  408.     /**
  409.      * @return Collection<int, RecruitVacancyClient>
  410.      */
  411.     public function getRecruitVacancyClients(): Collection
  412.     {
  413.         return $this->recruitVacancyClients;
  414.     }
  415.     public function addRecruitVacancyClient(RecruitVacancyClient $recruitVacancyClient): self
  416.     {
  417.         if (!$this->recruitVacancyClients->contains($recruitVacancyClient)) {
  418.             $this->recruitVacancyClients->add($recruitVacancyClient);
  419.             $recruitVacancyClient->setVacancy($this);
  420.         }
  421.         return $this;
  422.     }
  423.     public function removeRecruitVacancyClient(RecruitVacancyClient $recruitVacancyClient): self
  424.     {
  425.         if ($this->recruitVacancyClients->removeElement($recruitVacancyClient)) {
  426.             // set the owning side to null (unless already changed)
  427.             if ($recruitVacancyClient->getVacancy() === $this) {
  428.                 $recruitVacancyClient->setVacancy(null);
  429.             }
  430.         }
  431.         return $this;
  432.     }
  433.     /**
  434.      * @return Collection<int, RecruitVacancyApprover>
  435.      */
  436.     public function getRecruitVacancyApprovers(): Collection
  437.     {
  438.         return $this->recruitVacancyApprovers;
  439.     }
  440.     public function addRecruitVacancyApprover(RecruitVacancyApprover $recruitVacancyApprover): self
  441.     {
  442.         if (!$this->recruitVacancyApprovers->contains($recruitVacancyApprover)) {
  443.             $this->recruitVacancyApprovers->add($recruitVacancyApprover);
  444.             $recruitVacancyApprover->setVacancy($this);
  445.         }
  446.         return $this;
  447.     }
  448.     public function removeRecruitVacancyApprover(RecruitVacancyApprover $recruitVacancyApprover): self
  449.     {
  450.         if ($this->recruitVacancyApprovers->removeElement($recruitVacancyApprover)) {
  451.             // set the owning side to null (unless already changed)
  452.             if ($recruitVacancyApprover->getVacancy() === $this) {
  453.                 $recruitVacancyApprover->setVacancy(null);
  454.             }
  455.         }
  456.         return $this;
  457.     }
  458.     public function getCreatedBy(): ?User
  459.     {
  460.         return $this->createdBy;
  461.     }
  462.     public function setCreatedBy(?User $createdBy): self
  463.     {
  464.         $this->createdBy $createdBy;
  465.         return $this;
  466.     }
  467.     public function duplicateWithRelations()
  468.     {
  469.         $newVacancy = clone $this;
  470.         // Reset collections for the new vacancy
  471.         $newVacancy->createdAt = new \DateTimeImmutable();
  472.         $newVacancy->applications = new ArrayCollection();
  473.         $newVacancy->recruitSkillVacancies = new ArrayCollection();
  474.         $newVacancy->recruitVacancyLanguages = new ArrayCollection();
  475.         $newVacancy->recruitVacancyHiringmanagers = new ArrayCollection();
  476.         $newVacancy->recruitVacancyDepartments = new ArrayCollection();
  477.         $newVacancy->recruitVacancyOffices = new ArrayCollection();
  478.         $newVacancy->recruitVacancyClients = new ArrayCollection();
  479.         $newVacancy->recruitVacancyApprovers = new ArrayCollection();
  480.         // Duplicate and add related skill vacancies
  481.         foreach ($this->recruitSkillVacancies as $skillVacancy) {
  482.             $newSkillVacancy = clone $skillVacancy;
  483.             $newVacancy->addRecruitSkillVacancy($newSkillVacancy);
  484.         }
  485.         // Duplicate and add related languages
  486.         foreach ($this->recruitVacancyLanguages as $language) {
  487.             $newLanguage = clone $language;
  488.             $newVacancy->addRecruitVacancyLanguage($newLanguage);
  489.         }
  490.         // Duplicate and add related hiring managers
  491.         foreach ($this->recruitVacancyHiringmanagers as $hiringManager) {
  492.             $newHiringManager = clone $hiringManager;
  493.             $newVacancy->addRecruitVacancyHiringmanager($newHiringManager);
  494.         }
  495.         // Duplicate and add related departments
  496.         foreach ($this->recruitVacancyDepartments as $department) {
  497.             $newDepartment = clone $department;
  498.             $newVacancy->addRecruitVacancyDepartment($newDepartment);
  499.         }
  500.         // Duplicate and add related offices
  501.         foreach ($this->recruitVacancyOffices as $office) {
  502.             $newOffice = clone $office;
  503.             $newVacancy->addRecruitVacancyOffice($newOffice);
  504.         }
  505.         // Duplicate and add related clients
  506.         foreach ($this->recruitVacancyClients as $client) {
  507.             $newClient = clone $client;
  508.             $newVacancy->addRecruitVacancyClient($newClient);
  509.         }
  510.         // Duplicate and add related approvers
  511.         foreach ($this->recruitVacancyApprovers as $approver) {
  512.             $newApprover = clone $approver;
  513.             $newVacancy->addRecruitVacancyApprover($newApprover);
  514.         }
  515.         return $newVacancy;
  516.     }
  517.     /**
  518.      * @return Collection<int, RecruitTrackingLink>
  519.      */
  520.     public function getRecruitTrackingLinks(): Collection
  521.     {
  522.         return $this->recruitTrackingLinks;
  523.     }
  524.     public function addRecruitTrackingLink(RecruitTrackingLink $recruitTrackingLink): self
  525.     {
  526.         if (!$this->recruitTrackingLinks->contains($recruitTrackingLink)) {
  527.             $this->recruitTrackingLinks->add($recruitTrackingLink);
  528.             $recruitTrackingLink->setVacancy($this);
  529.         }
  530.         return $this;
  531.     }
  532.     public function removeRecruitTrackingLink(RecruitTrackingLink $recruitTrackingLink): self
  533.     {
  534.         if ($this->recruitTrackingLinks->removeElement($recruitTrackingLink)) {
  535.             // set the owning side to null (unless already changed)
  536.             if ($recruitTrackingLink->getVacancy() === $this) {
  537.                 $recruitTrackingLink->setVacancy(null);
  538.             }
  539.         }
  540.         return $this;
  541.     }
  542.     /**
  543.      * @return Collection<int, RecruitQuestionVacancy>
  544.      */
  545.     public function getRecruitQuestionVacancies(): Collection
  546.     {
  547.         return $this->recruitQuestionVacancies;
  548.     }
  549.     public function addRecruitQuestionVacancy(RecruitQuestionVacancy $recruitQuestionVacancy): self
  550.     {
  551.         if (!$this->recruitQuestionVacancies->contains($recruitQuestionVacancy)) {
  552.             $this->recruitQuestionVacancies->add($recruitQuestionVacancy);
  553.             $recruitQuestionVacancy->setVacancy($this);
  554.         }
  555.         return $this;
  556.     }
  557.     public function removeRecruitQuestionVacancy(RecruitQuestionVacancy $recruitQuestionVacancy): self
  558.     {
  559.         if ($this->recruitQuestionVacancies->removeElement($recruitQuestionVacancy)) {
  560.             // set the owning side to null (unless already changed)
  561.             if ($recruitQuestionVacancy->getVacancy() === $this) {
  562.                 $recruitQuestionVacancy->setVacancy(null);
  563.             }
  564.         }
  565.         return $this;
  566.     }
  567.     public function getHeadcountToManage(): ?int
  568.     {
  569.         return $this->headcountToManage;
  570.     }
  571.     public function setHeadcountToManage(?int $headcountToManage): self
  572.     {
  573.         $this->headcountToManage $headcountToManage;
  574.         return $this;
  575.     }
  576.     public function getEvaluationTemplate(): ?RecruitEvaluationTemplate
  577.     {
  578.         return $this->evaluationTemplate;
  579.     }
  580.     public function setEvaluationTemplate(?RecruitEvaluationTemplate $evaluationTemplate): self
  581.     {
  582.         $this->evaluationTemplate $evaluationTemplate;
  583.         return $this;
  584.     }
  585.     /**
  586.      * @return Collection<int, RecruitVacancyEvaluationSkill>
  587.      */
  588.     public function getRecruitVacancyEvaluationSkills(): Collection
  589.     {
  590.         return $this->recruitVacancyEvaluationSkills;
  591.     }
  592.     public function addRecruitVacancyEvaluationSkill(RecruitVacancyEvaluationSkill $recruitVacancyEvaluationSkill): self
  593.     {
  594.         if (!$this->recruitVacancyEvaluationSkills->contains($recruitVacancyEvaluationSkill)) {
  595.             $this->recruitVacancyEvaluationSkills->add($recruitVacancyEvaluationSkill);
  596.             $recruitVacancyEvaluationSkill->setVacancy($this);
  597.         }
  598.         return $this;
  599.     }
  600.     public function removeRecruitVacancyEvaluationSkill(RecruitVacancyEvaluationSkill $recruitVacancyEvaluationSkill): self
  601.     {
  602.         if ($this->recruitVacancyEvaluationSkills->removeElement($recruitVacancyEvaluationSkill)) {
  603.             // set the owning side to null (unless already changed)
  604.             if ($recruitVacancyEvaluationSkill->getVacancy() === $this) {
  605.                 $recruitVacancyEvaluationSkill->setVacancy(null);
  606.             }
  607.         }
  608.         return $this;
  609.     }
  610.     /**
  611.      * @return Collection<int, RecruitVacancyHistory>
  612.      */
  613.     public function getHistories(): Collection
  614.     {
  615.         return $this->histories;
  616.     }
  617.     public function addHistory(RecruitVacancyHistory $history): self
  618.     {
  619.         if (!$this->histories->contains($history)) {
  620.             $this->histories->add($history);
  621.             $history->setVacancy($this);
  622.         }
  623.         return $this;
  624.     }
  625.     public function removeHistory(RecruitVacancyHistory $history): self
  626.     {
  627.         if ($this->histories->removeElement($history)) {
  628.             // set the owning side to null (unless already changed)
  629.             if ($history->getVacancy() === $this) {
  630.                 $history->setVacancy(null);
  631.             }
  632.         }
  633.         return $this;
  634.     }
  635.     public function getComment(): ?string
  636.     {
  637.         return $this->comment;
  638.     }
  639.     public function setComment(?string $comment): self
  640.     {
  641.         $this->comment $comment;
  642.         return $this;
  643.     }
  644.     public function getBudgetForBoosting(): ?int
  645.     {
  646.         return $this->budgetForBoosting;
  647.     }
  648.     public function setBudgetForBoosting(?int $budgetForBoosting): self
  649.     {
  650.         $this->budgetForBoosting $budgetForBoosting;
  651.         return $this;
  652.     }
  653.     public function getHmEvaluationTemplate(): ?RecruitEvaluationTemplate
  654.     {
  655.         return $this->hmEvaluationTemplate;
  656.     }
  657.     public function setHmEvaluationTemplate(?RecruitEvaluationTemplate $hmEvaluationTemplate): self
  658.     {
  659.         $this->hmEvaluationTemplate $hmEvaluationTemplate;
  660.         return $this;
  661.     }
  662. }