<?php
namespace App\Entity;
use App\Repository\ComClientesTarifasRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: ComClientesTarifasRepository::class)]
class ComClientesTarifas
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column]
private array $aduanas = [];
#[ORM\Column(length: 255, nullable: true)]
private ?string $tipoEmpresa = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $regimenTributario = null;
#[ORM\Column]
private array $condicionesEspeciales = [];
#[ORM\Column(type: 'boolean', nullable: true)]
private ?bool $protocoloExportacion = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $producto = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $pais = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $terminoNegociacion = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $observaciones = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $tipoCaso = null;
#[ORM\ManyToOne(inversedBy: 'comClientesTarifas')]
private ?ComProspecto $comProspecto = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE)]
private ?\DateTimeInterface $createAt = null;
#[ORM\Column(length: 255)]
private ?string $createUser = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE)]
private ?\DateTimeInterface $updateAt = null;
#[ORM\Column(length: 255)]
private ?string $updateUser = null;
#[ORM\ManyToMany(targetEntity: ComInformacionContacto::class, inversedBy: 'comClientesTarifas')]
private Collection $contactoC170Cliente;
#[ORM\ManyToOne(inversedBy: 'comClientesTarifas')]
private ?TerEmpresaCliente $terEmpresaCliente = null;
#[ORM\OneToMany(mappedBy: 'comClientesTarifas', targetEntity: ComTiempoServiciosANS::class)]
private Collection $comTiempoServiciosANS;
#[ORM\OneToMany(mappedBy: 'comClienteTarifas', targetEntity: ComClientesVinculados::class)]
private Collection $comClientesVinculados;
public function __construct()
{
$this->contactoC170Cliente = new ArrayCollection();
$this->comTiempoServiciosANS = new ArrayCollection();
$this->comClientesVinculados = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getAduanas(): array
{
return $this->aduanas;
}
public function setAduanas(array $aduanas): static
{
$this->aduanas = $aduanas;
return $this;
}
public function getTipoEmpresa(): ?string
{
return $this->tipoEmpresa;
}
public function setTipoEmpresa(string $tipoEmpresa): static
{
$this->tipoEmpresa = $tipoEmpresa;
return $this;
}
public function getRegimenTributario(): ?string
{
return $this->regimenTributario;
}
public function setRegimenTributario(string $regimenTributario): static
{
$this->regimenTributario = $regimenTributario;
return $this;
}
public function getCondicionesEspeciales(): array
{
return $this->condicionesEspeciales;
}
public function setCondicionesEspeciales(array $condicionesEspeciales): static
{
$this->condicionesEspeciales = $condicionesEspeciales;
return $this;
}
public function isProtocoloExportacion(): ?bool
{
return $this->protocoloExportacion;
}
public function setProtocoloExportacion(?bool $protocoloExportacion): static
{
$this->protocoloExportacion = $protocoloExportacion;
return $this;
}
public function getProducto(): ?string
{
return $this->producto;
}
public function setProducto(?string $producto): static
{
$this->producto = $producto;
return $this;
}
public function getPais(): ?string
{
return $this->pais;
}
public function setPais(?string $pais): static
{
$this->pais = $pais;
return $this;
}
public function getTerminoNegociacion(): ?string
{
return $this->terminoNegociacion;
}
public function setTerminoNegociacion(?string $terminoNegociacion): static
{
$this->terminoNegociacion = $terminoNegociacion;
return $this;
}
public function getObservaciones(): ?string
{
return $this->observaciones;
}
public function setObservaciones(?string $observaciones): static
{
$this->observaciones = $observaciones;
return $this;
}
public function getTipoCaso(): ?string
{
return $this->tipoCaso;
}
public function setTipoCaso(string $tipoCaso): static
{
$this->tipoCaso = $tipoCaso;
return $this;
}
public function getComProspecto(): ?ComProspecto
{
return $this->comProspecto;
}
public function setComProspecto(?ComProspecto $comProspecto): static
{
$this->comProspecto = $comProspecto;
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, ComInformacionContacto>
*/
public function getContactoC170Cliente(): Collection
{
return $this->contactoC170Cliente;
}
public function addContactoC170Cliente(ComInformacionContacto $contactoC170Cliente): static
{
if (!$this->contactoC170Cliente->contains($contactoC170Cliente)) {
$this->contactoC170Cliente->add($contactoC170Cliente);
}
return $this;
}
public function removeContactoC170Cliente(ComInformacionContacto $contactoC170Cliente): static
{
$this->contactoC170Cliente->removeElement($contactoC170Cliente);
return $this;
}
public function getTerEmpresaCliente(): ?TerEmpresaCliente
{
return $this->terEmpresaCliente;
}
public function setTerEmpresaCliente(?TerEmpresaCliente $terEmpresaCliente): static
{
$this->terEmpresaCliente = $terEmpresaCliente;
return $this;
}
/**
* @return Collection<int, ComTiempoServiciosANS>
*/
public function getComTiempoServiciosANS(): Collection
{
return $this->comTiempoServiciosANS;
}
public function addComTiempoServiciosAN(ComTiempoServiciosANS $comTiempoServiciosAN): static
{
if (!$this->comTiempoServiciosANS->contains($comTiempoServiciosAN)) {
$this->comTiempoServiciosANS->add($comTiempoServiciosAN);
$comTiempoServiciosAN->setComClientesTarifas($this);
}
return $this;
}
public function removeComTiempoServiciosAN(ComTiempoServiciosANS $comTiempoServiciosAN): static
{
if ($this->comTiempoServiciosANS->removeElement($comTiempoServiciosAN)) {
// set the owning side to null (unless already changed)
if ($comTiempoServiciosAN->getComClientesTarifas() === $this) {
$comTiempoServiciosAN->setComClientesTarifas(null);
}
}
return $this;
}
/**
* @return Collection<int, ComClientesVinculados>
*/
public function getComClientesVinculados(): Collection
{
return $this->comClientesVinculados;
}
public function addComClientesVinculado(ComClientesVinculados $comClientesVinculado): static
{
if (!$this->comClientesVinculados->contains($comClientesVinculado)) {
$this->comClientesVinculados->add($comClientesVinculado);
$comClientesVinculado->setComClienteTarifas($this);
}
return $this;
}
public function removeComClientesVinculado(ComClientesVinculados $comClientesVinculado): static
{
if ($this->comClientesVinculados->removeElement($comClientesVinculado)) {
// set the owning side to null (unless already changed)
if ($comClientesVinculado->getComClienteTarifas() === $this) {
$comClientesVinculado->setComClienteTarifas(null);
}
}
return $this;
}
}