src/Entity/RegistrationQualification.php line 12

  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\RegistrationQualificationRepository;
  4. use Doctrine\DBAL\Types\Types;
  5. use Doctrine\ORM\Mapping as ORM;
  6. #[ORM\Entity(repositoryClassRegistrationQualificationRepository::class)]
  7. #[ORM\Table(name'registration_qualifications')]
  8. #[ORM\UniqueConstraint(name'uniq_registration_tipo'columns: ['registration_id''tipo_calificacion'])]
  9. class RegistrationQualification
  10. {
  11.     public const TIPO_ASISTENCIAS 'ASISTENCIAS';
  12.     public const TIPO_CUESTIONARIO 'CUESTIONARIO';
  13.     public const TIPO_PRACTICAS 'PRACTICAS';
  14.     public const TIPO_CALIFICACION_FINAL 'CALIFICACION_FINAL';
  15.     public const CALIFICACION_APTO 'APTO';
  16.     public const CALIFICACION_NO_APTO 'NO APTO';
  17.     public const ORIGEN_MANUAL 'MANUAL';
  18.     public const ORIGEN_PROPUESTA 'PROPUESTA';
  19.     public const ORIGEN_IMPORTADO_CSV 'IMPORTADO_CSV';
  20.     #[ORM\Id]
  21.     #[ORM\GeneratedValue]
  22.     #[ORM\Column]
  23.     private ?int $id null;
  24.     #[ORM\ManyToOne(inversedBy'registrationQualifications')]
  25.     #[ORM\JoinColumn(nullablefalseonDelete'CASCADE')]
  26.     private ?Events $event null;
  27.     #[ORM\ManyToOne(inversedBy'registrationQualifications')]
  28.     #[ORM\JoinColumn(nullablefalseonDelete'CASCADE')]
  29.     private ?Registrations $registration null;
  30.     #[ORM\Column(length30name'tipo_calificacion')]
  31.     private ?string $tipoCalificacion null;
  32.     #[ORM\Column(length20nullabletrue)]
  33.     private ?string $calificacion null;
  34.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  35.     private ?string $observaciones null;
  36.     #[ORM\Column(length30options: ['default' => self::ORIGEN_MANUAL])]
  37.     private string $origen self::ORIGEN_MANUAL;
  38.     #[ORM\Column(typeTypes::BOOLEANoptions: ['default' => false])]
  39.     private bool $ajustadaManualmente false;
  40.     #[ORM\Column(typeTypes::BOOLEANoptions: ['default' => false])]
  41.     private bool $tienePenalizacion false;
  42.     #[ORM\Column(length64nullabletrue)]
  43.     private ?string $motivoPenalizacionTipo null;
  44.     #[ORM\ManyToOne]
  45.     #[ORM\JoinColumn(nullabletrueonDelete'SET NULL')]
  46.     private ?PenaltyReason $penaltyReason null;
  47.     #[ORM\ManyToOne]
  48.     #[ORM\JoinColumn(nullabletrueonDelete'SET NULL')]
  49.     private ?UserPenalty $appliedUserPenalty null;
  50.     #[ORM\Column(typeTypes::BOOLEANoptions: ['default' => false])]
  51.     private bool $penalizacionAplicada false;
  52.     #[ORM\Column(typeTypes::DATETIME_MUTABLE)]
  53.     private ?\DateTimeInterface $fechaCreacion null;
  54.     #[ORM\Column(typeTypes::DATETIME_MUTABLE)]
  55.     private ?\DateTimeInterface $fechaActualizacion null;
  56.     #[ORM\ManyToOne]
  57.     #[ORM\JoinColumn(nullabletrueonDelete'SET NULL')]
  58.     private ?User $calificadoPor null;
  59.     public function __construct()
  60.     {
  61.         $this->fechaCreacion = new \DateTime();
  62.         $this->fechaActualizacion = new \DateTime();
  63.     }
  64.     public function getId(): ?int
  65.     {
  66.         return $this->id;
  67.     }
  68.     public function getEvent(): ?Events
  69.     {
  70.         return $this->event;
  71.     }
  72.     public function setEvent(?Events $event): static
  73.     {
  74.         $this->event $event;
  75.         return $this;
  76.     }
  77.     public function getRegistration(): ?Registrations
  78.     {
  79.         return $this->registration;
  80.     }
  81.     public function setRegistration(?Registrations $registration): static
  82.     {
  83.         $this->registration $registration;
  84.         return $this;
  85.     }
  86.     public function getTipoCalificacion(): ?string
  87.     {
  88.         return $this->tipoCalificacion;
  89.     }
  90.     public function setTipoCalificacion(string $tipoCalificacion): static
  91.     {
  92.         $this->tipoCalificacion $tipoCalificacion;
  93.         return $this;
  94.     }
  95.     public function getCalificacion(): ?string
  96.     {
  97.         return $this->calificacion;
  98.     }
  99.     public function setCalificacion(?string $calificacion): static
  100.     {
  101.         $this->calificacion $calificacion;
  102.         return $this;
  103.     }
  104.     public function getObservaciones(): ?string
  105.     {
  106.         return $this->observaciones;
  107.     }
  108.     public function setObservaciones(?string $observaciones): static
  109.     {
  110.         $this->observaciones $observaciones;
  111.         return $this;
  112.     }
  113.     public function getOrigen(): string
  114.     {
  115.         return $this->origen;
  116.     }
  117.     public function setOrigen(string $origen): static
  118.     {
  119.         $this->origen $origen;
  120.         return $this;
  121.     }
  122.     public function isAjustadaManualmente(): bool
  123.     {
  124.         return $this->ajustadaManualmente;
  125.     }
  126.     public function setAjustadaManualmente(bool $ajustadaManualmente): static
  127.     {
  128.         $this->ajustadaManualmente $ajustadaManualmente;
  129.         return $this;
  130.     }
  131.     public function isTienePenalizacion(): bool
  132.     {
  133.         return $this->tienePenalizacion;
  134.     }
  135.     public function setTienePenalizacion(bool $tienePenalizacion): static
  136.     {
  137.         $this->tienePenalizacion $tienePenalizacion;
  138.         return $this;
  139.     }
  140.     public function getMotivoPenalizacionTipo(): ?string
  141.     {
  142.         return $this->motivoPenalizacionTipo;
  143.     }
  144.     public function setMotivoPenalizacionTipo(?string $motivoPenalizacionTipo): static
  145.     {
  146.         $this->motivoPenalizacionTipo $motivoPenalizacionTipo;
  147.         return $this;
  148.     }
  149.     public function getPenaltyReason(): ?PenaltyReason
  150.     {
  151.         return $this->penaltyReason;
  152.     }
  153.     public function setPenaltyReason(?PenaltyReason $penaltyReason): static
  154.     {
  155.         $this->penaltyReason $penaltyReason;
  156.         return $this;
  157.     }
  158.     public function getAppliedUserPenalty(): ?UserPenalty
  159.     {
  160.         return $this->appliedUserPenalty;
  161.     }
  162.     public function setAppliedUserPenalty(?UserPenalty $appliedUserPenalty): static
  163.     {
  164.         $this->appliedUserPenalty $appliedUserPenalty;
  165.         return $this;
  166.     }
  167.     public function isPenalizacionAplicada(): bool
  168.     {
  169.         return $this->penalizacionAplicada;
  170.     }
  171.     public function setPenalizacionAplicada(bool $penalizacionAplicada): static
  172.     {
  173.         $this->penalizacionAplicada $penalizacionAplicada;
  174.         return $this;
  175.     }
  176.     public function getFechaCreacion(): ?\DateTimeInterface
  177.     {
  178.         return $this->fechaCreacion;
  179.     }
  180.     public function setFechaCreacion(\DateTimeInterface $fechaCreacion): static
  181.     {
  182.         $this->fechaCreacion $fechaCreacion;
  183.         return $this;
  184.     }
  185.     public function getFechaActualizacion(): ?\DateTimeInterface
  186.     {
  187.         return $this->fechaActualizacion;
  188.     }
  189.     public function setFechaActualizacion(\DateTimeInterface $fechaActualizacion): static
  190.     {
  191.         $this->fechaActualizacion $fechaActualizacion;
  192.         return $this;
  193.     }
  194.     public function getCalificadoPor(): ?User
  195.     {
  196.         return $this->calificadoPor;
  197.     }
  198.     public function setCalificadoPor(?User $calificadoPor): static
  199.     {
  200.         $this->calificadoPor $calificadoPor;
  201.         return $this;
  202.     }
  203. }