<?php
namespace App\Entity;
use App\Repository\TerProveedorRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: TerProveedorRepository::class)]
class TerProveedor
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(length: 255)]
private ?string $nombre = null;
#[ORM\Column(length: 100)]
private ?string $identificacion = 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\OneToMany(mappedBy: 'proveedor', targetEntity: RFDisposicionProveedor::class)]
private Collection $disposicionProveedor;
#[ORM\Column(length: 255)]
private ?string $razonSocial = null;
#[ORM\Column(length: 150)]
private ?string $correo = null;
#[ORM\Column(length: 50)]
private ?string $telefono = null;
#[ORM\Column(length: 255)]
private ?string $direccion = null;
#[ORM\Column(length: 255)]
private ?string $ciudad = null;
#[ORM\ManyToMany(targetEntity: TerEmpresa::class, inversedBy: 'proveedor')]
private Collection $empresaFilial;
#[ORM\ManyToOne(inversedBy: 'proveedor')]
private ?ParTipoProveedor $tipo = null;
#[ORM\ManyToOne(inversedBy: 'proveedor')]
private ?ParActividadEconomica $actividadEconomica = null;
#[ORM\Column(type: Types::TEXT)]
private ?string $productos = null;
#[ORM\ManyToOne(inversedBy: 'proveedor')]
private ?ParCondicionComercial $condicionComercial = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $observaciones = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $otrasCondicionesComerciales = null;
#[ORM\Column(length: 255)]
private ?string $personaContacto = null;
#[ORM\OneToMany(mappedBy: 'proveedor', targetEntity: TerProveedorCotizacion::class)]
private Collection $proveedorCotizacion;
#[ORM\ManyToOne(inversedBy: 'proveedor')]
private ?ParEstado $estado = null;
#[ORM\Column(nullable: true)]
private ?bool $consultaRiesgosLAFT = null;
#[ORM\Column(length: 100, nullable: true)]
private ?string $resultadoConsultaLAFT = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $fechaConsultaLAFT = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $proximaEvaluacionLAFT = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $observacionesLAFT = null;
#[ORM\OneToMany(mappedBy: 'proveedor', targetEntity: TerProveedorMandato::class)]
private Collection $historicoProveedorMandato;
#[ORM\Column(nullable: true)]
private ?float $totalEvaluacion = null;
#[ORM\Column(nullable: true)]
private ?float $criticidad = null;
#[ORM\Column(nullable: true)]
private ?float $criteriosDocumentales = null;
#[ORM\Column(nullable: true)]
private ?float $calificacionVisitaSeguridad = null;
#[ORM\Column(nullable: true)]
private ?float $resultadoEvaluacion = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $comentarioRechazo = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $proximaEvaluacion = null;
#[ORM\Column(nullable: true)]
private ?bool $verificacionBasc = null;
#[ORM\Column(length: 10, nullable: true)]
private ?string $manifestacionSuscrita = null;
#[ORM\Column(length: 10, nullable: true)]
private ?string $acuerdoSeguridadVigente = null;
#[ORM\Column(length: 10, nullable: true)]
private ?string $planContinuidadNegocio = null;
#[ORM\Column(length: 10, nullable: true)]
private ?string $visitaVigente = null;
#[ORM\Column(length: 10, nullable: true)]
private ?string $contrato = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $fechaVigenciaContrato = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $observacionesEstado = null;
#[ORM\OneToMany(mappedBy: 'proveedor', targetEntity: RFPrecinto::class)]
private Collection $precintos;
#[ORM\OneToMany(mappedBy: 'proveedor', targetEntity: RFOrdenCompra::class)]
private Collection $ordenCompra;
#[ORM\OneToMany(mappedBy: 'proveedor', targetEntity: JurOperacionSospechosa::class)]
private Collection $operacionesSospechosas;
#[ORM\OneToMany(mappedBy: 'proveedor', targetEntity: JurDocumentoLegal::class)]
private Collection $documentosLegales;
public function __toString() {
return "{$this->getIdentificacion()}-{$this->getRazonSocial()}";
}
public function __construct()
{
$this->disposicionProveedor = new ArrayCollection();
$this->empresaFilial = new ArrayCollection();
$this->proveedorCotizacion = new ArrayCollection();
$this->historicoProveedorMandato = new ArrayCollection();
$this->precintos = new ArrayCollection();
$this->ordenCompra = new ArrayCollection();
$this->operacionesSospechosas = new ArrayCollection();
$this->documentosLegales = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getNombre(): ?string
{
return $this->nombre;
}
public function setNombre(string $nombre): static
{
$this->nombre = $nombre;
return $this;
}
public function getIdentificacion(): ?string
{
return $this->identificacion;
}
public function setIdentificacion(string $identificacion): static
{
$this->identificacion = $identificacion;
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, RFDisposicionProveedor>
*/
public function getDisposicionProveedor(): Collection
{
return $this->disposicionProveedor;
}
public function addDisposicionProveedor(RFDisposicionProveedor $disposicionProveedor): static
{
if (!$this->disposicionProveedor->contains($disposicionProveedor)) {
$this->disposicionProveedor->add($disposicionProveedor);
$disposicionProveedor->setProveedor($this);
}
return $this;
}
public function removeDisposicionProveedor(RFDisposicionProveedor $disposicionProveedor): static
{
if ($this->disposicionProveedor->removeElement($disposicionProveedor)) {
// set the owning side to null (unless already changed)
if ($disposicionProveedor->getProveedor() === $this) {
$disposicionProveedor->setProveedor(null);
}
}
return $this;
}
public function getRazonSocial(): ?string
{
return $this->razonSocial;
}
public function setRazonSocial(string $razonSocial): static
{
$this->razonSocial = $razonSocial;
return $this;
}
public function getCorreo(): ?string
{
return $this->correo;
}
public function setCorreo(string $correo): static
{
$this->correo = $correo;
return $this;
}
public function getTelefono(): ?string
{
return $this->telefono;
}
public function setTelefono(string $telefono): static
{
$this->telefono = $telefono;
return $this;
}
public function getDireccion(): ?string
{
return $this->direccion;
}
public function setDireccion(string $direccion): static
{
$this->direccion = $direccion;
return $this;
}
public function getCiudad(): ?string
{
return $this->ciudad;
}
public function setCiudad(string $ciudad): static
{
$this->ciudad = $ciudad;
return $this;
}
/**
* @return Collection<int, TerEmpresa>
*/
public function getEmpresaFilial(): Collection
{
return $this->empresaFilial;
}
public function addEmpresaFilial(TerEmpresa $empresaFilial): static
{
if (!$this->empresaFilial->contains($empresaFilial)) {
$this->empresaFilial->add($empresaFilial);
}
return $this;
}
public function removeEmpresaFilial(TerEmpresa $empresaFilial): static
{
$this->empresaFilial->removeElement($empresaFilial);
return $this;
}
public function getTipo(): ?ParTipoProveedor
{
return $this->tipo;
}
public function setTipo(?ParTipoProveedor $tipo): static
{
$this->tipo = $tipo;
return $this;
}
public function getActividadEconomica(): ?ParActividadEconomica
{
return $this->actividadEconomica;
}
public function setActividadEconomica(?ParActividadEconomica $actividadEconomica): static
{
$this->actividadEconomica = $actividadEconomica;
return $this;
}
public function getProductos(): ?string
{
return $this->productos;
}
public function setProductos(string $productos): static
{
$this->productos = $productos;
return $this;
}
public function getCondicionComercial(): ?ParCondicionComercial
{
return $this->condicionComercial;
}
public function setCondicionComercial(?ParCondicionComercial $condicionComercial): static
{
$this->condicionComercial = $condicionComercial;
return $this;
}
public function getObservaciones(): ?string
{
return $this->observaciones;
}
public function setObservaciones(?string $observaciones): static
{
$this->observaciones = $observaciones;
return $this;
}
public function getOtrasCondicionesComerciales(): ?string
{
return $this->otrasCondicionesComerciales;
}
public function setOtrasCondicionesComerciales(?string $otrasCondicionesComerciales): static
{
$this->otrasCondicionesComerciales = $otrasCondicionesComerciales;
return $this;
}
public function getPersonaContacto(): ?string
{
return $this->personaContacto;
}
public function setPersonaContacto(string $personaContacto): static
{
$this->personaContacto = $personaContacto;
return $this;
}
/**
* @return Collection<int, TerProveedorCotizacion>
*/
public function getProveedorCotizacion(): Collection
{
return $this->proveedorCotizacion;
}
public function addProveedorCotizacion(TerProveedorCotizacion $proveedorCotizacion): static
{
if (!$this->proveedorCotizacion->contains($proveedorCotizacion)) {
$this->proveedorCotizacion->add($proveedorCotizacion);
$proveedorCotizacion->setProveedor($this);
}
return $this;
}
public function removeProveedorCotizacion(TerProveedorCotizacion $proveedorCotizacion): static
{
if ($this->proveedorCotizacion->removeElement($proveedorCotizacion)) {
// set the owning side to null (unless already changed)
if ($proveedorCotizacion->getProveedor() === $this) {
$proveedorCotizacion->setProveedor(null);
}
}
return $this;
}
public function getEstado(): ?ParEstado
{
return $this->estado;
}
public function setEstado(?ParEstado $estado): static
{
$this->estado = $estado;
return $this;
}
public function isConsultaRiesgosLAFT(): ?bool
{
return $this->consultaRiesgosLAFT;
}
public function setConsultaRiesgosLAFT(?bool $consultaRiesgosLAFT): static
{
$this->consultaRiesgosLAFT = $consultaRiesgosLAFT;
return $this;
}
public function getResultadoConsultaLAFT(): ?string
{
return $this->resultadoConsultaLAFT;
}
public function setResultadoConsultaLAFT(?string $resultadoConsultaLAFT): static
{
$this->resultadoConsultaLAFT = $resultadoConsultaLAFT;
return $this;
}
public function getFechaConsultaLAFT(): ?\DateTimeInterface
{
return $this->fechaConsultaLAFT;
}
public function setFechaConsultaLAFT(?\DateTimeInterface $fechaConsultaLAFT): static
{
$this->fechaConsultaLAFT = $fechaConsultaLAFT;
return $this;
}
public function getProximaEvaluacionLAFT(): ?\DateTimeInterface
{
return $this->proximaEvaluacionLAFT;
}
public function setProximaEvaluacionLAFT(?\DateTimeInterface $proximaEvaluacionLAFT): static
{
$this->proximaEvaluacionLAFT = $proximaEvaluacionLAFT;
return $this;
}
public function getObservacionesLAFT(): ?string
{
return $this->observacionesLAFT;
}
public function setObservacionesLAFT(?string $observacionesLAFT): static
{
$this->observacionesLAFT = $observacionesLAFT;
return $this;
}
/**
* @return Collection<int, TerProveedorMandato>
*/
public function getHistoricoProveedorMandato(): Collection
{
return $this->historicoProveedorMandato;
}
public function addHistoricoProveedorMandato(TerProveedorMandato $historicoProveedorMandato): static
{
if (!$this->historicoProveedorMandato->contains($historicoProveedorMandato)) {
$this->historicoProveedorMandato->add($historicoProveedorMandato);
$historicoProveedorMandato->setProveedor($this);
}
return $this;
}
public function removeHistoricoProveedorMandato(TerProveedorMandato $historicoProveedorMandato): static
{
if ($this->historicoProveedorMandato->removeElement($historicoProveedorMandato)) {
// set the owning side to null (unless already changed)
if ($historicoProveedorMandato->getProveedor() === $this) {
$historicoProveedorMandato->setProveedor(null);
}
}
return $this;
}
public function getTotalEvaluacion(): ?float
{
return $this->totalEvaluacion;
}
public function setTotalEvaluacion(?float $totalEvaluacion): static
{
$this->totalEvaluacion = $totalEvaluacion;
return $this;
}
public function getCriticidad(): ?float
{
return $this->criticidad;
}
public function setCriticidad(?float $criticidad): static
{
$this->criticidad = $criticidad;
return $this;
}
public function getCriteriosDocumentales(): ?float
{
return $this->criteriosDocumentales;
}
public function setCriteriosDocumentales(?float $criteriosDocumentales): static
{
$this->criteriosDocumentales = $criteriosDocumentales;
return $this;
}
public function getCalificacionVisitaSeguridad(): ?float
{
return $this->calificacionVisitaSeguridad;
}
public function setCalificacionVisitaSeguridad(?float $calificacionVisitaSeguridad): static
{
$this->calificacionVisitaSeguridad = $calificacionVisitaSeguridad;
return $this;
}
public function getResultadoEvaluacion(): ?float
{
return $this->resultadoEvaluacion;
}
public function setResultadoEvaluacion(?float $resultadoEvaluacion): static
{
$this->resultadoEvaluacion = $resultadoEvaluacion;
return $this;
}
public function getComentarioRechazo(): ?string
{
return $this->comentarioRechazo;
}
public function setComentarioRechazo(?string $comentarioRechazo): static
{
$this->comentarioRechazo = $comentarioRechazo;
return $this;
}
public function getProximaEvaluacion(): ?\DateTimeInterface
{
return $this->proximaEvaluacion;
}
public function setProximaEvaluacion(?\DateTimeInterface $proximaEvaluacion): static
{
$this->proximaEvaluacion = $proximaEvaluacion;
return $this;
}
public function isVerificacionBasc(): ?bool
{
return $this->verificacionBasc;
}
public function setVerificacionBasc(?bool $verificacionBasc): static
{
$this->verificacionBasc = $verificacionBasc;
return $this;
}
public function getManifestacionSuscrita(): ?string
{
return $this->manifestacionSuscrita;
}
public function setManifestacionSuscrita(?string $manifestacionSuscrita): static
{
$this->manifestacionSuscrita = $manifestacionSuscrita;
return $this;
}
public function getAcuerdoSeguridadVigente(): ?string
{
return $this->acuerdoSeguridadVigente;
}
public function setAcuerdoSeguridadVigente(?string $acuerdoSeguridadVigente): static
{
$this->acuerdoSeguridadVigente = $acuerdoSeguridadVigente;
return $this;
}
public function getPlanContinuidadNegocio(): ?string
{
return $this->planContinuidadNegocio;
}
public function setPlanContinuidadNegocio(?string $planContinuidadNegocio): static
{
$this->planContinuidadNegocio = $planContinuidadNegocio;
return $this;
}
public function getVisitaVigente(): ?string
{
return $this->visitaVigente;
}
public function setVisitaVigente(?string $visitaVigente): static
{
$this->visitaVigente = $visitaVigente;
return $this;
}
public function getContrato(): ?string
{
return $this->contrato;
}
public function setContrato(?string $contrato): static
{
$this->contrato = $contrato;
return $this;
}
public function getFechaVigenciaContrato(): ?\DateTimeInterface
{
return $this->fechaVigenciaContrato;
}
public function setFechaVigenciaContrato(?\DateTimeInterface $fechaVigenciaContrato): static
{
$this->fechaVigenciaContrato = $fechaVigenciaContrato;
return $this;
}
public function getObservacionesEstado(): ?string
{
return $this->observacionesEstado;
}
public function setObservacionesEstado(?string $observacionesEstado): static
{
$this->observacionesEstado = $observacionesEstado;
return $this;
}
/**
* @return Collection<int, RFPrecinto>
*/
public function getPrecintos(): Collection
{
return $this->precintos;
}
public function addPrecinto(RFPrecinto $precinto): static
{
if (!$this->precintos->contains($precinto)) {
$this->precintos->add($precinto);
$precinto->setProveedor($this);
}
return $this;
}
public function removePrecinto(RFPrecinto $precinto): static
{
if ($this->precintos->removeElement($precinto)) {
// set the owning side to null (unless already changed)
if ($precinto->getProveedor() === $this) {
$precinto->setProveedor(null);
}
}
return $this;
}
/**
* @return Collection<int, RFOrdenCompra>
*/
public function getOrdenCompra(): Collection
{
return $this->ordenCompra;
}
public function addOrdenCompra(RFOrdenCompra $ordenCompra): static
{
if (!$this->ordenCompra->contains($ordenCompra)) {
$this->ordenCompra->add($ordenCompra);
$ordenCompra->setProveedor($this);
}
return $this;
}
public function removeOrdenCompra(RFOrdenCompra $ordenCompra): static
{
if ($this->ordenCompra->removeElement($ordenCompra)) {
// set the owning side to null (unless already changed)
if ($ordenCompra->getProveedor() === $this) {
$ordenCompra->setProveedor(null);
}
}
return $this;
}
/**
* @return Collection<int, JurOperacionSospechosa>
*/
public function getOperacionesSospechosas(): Collection
{
return $this->operacionesSospechosas;
}
public function addOperacionesSospechosa(JurOperacionSospechosa $operacionesSospechosa): static
{
if (!$this->operacionesSospechosas->contains($operacionesSospechosa)) {
$this->operacionesSospechosas->add($operacionesSospechosa);
$operacionesSospechosa->setProveedor($this);
}
return $this;
}
public function removeOperacionesSospechosa(JurOperacionSospechosa $operacionesSospechosa): static
{
if ($this->operacionesSospechosas->removeElement($operacionesSospechosa)) {
// set the owning side to null (unless already changed)
if ($operacionesSospechosa->getProveedor() === $this) {
$operacionesSospechosa->setProveedor(null);
}
}
return $this;
}
/**
* @return Collection<int, JurDocumentoLegal>
*/
public function getDocumentosLegales(): Collection
{
return $this->documentosLegales;
}
public function addDocumentosLegale(JurDocumentoLegal $documentosLegale): static
{
if (!$this->documentosLegales->contains($documentosLegale)) {
$this->documentosLegales->add($documentosLegale);
$documentosLegale->setProveedor($this);
}
return $this;
}
public function removeDocumentosLegale(JurDocumentoLegal $documentosLegale): static
{
if ($this->documentosLegales->removeElement($documentosLegale)) {
// set the owning side to null (unless already changed)
if ($documentosLegale->getProveedor() === $this) {
$documentosLegale->setProveedor(null);
}
}
return $this;
}
}