<?php
namespace App\Entity\Persona;
use App\Entity\Catalogos\Parroquias;
use App\Entity\Fidelizacion\CategoriaCliente;
use Doctrine\ORM\Mapping as ORM;
/**
* Persona
*
* @ORM\Table(name="persona.persona", uniqueConstraints={@ORM\UniqueConstraint(name="identificacion_uq", columns={"numero_identificacion"}), @ORM\UniqueConstraint(name="mail_personal_uq", columns={"mail_personal"})}, indexes={@ORM\Index(name="IDX_37E2789F7440C9C", columns={"id_categoria_cliente"}), @ORM\Index(name="IDX_37E2789FFDCE01A0", columns={"id_parroquias"})})
* @ORM\Entity
*/
class Persona
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="SEQUENCE")
* @ORM\SequenceGenerator(sequenceName="persona.persona_id_seq", allocationSize=1, initialValue=1)
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="tipo_identificacion", type="string", length=10, nullable=false, options={"comment"="Tipo Identificacion: Cedula/Pasaporte"})
*/
private $tipoIdentificacion;
/**
* @var string
*
* @ORM\Column(name="numero_identificacion", type="string", length=15, nullable=false, options={"comment"="Si es cedula debe validarse con el digito validador de la cedula
SI es pasaporte puede ingresar cualquier cadena de texto"})
*/
private $numeroIdentificacion;
/**
* @var string
*
* @ORM\Column(name="apellidos", type="string", length=40, nullable=false, options={"comment"="Primer apellido de la persona"})
*/
private $apellidos;
/**
* @var string
*
* @ORM\Column(name="nombres", type="string", length=40, nullable=false)
*/
private $nombres;
/**
* @var string
*
* @ORM\Column(name="mail_personal", type="string", length=100, nullable=false)
*/
private $mailPersonal;
/**
* @var string
*
* @ORM\Column(name="tel_celular", type="string", length=13, nullable=false)
*/
private $telCelular;
/**
* @var \DateTime
*
* @ORM\Column(name="fecha_nacimiento", type="date", nullable=false)
*/
private $fechaNacimiento;
/**
* @var string|null
*
* @ORM\Column(name="direccion_sector", type="text", nullable=true)
*/
private $direccionSector;
/**
* @var int
*
* @ORM\Column(name="id_usuario_modificacion", type="integer", nullable=false)
*/
private $idUsuarioModificacion;
/**
* @var \DateTime
*
* @ORM\Column(name="fecha_modificacion", type="datetime", nullable=false)
*/
private $fechaModificacion;
/**
* @var string
*
* @ORM\Column(name="ip_modificacion", type="string", length=50, nullable=false)
*/
private $ipModificacion;
/**
* @var \App\Entity\Catalogos\Parroquias
*
* @ORM\ManyToOne(targetEntity="App\Entity\Catalogos\Parroquias")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id_parroquias", referencedColumnName="id")
* })
*/
private $idParroquias;
/**
* @var \App\Entity\Fidelizacion\CategoriaCliente
*
* @ORM\ManyToOne(targetEntity="App\Entity\Fidelizacion\CategoriaCliente")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id_categoria_cliente", referencedColumnName="id")
* })
*/
private $idCategoriaCliente;
public function getId(): ?int
{
return $this->id;
}
public function getTipoIdentificacion(): ?string
{
return $this->tipoIdentificacion;
}
public function setTipoIdentificacion(string $tipoIdentificacion): self
{
$this->tipoIdentificacion = $tipoIdentificacion;
return $this;
}
public function getNumeroIdentificacion(): ?string
{
return $this->numeroIdentificacion;
}
public function setNumeroIdentificacion(string $numeroIdentificacion): self
{
$this->numeroIdentificacion = $numeroIdentificacion;
return $this;
}
public function getApellidos(): ?string
{
return $this->apellidos;
}
public function setApellidos(string $apellidos): self
{
$this->apellidos = $apellidos;
return $this;
}
public function getNombres(): ?string
{
return $this->nombres;
}
public function setNombres(string $nombres): self
{
$this->nombres = $nombres;
return $this;
}
public function getMailPersonal(): ?string
{
return $this->mailPersonal;
}
public function setMailPersonal(string $mailPersonal): self
{
$this->mailPersonal = $mailPersonal;
return $this;
}
public function getTelCelular(): ?string
{
return $this->telCelular;
}
public function setTelCelular(string $telCelular): self
{
$this->telCelular = $telCelular;
return $this;
}
public function getFechaNacimiento(): ?\DateTimeInterface
{
return $this->fechaNacimiento;
}
public function getFechaNacimientoString(): ? string
{
return $this->fechaNacimiento ? $this->fechaNacimiento->format('Y-m-d'):'';
}
public function setFechaNacimiento(\DateTimeInterface $fechaNacimiento): self
{
$this->fechaNacimiento = $fechaNacimiento;
return $this;
}
public function getDireccionSector(): ?string
{
return $this->direccionSector;
}
public function setDireccionSector(?string $direccionSector): self
{
$this->direccionSector = $direccionSector;
return $this;
}
public function getIdUsuarioModificacion(): ?int
{
return $this->idUsuarioModificacion;
}
public function setIdUsuarioModificacion(int $idUsuarioModificacion): self
{
$this->idUsuarioModificacion = $idUsuarioModificacion;
return $this;
}
public function getFechaModificacion(): ?\DateTimeInterface
{
return $this->fechaModificacion;
}
public function setFechaModificacion(\DateTimeInterface $fechaModificacion): self
{
$this->fechaModificacion = $fechaModificacion;
return $this;
}
public function getIpModificacion(): ?string
{
return $this->ipModificacion;
}
public function setIpModificacion(string $ipModificacion): self
{
$this->ipModificacion = $ipModificacion;
return $this;
}
public function getIdParroquias(): ?Parroquias
{
return $this->idParroquias;
}
public function setIdParroquias(?Parroquias $idParroquias): self
{
$this->idParroquias = $idParroquias;
return $this;
}
public function getIdCategoriaCliente(): ?CategoriaCliente
{
return $this->idCategoriaCliente;
}
public function setIdCategoriaCliente(?CategoriaCliente $idCategoriaCliente): self
{
$this->idCategoriaCliente = $idCategoriaCliente;
return $this;
}
}