File: /var/www/dvpis2026/dvpis.kaunokolegija.lt/src/Entity/LecturerPlanHistory.php
<?php
namespace App\Entity;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
/**
* LecturerPlanHistory
*/
#[ORM\Table(name: 'lecturer_plan_history')]
#[ORM\Entity(repositoryClass: \App\Repository\LecturerPlanHistoryRepository::class)]
class LecturerPlanHistory
{
#[ORM\Column]
#[ORM\Id]
#[ORM\GeneratedValue]
private ?int $id = null;
/**
* @var int
*/
#[ORM\Column(name: 'student_count', type: 'integer')]
private $studentCount;
/**
* @var int
*/
#[ORM\Column(name: 'theory_hours', type: 'integer', nullable: true)]
private $theoryHours;
/**
* @var int
*/
#[ORM\Column(name: 'practic_group', type: 'integer', nullable: true)]
private $practicGroup;
/**
* @var int
*/
#[ORM\Column(name: 'practic_group1', type: 'integer', nullable: true)]
private $practicGroup1;
/**
* @var int
*/
#[ORM\Column(name: 'practic_group2', type: 'integer', nullable: true)]
private $practicGroup2;
/**
* @var int
*/
#[ORM\Column(name: 'consultation_hours', type: 'integer', nullable: true)]
private $consultationHours;
/**
* @var int
*/
#[ORM\Column(name: 'egzam_hours', type: 'integer', nullable: true)]
private $egzamHours;
/**
* @var int
*/
#[ORM\Column(name: 'score_hours', type: 'decimal', precision: 10, scale: 2, nullable: true)]
private $scoreHours;
/**
* @var int
*/
#[ORM\Column(name: 'prepare_contact_hours', type: 'decimal', precision: 10, scale: 2, nullable: true)]
private $prepareContactHours;
/**
* @var int
*/
#[ORM\Column(name: 'additional_consultation_hours', type: 'decimal', precision: 10, scale: 2, nullable: true)]
private $additionalConsultationHours;
/**
* @var int
*/
#[ORM\Column(name: 'studies_module_description_hours', type: 'decimal', precision: 10, scale: 2, nullable: true)]
private $studiesModuleDescriptionHours;
/**
* @var int
*/
#[ORM\Column(name: 'studies_module_preparation_hours', type: 'decimal', precision: 10, scale: 2, nullable: true)]
private $studiesModulePreparationHours;
/**
* @var int
*/
#[ORM\Column(name: 'studies_module_renew_hours', type: 'decimal', precision: 10, scale: 2, nullable: true)]
private $studiesModuleRenewHours;
/**
* @var string
*/
#[ORM\Column(name: 'description', type: 'text', nullable: true)]
private $description;
/**
* @var bool
*/
#[ORM\Column(name: 'is_not_full_time', type: 'boolean')]
private $isNotFullTime;
#[ORM\JoinColumn(name: 'lecturer_id', referencedColumnName: 'id', nullable: false)]
#[ORM\ManyToOne(targetEntity: Lecturer::class, inversedBy: 'lecturerPlanHistorys')]
private ?Lecturer $lecturer;
#[ORM\JoinColumn(name: 'department_id', referencedColumnName: 'id', nullable: true)]
#[ORM\ManyToOne(targetEntity: Department::class, inversedBy: 'lecturerPlanHistorys')]
private ?Department $lecturerDepartment;
#[ORM\JoinColumn(name: 'lecturer_position_id', referencedColumnName: 'id', nullable: false)]
#[ORM\ManyToOne(targetEntity: LecturerPosition::class, inversedBy: 'lecturerPlanHistorys')]
private ?LecturerPosition $lecturerPosition;
#[ORM\JoinColumn(name: 'finance_source_id', referencedColumnName: 'id', nullable: true)]
#[ORM\ManyToOne(targetEntity: FinanceSource::class, inversedBy: 'lecturerPlanHistorys')]
private ?FinanceSource $lecturerFinance;
/**
* Many Groups have Many Users.
*/
#[ORM\ManyToMany(targetEntity: AcademicGroupPlan::class, mappedBy: 'lecturerPlanHistorys', cascade: ['persist'])]
private Collection $academicGroupPlans;
public function __construct()
{
$this->academicGroupPlans = new ArrayCollection();
}
public function addAcademicGroupPlan(AcademicGroupPlan $academicGroupPlan): static
{
if (!$this->academicGroupPlans->contains($academicGroupPlan)) {
$this->academicGroupPlans->add($academicGroupPlan);
$academicGroupPlan->addLecturerPlanHistory($this);
}
return $this;
}
public function removeAcademicGroupPlan(AcademicGroupPlan $academicGroupPlan): static
{
if ($this->academicGroupPlans->removeElement($academicGroupPlan)) {
$academicGroupPlan->removeLecturerPlanHistory($this);
}
return $this;
}
public function getId(): ?int
{
return $this->id;
}
public function getStudentCount(): ?int
{
return $this->studentCount;
}
public function getTheoryHours(): ?int
{
return $this->theoryHours;
}
public function getPracticGroup(): ?int
{
return $this->practicGroup;
}
public function getPracticGroup1(): ?int
{
return $this->practicGroup1;
}
public function getPracticGroup2(): ?int
{
return $this->practicGroup2;
}
public function getConsultationHours(): ?int
{
return $this->consultationHours;
}
public function getEgzamHours(): ?int
{
return $this->egzamHours;
}
public function getScoreHours(): ?string
{
return $this->scoreHours;
}
public function getPrepareContactHours(): ?string
{
return $this->prepareContactHours;
}
public function getAdditionalConsultationHours(): ?string
{
return $this->additionalConsultationHours;
}
public function getDescription(): ?string
{
return $this->description;
}
public function getLecturer(): ?Lecturer
{
return $this->lecturer;
}
public function getLecturerDepartment(): ?Department
{
return $this->lecturerDepartment;
}
public function getLecturerPosition(): ?LecturerPosition
{
return $this->lecturerPosition;
}
public function getLecturerFinance(): ?FinanceSource
{
return $this->lecturerFinance;
}
/**
* @return Collection<int, AcademicGroupPlan>
*/
public function getAcademicGroupPlans(): Collection
{
return $this->academicGroupPlans;
}
public function setId($id)
{
$this->id = $id;
return $this;
}
public function setStudentCount(int $studentCount): static
{
$this->studentCount = $studentCount;
return $this;
}
public function setTheoryHours(?int $theoryHours): static
{
$this->theoryHours = $theoryHours;
return $this;
}
public function setPracticGroup(?int $practicGroup): static
{
$this->practicGroup = $practicGroup;
return $this;
}
public function setPracticGroup1(?int $practicGroup1): static
{
$this->practicGroup1 = $practicGroup1;
return $this;
}
public function setPracticGroup2(?int $practicGroup2): static
{
$this->practicGroup2 = $practicGroup2;
return $this;
}
public function setConsultationHours(?int $consultationHours): static
{
$this->consultationHours = $consultationHours;
return $this;
}
public function setEgzamHours(?int $egzamHours): static
{
$this->egzamHours = $egzamHours;
return $this;
}
public function setScoreHours(?string $scoreHours): static
{
$this->scoreHours = $scoreHours;
return $this;
}
public function setPrepareContactHours(?string $prepareContactHours): static
{
$this->prepareContactHours = $prepareContactHours;
return $this;
}
public function setAdditionalConsultationHours(?string $additionalConsultationHours): static
{
$this->additionalConsultationHours = $additionalConsultationHours;
return $this;
}
public function setDescription(?string $description): static
{
$this->description = $description;
return $this;
}
public function setLecturer(?Lecturer $lecturer): static
{
$this->lecturer = $lecturer;
return $this;
}
public function setLecturerDepartment(?Department $lecturerDepartment): static
{
$this->lecturerDepartment = $lecturerDepartment;
return $this;
}
public function setLecturerPosition(?LecturerPosition $lecturerPosition): static
{
$this->lecturerPosition = $lecturerPosition;
return $this;
}
public function setLecturerFinance(?FinanceSource $lecturerFinance): static
{
$this->lecturerFinance = $lecturerFinance;
return $this;
}
public function setAcademicGroupPlans($academicGroupPlans)
{
$this->academicGroupPlans = $academicGroupPlans;
return $this;
}
public function getIsNotFullTime()
{
return $this->isNotFullTime;
}
public function setIsNotFullTime($isNotFullTime)
{
$this->isNotFullTime = $isNotFullTime;
return $this;
}
public function getStudiesModuleDescriptionHours(): ?string
{
return $this->studiesModuleDescriptionHours;
}
public function setStudiesModuleDescriptionHours(?string $studiesModuleDescriptionHours): static
{
$this->studiesModuleDescriptionHours = $studiesModuleDescriptionHours;
return $this;
}
public function getStudiesModulePreparationHours(): ?string
{
return $this->studiesModulePreparationHours;
}
public function setStudiesModulePreparationHours(?string $studiesModulePreparationHours): static
{
$this->studiesModulePreparationHours = $studiesModulePreparationHours;
return $this;
}
public function getStudiesModuleRenewHours(): ?string
{
return $this->studiesModuleRenewHours;
}
public function setStudiesModuleRenewHours(?string $studiesModuleRenewHours): static
{
$this->studiesModuleRenewHours = $studiesModuleRenewHours;
return $this;
}
public function isNotFullTime(): ?bool
{
return $this->isNotFullTime;
}
public function setNotFullTime(bool $isNotFullTime): static
{
$this->isNotFullTime = $isNotFullTime;
return $this;
}
}