<?php
namespace App\Entity;
use App\Repository\GHCapacitacionActividadRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Table(name: 'gh_capacitacion_actividad')]
#[ORM\Entity(repositoryClass: GHCapacitacionActividadRepository::class)]
class GHCapacitacionActividad
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\ManyToOne(inversedBy: 'capacitacionActividades')]
private ?GHCapacitacion $capacitacion = null;
#[ORM\Column(length: 255)]
private ?string $tema = null;
#[ORM\Column(type: Types::TEXT)]
private ?string $descripcion = null;
// #[ORM\ManyToOne(inversedBy: 'responsableCapacitacionActividades')]
// private ?TerPersona $responsable = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $responsable = null;
#[ORM\Column(length: 255)]
private ?string $dirigidoa = null;
#[ORM\ManyToOne(inversedBy: 'capacitacionActividades')]
private ?TerSedeEmpresa $sede = null;
#[ORM\Column(type: 'json', nullable: true)]
private ?array $recurso = [];
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $requisitos = null;
#[ORM\Column(type: 'json', nullable: true)]
private ?array $programacion = [];
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $fechaEjecucion = null;
#[ORM\Column(nullable: true)]
private ?int $cantidadAsistentes = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $asistencia = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $evaluacion = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $materialApoyo = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $observaciones = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE)]
private ?\DateTimeInterface $createAt = null;
#[ORM\Column(length: 50)]
private ?string $createUser = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE)]
private ?\DateTimeInterface $updateAt = null;
#[ORM\Column(length: 50)]
private ?string $updateUser = null;
#[ORM\ManyToMany(targetEntity: TerSedeEmpresa::class, inversedBy: 'gHCapacitacionActividads')]
private Collection $sucursales;
public function __construct()
{
$this->sucursales = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getCapacitacion(): ?GHCapacitacion
{
return $this->capacitacion;
}
public function setCapacitacion(?GHCapacitacion $capacitacion): static
{
$this->capacitacion = $capacitacion;
return $this;
}
public function getTema(): ?string
{
return $this->tema;
}
public function setTema(string $tema): static
{
$this->tema = $tema;
return $this;
}
public function getDescripcion(): ?string
{
return $this->descripcion;
}
public function setDescripcion(string $descripcion): static
{
$this->descripcion = $descripcion;
return $this;
}
public function getResponsable(): ?string
{
return $this->responsable;
}
public function setResponsable(?string $responsable): self
{
$this->responsable = $responsable;
return $this;
}
// public function getResponsable(): ?TerPersona
// {
// return $this->responsable;
// }
//
// public function setResponsable(?TerPersona $responsable): static
// {
// $this->responsable = $responsable;
//
// return $this;
// }
public function getDirigidoa(): ?string
{
return $this->dirigidoa;
}
public function setDirigidoa(string $dirigidoa): static
{
$this->dirigidoa = $dirigidoa;
return $this;
}
public function getSede(): ?TerSedeEmpresa
{
return $this->sede;
}
public function setSede(?TerSedeEmpresa $sede): static
{
$this->sede = $sede;
return $this;
}
public function getRecurso(): array
{
return $this->recurso ?? [];
}
public function setRecurso(?array $recurso): self
{
$this->recurso = $recurso;
return $this;
}
public function getRequisitos(): ?string
{
return $this->requisitos;
}
public function setRequisitos(?string $requisitos): static
{
$this->requisitos = $requisitos;
return $this;
}
public function getProgramacion(): array
{
return $this->programacion ?? [];
}
public function setProgramacion(array $programacion): self
{
$this->programacion = $programacion;
return $this;
}
public function getFechaEjecucion(): ?\DateTimeInterface
{
return $this->fechaEjecucion;
}
public function setFechaEjecucion(?\DateTimeInterface $fechaEjecucion): static
{
$this->fechaEjecucion = $fechaEjecucion;
return $this;
}
public function getCantidadAsistentes(): ?int
{
return $this->cantidadAsistentes;
}
public function setCantidadAsistentes(?int $cantidadAsistentes): static
{
$this->cantidadAsistentes = $cantidadAsistentes;
return $this;
}
public function getAsistencia(): ?string
{
return $this->asistencia;
}
public function setAsistencia(?string $asistencia): static
{
$this->asistencia = $asistencia;
return $this;
}
public function getEvaluacion(): ?string
{
return $this->evaluacion;
}
public function setEvaluacion(?string $evaluacion): static
{
$this->evaluacion = $evaluacion;
return $this;
}
public function getMaterialApoyo(): ?string
{
return $this->materialApoyo;
}
public function setMaterialApoyo(?string $materialApoyo): static
{
$this->materialApoyo = $materialApoyo;
return $this;
}
public function getObservaciones(): ?string
{
return $this->observaciones;
}
public function setObservaciones(string $observaciones): static
{
$this->observaciones = $observaciones;
return $this;
}
public function getCreateAt(): ?\DateTimeInterface
{
return $this->createAt;
}
public function setCreateAt(\DateTimeInterface $createAt): static
{
$this->createAt = $createAt;
return $this;
}
public function getCreateUser(): ?string
{
return $this->createUser;
}
public function setCreateUser(string $createUser): static
{
$this->createUser = $createUser;
return $this;
}
public function getUpdateAt(): ?\DateTimeInterface
{
return $this->updateAt;
}
public function setUpdateAt(\DateTimeInterface $updateAt): static
{
$this->updateAt = $updateAt;
return $this;
}
public function getUpdateUser(): ?string
{
return $this->updateUser;
}
public function setUpdateUser(string $updateUser): static
{
$this->updateUser = $updateUser;
return $this;
}
/**
* @return Collection<int, TerSedeEmpresa>
*/
public function getSucursales(): Collection
{
return $this->sucursales;
}
public function addSucursale(TerSedeEmpresa $sucursale): static
{
if (!$this->sucursales->contains($sucursale)) {
$this->sucursales->add($sucursale);
}
return $this;
}
public function removeSucursale(TerSedeEmpresa $sucursale): static
{
$this->sucursales->removeElement($sucursale);
return $this;
}
}