HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/dvpis2026/dvpis.kaunokolegija.lt/src/Entity/StudiesProgramFinance.php
<?php

namespace App\Entity;

use App\Repository\StudiesProgramFinanceRepository;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\UniqueConstraint;

#[ORM\Entity(repositoryClass: StudiesProgramFinanceRepository::class)]
#[ORM\Table(name: 'studies_program_finance')]
#[UniqueConstraint(name: 'unique_idx', columns: ['studies_program_id', 'studies_form_id', 'finance_year'])]
class StudiesProgramFinance
{
    #[ORM\Column]
    #[ORM\Id]
    #[ORM\GeneratedValue]
    private ?int $id = null;

    #[ORM\JoinColumn(name: 'studies_program_id', referencedColumnName: 'id', nullable: false)]
    #[ORM\ManyToOne(targetEntity: StudiesProgram::class, inversedBy: 'studiesProgramFinances')]
    private ?StudiesProgram $studiesProgram;

    #[ORM\JoinColumn(name: 'studies_form_id', referencedColumnName: 'id', nullable: false)]
    #[ORM\ManyToOne(targetEntity: StudiesForm::class, inversedBy: 'studiesProgramFinances')]
    private ?StudiesForm $studiesForm;

    /**
     * @var string
     */
    #[ORM\Column(name: 'finance_year', type: 'string', length: 255)]
    private $financeYear;

    #[ORM\JoinColumn(name: 'studies_program_finance_group_id', referencedColumnName: 'id', nullable: false)]
    #[ORM\ManyToOne(targetEntity: StudiesProgramFinanceGroup::class, inversedBy: 'studiesProgramFinances')]
    private ?StudiesProgramFinanceGroup $studiesProgramFinanceGroup;

    /**
     * @var float
     */
    #[ORM\Column(name: 'cost_of_studies', type: 'float')]
    private $costOfStudies;

    /**
     * @var float
     */
    #[ORM\Column(name: 'fact_cost_of_studies', type: 'float')]
    private $factCostOfStudies;

    public function getId(): ?int
    {
        return $this->id;
    }

    public function getStudiesProgram(): ?StudiesProgram
    {
        return $this->studiesProgram;
    }

    public function getStudiesForm(): ?StudiesForm
    {
        return $this->studiesForm;
    }

    public function getFinanceYear(): ?string
    {
        return $this->financeYear;
    }

    public function getStudiesProgramFinanceGroup(): ?StudiesProgramFinanceGroup
    {
        return $this->studiesProgramFinanceGroup;
    }

    public function getCostOfStudies(): ?float
    {
        return $this->costOfStudies;
    }

    public function getFactCostOfStudies(): ?float
    {
        return $this->factCostOfStudies;
    }

    public function setId($id)
    {
        $this->id = $id;
        return $this;
    }

    public function setStudiesProgram(?StudiesProgram $studiesProgram): static
    {
        $this->studiesProgram = $studiesProgram;

        return $this;
    }

    public function setStudiesForm(?StudiesForm $studiesForm): static
    {
        $this->studiesForm = $studiesForm;

        return $this;
    }

    public function setFinanceYear(string $financeYear): static
    {
        $this->financeYear = $financeYear;

        return $this;
    }

    public function setStudiesProgramFinanceGroup(?StudiesProgramFinanceGroup $studiesProgramFinanceGroup): static
    {
        $this->studiesProgramFinanceGroup = $studiesProgramFinanceGroup;

        return $this;
    }

    public function setCostOfStudies(float $costOfStudies): static
    {
        $this->costOfStudies = $costOfStudies;

        return $this;
    }

    public function setFactCostOfStudies(float $factCostOfStudies): static
    {
        $this->factCostOfStudies = $factCostOfStudies;

        return $this;
    }
}