<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use App\Crud\Entity\crudEntity;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
//use TrazasBundle\Interfaces\trazaInterface;
/**
* ProcesoReclutamiento
*
* @ORM\Table(name="proceso_reclutamiento")
* @ORM\Entity(repositoryClass="App\Crud\Repository\crudRepository")
*/
class ProcesoReclutamiento extends crudEntity //implements trazaInterface
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="SEQUENCE")
* @ORM\SequenceGenerator(sequenceName="proceso_reclutamiento_id_seq", allocationSize=1, initialValue=1)
*/
private $id;
/**
* @var integer
*
* @ORM\Column(name="anno", type="integer", nullable=false)
*/
private $anno;
/**
* @var string
*
* @ORM\Column(name="llamada", type="string", length=10, nullable=false)
*/
private $llamada;
/**
* @var \DateTime
*
* @ORM\Column(name="fecha_inicio_registro", type="datetime", nullable=false, columnDefinition="fecha")
*/
private $fechaInicioRegistro;
/**
* @var \DateTime
*
* @ORM\Column(name="fecha_fin_registro", type="datetime", nullable=false, columnDefinition="fecha")
*/
private $fechaFinRegistro;
/**
* @var \DateTime
*
* @ORM\Column(name="fecha_acuartelamiento", type="datetime", nullable=false, columnDefinition="fecha")
*/
private $fechaAcuartelamiento;
/**
* @var \DateTime
*
* @ORM\Column(name="fecha_fin_dias", type="datetime", nullable=false, columnDefinition="fecha")
*/
private $fechaFinDias;
/**
* @var \DateTime
*
* @ORM\Column(name="hora_inicio_acuartelamiento", type="time", nullable=false)
*/
private $horaInicioAcuartelamiento;
/**
* @var \DateTime
*
* @ORM\Column(name="hora_fin_acuartelamiento", type="time", nullable=false)
*/
private $horaFinAcuartelamiento;
/**
* @var \DateTime
*
* @ORM\Column(name="fecha_fin_dias_posteriores", type="datetime", nullable=false, columnDefinition="fecha")
*/
private $fechaFinDiasPosteriores;
/**
* @var integer
*
* @ORM\Column(name="minutos_test", type="integer", nullable=false)
*/
private $minutosTest;
/**
* @var integer
*
* @ORM\Column(name="bajas_permitidas", type="integer", nullable=true)
*/
private $bajasPermitidas;
/**
* @var boolean
*
* @ORM\Column(name="activo", type="boolean", nullable=true)
*/
private $activo;
/**
* var integer
*
* @ORM\Column(name="cant_cursos", type="integer", nullable=true)
*/
private $cantCursos;
/**
* @ORM\ManyToMany(targetEntity="App\Entity\Curso")
* @ORM\JoinTable(name="procesos_cursos",
* joinColumns={@ORM\JoinColumn(name="proceso", referencedColumnName="id", nullable=false)},
* inverseJoinColumns={@ORM\JoinColumn(name="curso", referencedColumnName="id")}
* )
*/
private $cursos;
/**
* @var \App\Entity\Adjunto
*
* @ORM\ManyToOne(targetEntity="App\Entity\Adjunto", fetch="EXTRA_LAZY")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="foto_uniforme", referencedColumnName="id")
* })
*/
private $fotoUniforme;
/**
* @var string
*
* @ORM\Column(name="titulo_reporte_uniforme", type="string", length=255, nullable=true)
*/
private $tituloReporteUniforme;
/**
* @var \App\Entity\Adjunto
*
* @ORM\ManyToOne(targetEntity="App\Entity\Adjunto", fetch="EXTRA_LAZY")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="foto_jockey", referencedColumnName="id")
* })
*/
private $fotoJockey;
/**
* @var string
*
* @ORM\Column(name="titulo_reporte_jockey", type="string", length=255, nullable=true)
*/
private $tituloReporteJockey;
/**
* @var \App\Entity\Adjunto
*
* @ORM\ManyToOne(targetEntity="App\Entity\Adjunto", fetch="EXTRA_LAZY")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="foto_calzado", referencedColumnName="id")
* })
*/
private $fotoCalzado;
/**
* @var string
*
* @ORM\Column(name="titulo_reporte_calzado", type="string", length=255, nullable=true)
*/
private $tituloReporteCalzado;
/**
* @var \App\Entity\Adjunto
*
* @ORM\ManyToOne(targetEntity="App\Entity\Adjunto", fetch="EXTRA_LAZY")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="foto_camiseta", referencedColumnName="id")
* })
*/
private $fotoCamiseta;
/**
* @var string
*
* @ORM\Column(name="titulo_reporte_camiseta", type="string", length=255, nullable=true)
*/
private $tituloReporteCamiseta;
/**
* @var string
*
* @ORM\Column(name="titulo_reporte_estudios", type="string", length=255, nullable=true)
*/
private $tituloReporteEstudios;
public function __construct()
{
$this->edadMinima=18;
$this->edadMaxima=21;
$this->cursos = new \Doctrine\Common\Collections\ArrayCollection();
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
public function getAnno() {
return $this->anno;
}
public function getLlamada() {
return $this->llamada;
}
public function __toString() {
return $this->getAnno().' - '.$this->getLlamada();
}
/*
* return \DateTime
*/
public function getFechaInicioRegistro() {
return $this->fechaInicioRegistro;
}
/*
* return \DateTime
*/
public function getFechaFinDias() {
return $this->fechaFinDias;
}
public function setFechaFinDias(\DateTime $fecha) {
$fecha= $fecha->setTime(23, 53, 53);
$this->fechaFinDias = $fecha;
}
public function getFechaFinDiasPosteriores() {
return $this->fechaFinDiasPosteriores;
}
public function setFechaFinDiasPosteriores(\DateTime $fecha) {
$fecha= $fecha->setTime(23, 53, 53);
$this->fechaFinDiasPosteriores = $fecha;
}
/*
* return \DateTime
*/
public function getFechaFinRegistro() {
return $this->fechaFinRegistro;
}
public function getMinutosTest() {
return $this->minutosTest;
}
public function getBajasPermitidas() {
return $this->bajasPermitidas;
}
public function setAnno($anno) {
$this->anno = $anno;
}
public function setLlamada($llamada) {
$this->llamada = $llamada;
}
public function setFechaInicioRegistro(\DateTime $fechaInicioRegistro) {
$this->fechaInicioRegistro = $fechaInicioRegistro;
}
public function setFechaFinRegistro(\DateTime $fechaFinRegistro) {
$fechaFinRegistro= $fechaFinRegistro->setTime(23, 53, 53);
$this->fechaFinRegistro = $fechaFinRegistro;
}
public function setMinutosTest($minutosTest) {
$this->minutosTest = $minutosTest;
}
public function setBajasPermitidas($bajas) {
$this->bajasPermitidas = $bajas;
}
public function getActivo() {
return $this->activo;
}
public function setActivo($activo) {
$this->activo = $activo;
}
public function getFechaAcuartelamiento() {
return $this->fechaAcuartelamiento;
}
public function getHoraInicioAcuartelamiento() {
return $this->horaInicioAcuartelamiento;
}
public function getHoraFinAcuartelamiento() {
return $this->horaFinAcuartelamiento;
}
public function setFechaAcuartelamiento(\DateTime $fechaAcuartelamiento) {
$this->fechaAcuartelamiento = $fechaAcuartelamiento;
}
public function setHoraInicioAcuartelamiento($horaInicioAcuartelamiento) {
$this->horaInicioAcuartelamiento = $horaInicioAcuartelamiento;
}
public function setHoraFinAcuartelamiento($horaFinAcuartelamiento) {
$this->horaFinAcuartelamiento = $horaFinAcuartelamiento;
}
public static function getEntidadName()
{
return 'Proceso de reclutamiento';
}
public function getDuracion()
{
$fechaIni = $this->getFechaAcuartelamiento();
$fechaFin = $this->getFechaFinDias();
$dias = $fechaIni->diff($fechaFin);
$dias = $dias->format('%a')+1;
return $dias;
}
/**
* Add cursos
*
* @param \App\Entity\Curso $curso
* @return ProcesoReclutamiento
*/
public function addCursos(\App\Entity\Curso $curso)
{
$this->cursos->add($curso);
return $this;
}
/**
* Remove cursos
*
* @param \App\Entity\Curso $curso
*/
public function removeCursos(\App\Entity\Curso $curso)
{
$this->cursos->removeElement($curso);
}
/**
* Get cursos
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getCursos()
{
return $this->cursos;
}
public function getCantCursos() {
return $this->cantCursos;
}
public function setCantCursos(int $cantCursos): void {
$this->cantCursos = $cantCursos;
}
public function getFotoUniforme() {
return $this->fotoUniforme;
}
public function getTituloReporteUniforme() {
return $this->tituloReporteUniforme;
}
public function getFotoJockey() {
return $this->fotoJockey;
}
public function getTituloReporteJockey() {
return $this->tituloReporteJockey;
}
public function getFotoCalzado() {
return $this->fotoCalzado;
}
public function getTituloReporteCalzado() {
return $this->tituloReporteCalzado;
}
public function getFotoCamiseta() {
return $this->fotoCamiseta;
}
public function getTituloReporteCamiseta() {
return $this->tituloReporteCamiseta;
}
public function getTituloReporteEstudios() {
return $this->tituloReporteEstudios;
}
public function setFotoUniforme(\App\Entity\Adjunto $fotoUniforme): void {
$this->fotoUniforme = $fotoUniforme;
}
public function setTituloReporteUniforme(string $tituloReporteUniforme): void {
$this->tituloReporteUniforme = $tituloReporteUniforme;
}
public function setFotoJockey(\App\Entity\Adjunto $fotoJockey): void {
$this->fotoJockey = $fotoJockey;
}
public function setTituloReporteJockey(string $tituloReporteJockey): void {
$this->tituloReporteJockey = $tituloReporteJockey;
}
public function setFotoCalzado(\App\Entity\Adjunto $fotoCalzado): void {
$this->fotoCalzado = $fotoCalzado;
}
public function setTituloReporteCalzado(string $tituloReporteCalzado): void {
$this->tituloReporteCalzado = $tituloReporteCalzado;
}
public function setFotoCamiseta(\App\Entity\Adjunto $fotoCamiseta): void {
$this->fotoCamiseta = $fotoCamiseta;
}
public function setTituloReporteCamiseta(string $tituloReporteCamiseta): void {
$this->tituloReporteCamiseta = $tituloReporteCamiseta;
}
public function setTituloReporteEstudios(string $tituloReporteEstudios): void {
$this->tituloReporteEstudios = $tituloReporteEstudios;
}
}