src/AppBundle/Entity/Empresa.php line 14
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* Empresa.
*
* @ORM\Table(name="empresa")
* @ORM\Entity(repositoryClass="AppBundle\Repository\EmpresaRepository")
*/
class Empresa
{
const TIPO_CLIENTE_COMUN= '';
const TIPO_CONSUMIDOR_FINAL = 'C';
const TIPO_CONSUMIDOR_FINAL_NEW = 'F'; //Consumidor final NEW es el NUEVO consumidor final capaz de comprar e independientemente del id cliente "600000"
const TIPO_CLIENTE_PARTICULAR = 'P';
const TIPO_REVENDEDOR = 'R';
const ID_CLIENTE_GENERICO = '0000600000';
/**
* @var int
*
* @ORM\Column(name="id", type="string", length=10)
* @ORM\Id
*/
private $id;
/**
* @var string
* @Assert\NotBlank()
* @ORM\Column(name="razon_social", type="string", length=35, nullable=true)
*/
private $razonSocial;
private $razonSocial2; //"Nombre de Fantasia" para Uruguay
/**
* @var string
* @Assert\NotBlank()
* @ORM\Column(name="cuit", type="string", length=16, nullable=true)
*/
private $cuit;
/**
* @var string
* @Assert\NotBlank()
* @ORM\Column(name="dir_calle", type="string", length=60, nullable=true)
*/
private $dirCalle;
/**
* @var string
* @Assert\NotBlank()
* @ORM\Column(name="dir_altura", type="string", length=10, nullable=true)
*/
private $dirAltura;
/**
* @var string
* @Assert\NotBlank()
* @ORM\Column(name="codigo_postal", type="string", length=10, nullable=true)
*/
private $codigoPostal;
/**
* @var string
* @Assert\NotBlank()
* @ORM\Column(name="ciudad", type="string", length=40, nullable=true)
*/
private $ciudad;
/**
* @var string
* @Assert\NotBlank()
* @ORM\Column(name="provincia", type="string", length=20, nullable=true)
*/
private $provincia;
/**
* @var string
* @Assert\NotBlank()
* @ORM\Column(name="pais", type="string", length=15, nullable=true)
*/
private $pais;
/**
* @var string
* @Assert\NotBlank()
* @ORM\Column(name="telefono", type="string", length=30, nullable=true)
*/
private $telefono;
/**
* @var string
* @Assert\NotBlank()
* @ORM\Column(name="moneda_cliente", type="string", length=5, nullable=true)
*/
private $moneda_cliente;
private $moneda_visualizable_cliente;
/**
* @var string
* @Assert\NotBlank()
* @ORM\Column(name="clase_impuesto", type="string", length=60, nullable=true)
*/
private $claseImpuesto;
/**
* @ORM\Column(name="condicion_pago_codigo", type="string", length=50, nullable=true)
*/
private $condicionPagoCodigo;
/**
* @ORM\Column(name="condicion_pago_descripcion", type="string", length=255, nullable=true)
*/
private $condicionPagoDescripcion;
/**
* @ORM\Column(name="condicion_pago_descuento", type="float", nullable=true)
*/
private $condicionPagoDescuento;
/**
* @ORM\Column(name="condicion_pago_adicional_codigo", type="string", length=50, nullable=true)
*/
private $condicionPagoAdicionalCodigo;
/**
* @ORM\Column(name="condicion_pago_adicional_descripcion", type="string", length=255, nullable=true)
*/
private $condicionPagoAdicionalDescripcion;
/**
* @ORM\Column(name="condicion_pago_adicional_descuento", type="float", nullable=true)
*/
private $condicionPagoAdicionalDescuento;
/**
* @var float
* @Assert\NotBlank()
* @ORM\Column(name="credito_disponible", type="float", nullable=true)
*/
private $creditoDisponible;
/**
* @var float
* @Assert\NotBlank()
* @ORM\Column(name="credito_comprometido", type="float", nullable=true)
*/
private $creditoComprometido;
/**
* @ORM\ManyToOne(targetEntity="Sucursal", inversedBy="empresas")
* @ORM\JoinColumn(name="sucursal_id", referencedColumnName="id")
*/
private $centro;
/**
* @ORM\Column(name="sucursal_id", type="integer")
*/
private $centroId;
/**
* @ORM\OneToMany(targetEntity="Usuario", mappedBy="empresa")
*/
protected $usuarios;
/**
* @ORM\Column(name="email_cotizacion", type="string", length=255, nullable=true)
*/
protected $emailCotizacion;
protected $codigosBloqueo;
/**
* @var string
* @ORM\Column(name="id_modvar", type="string", length=10, nullable=true)
*/
protected $idModvar;
/**
* @ORM\Column(name="mail_chat", type="string", length=100, nullable=true)
*/
protected $mailChat;
/**
* @var string
* @ORM\Column(name="clasificacion", type="string", length=10, nullable=true)
*/
protected $clasificacion;
/**
* @var string
* @ORM\Column(name="canal", type="string", length=22, nullable=true)
*/
protected $canal;
/**
* @var string
* @ORM\Column(name="clausula_ajuste", type="string", length=3, nullable=true)
*/
protected $clausulaAjuste;
/**
* @var string
* @ORM\Column(name="acepta_nd", type="boolean", nullable=true)
*/
protected $aceptaNd;
/**
* @var string
* @ORM\Column(name="zzt1", type="integer", nullable=true)
*/
protected $zzt1;
/**
* @var string
* @ORM\Column(name="zzt2", type="integer", nullable=true)
*/
protected $zzt2;
/**
* @var string
* @ORM\Column(name="coeficiente_recargo", type="float", nullable=true)
*/
protected $coeficienteRecargo;
/**
* @var string
* @ORM\Column(name="encargado_comercial", type="string", length=40, nullable=true)
*/
protected $encargadoComercial;
/**
* @var string
* @ORM\Column(name="responsable", type="string", length=40, nullable=true)
*/
protected $responsable;
/**
* @var string
* @Assert\NotBlank()
* @ORM\Column(name="activador_cobranzas", type="string", length=40, nullable=true)
*/
protected $activadorCobranzas;
/**
* @var string
* @ORM\Column(name="notasT1", type="string", length=130, nullable=true)
*/
protected $notasT1;
/**
* @var string
* @ORM\Column(name="notasT2", type="string", length=130, nullable=true)
*/
protected $notasT2;
/**
* @var string
* @ORM\Column(name="notasT3", type="string", length=130, nullable=true)
*/
protected $notasT3;
/**
* @var string
* @ORM\Column(name="notasT4", type="string", length=130, nullable=true)
*/
protected $notasT4;
/**
* @var string
* @ORM\Column(name="industria", type="string", length=255, nullable=true)
*/
protected $industria;
/**
* @var string
* @ORM\Column(name="sector_industrial", type="string", length=255, nullable=true)
*/
protected $sectorIndustrial;
/**
* @var boolean
* @ORM\Column(name="cons_final", type="string", length=1, nullable=true)
*/
protected $consFinal;
/**
* @var string
* @ORM\Column(name="encuesta", type="text", nullable=true)
*/
protected $encuesta;
/**
* @var float
* @ORM\Column(name="iva", type="float", nullable=true, options={"default"=0})
*/
protected $iva;
protected $cotizacion;
protected $bancos;
protected $diasGiro;
protected $notasInternas;
protected $autogestion;
protected $moduloCobranzas;
protected $moduloPostVentas;
protected $puntajeActual;
protected $puntajeAnterior;
protected $fechaPuntaje;
protected $puntajeObjetivo;
private $requiereActualizarDireccionFiscal;
protected $tipoCambio;
public function __construct()
{
$this->codigosBloqueo = [];
$this->usuarios = new \Doctrine\Common\Collections\ArrayCollection();
}
/**
* Get id.
*
* @return int
*/
public function getId()
{
return $this->id;
}
public function getMailChat() {
return $this->mailChat;
}
public function setMailChat($mailChat) {
$this->mailChat = $mailChat;
return $this;
}
/**
* Set razonSocial.
*
* @param string $razonSocial
*
* @return Empresa
*/
public function setRazonSocial($razonSocial)
{
$this->razonSocial = $razonSocial;
return $this;
}
/**
* Get razonSocial.
*
* @return string
*/
public function getRazonSocial()
{
return $this->razonSocial;
}
/**
* Set razonSocial2.
*
* @param string $razonSocial2
*
* @return Empresa
*/
public function setRazonSocial2($razonSocial2)
{
$this->razonSocial2 = $razonSocial2;
return $this;
}
/**
* Get razonSocial2.
*
* @return string
*/
public function getRazonSocial2()
{
return $this->razonSocial2;
}
public function getRazonSocialTruncated()
{
$out = strlen($this->razonSocial) > 15 ? substr($this->razonSocial, 0, 15).'...' : $this->razonSocial;
return $out;
}
/**
* Set codigoPostal.
*
* @param string $codigoPostal
*
* @return Empresa
*/
public function setCodigoPostal($codigoPostal)
{
$this->codigoPostal = $codigoPostal;
return $this;
}
/**
* Get codigoPostal.
*
* @return string
*/
public function getCodigoPostal()
{
return $this->codigoPostal;
}
/**
* Set ciudad.
*
* @param string $ciudad
*
* @return Empresa
*/
public function setCiudad($ciudad)
{
$this->ciudad = $ciudad;
return $this;
}
/**
* Get ciudad.
*
* @return string
*/
public function getCiudad()
{
return $this->ciudad;
}
/**
* Set cuit.
*
* @param string $cuit
*
* @return Empresa
*/
public function setCuit($cuit)
{
$this->cuit = $cuit;
return $this;
}
/**
* Get cuit.
*
* @return string
*/
public function getCuit()
{
return $this->cuit;
}
/**
* Set provincia.
*
* @param string $provincia
*
* @return Empresa
*/
public function setProvincia($provincia)
{
$this->provincia = $provincia;
return $this;
}
/**
* Get provincia.
*
* @return string
*/
public function getProvincia()
{
return $this->provincia;
}
/**
* Set pais.
*
* @param string $pais
*
* @return Empresa
*/
public function setPais($pais)
{
$this->pais = $pais;
return $this;
}
/**
* Get pais.
*
* @return string
*/
public function getPais()
{
return $this->pais;
}
/**
* Set telefono.
*
* @param string $telefono
*
* @return Empresa
*/
public function setTelefono($telefono)
{
$this->telefono = $telefono;
return $this;
}
/**
* Get telefono.
*
* @return string
*/
public function getTelefono()
{
return $this->telefono;
}
/**
* Set monedaCliente.
*
* @param string $monedaCliente
*
* @return Empresa
*/
public function setMonedaCliente($monedaCliente)
{
$this->moneda_cliente = $monedaCliente;
return $this;
}
/**
* Get monedaCliente.
*
* @return string
*/
public function getMonedaCliente()
{
return $this->moneda_cliente;
}
/**
* Set monedaVisualizableCliente used in forth step.
*
* @param string $monedaCliente
* @param string $abrMoneda
*
* @return Empresa
*/
public function setMonedaVisualizableCliente($monedaCliente, $abrMoneda)
{
$this->moneda_visualizable_cliente = $monedaCliente == "ARS" ? $abrMoneda : $monedaCliente;
return $this;
}
/**
* Get monedaVisualizableCliente used in forth step.
*
* @return string
*/
public function getMonedaVisualizableCliente()
{
return $this->moneda_visualizable_cliente;
}
/**
* Set claseImpuesto.
*
* @param string $claseImpuesto
*
* @return Empresa
*/
public function setClaseImpuesto($claseImpuesto)
{
$this->claseImpuesto = $claseImpuesto;
return $this;
}
/**
* Get claseImpuesto.
*
* @return string
*/
public function getClaseImpuesto()
{
return $this->claseImpuesto;
}
/**
* Set condicionPago.
*
* @param string $condicionPago
*
* @return Empresa
*/
public function setCondicionPagoCodigo($condicionPagoCodigo)
{
$this->condicionPagoCodigo = $condicionPagoCodigo;
return $this;
}
/**
* Get condicionPago.
*
* @return string
*/
public function getCondicionPagoCodigo()
{
return $this->condicionPagoCodigo;
}
/**
* Set condicionPago.
*
* @param string $condicionPago
*
* @return Empresa
*/
public function setCondicionPagoDescripcion($condicionPagoDescripcion)
{
$this->condicionPagoDescripcion = $condicionPagoDescripcion;
return $this;
}
/**
* Get condicionPago.
*
* @return string
*/
public function getCondicionPagoDescripcion()
{
return $this->condicionPagoDescripcion;
}
/**
* Set condicionPago.
*
* @param string $condicionPago
*
* @return Empresa
*/
public function setCondicionPagoDescuento($condicionPagoDescuento)
{
$this->condicionPagoDescuento = $condicionPagoDescuento;
return $this;
}
/**
* Get condicionPago.
*
* @return string
*/
public function getCondicionPagoDescuento()
{
return $this->condicionPagoDescuento;
}
/**
* Set condicionPago.
*
* @param string $condicionPago
*
* @return Empresa
*/
public function setCondicionPagoAdicionalCodigo($condicionPagoCodigo)
{
$this->condicionPagoAdicionalCodigo = $condicionPagoCodigo;
return $this;
}
/**
* Get condicionPago.
*
* @return string
*/
public function getCondicionPagoAdicionalCodigo()
{
return $this->condicionPagoAdicionalCodigo;
}
/**
* Set condicionPago.
*
* @param string $condicionPago
*
* @return Empresa
*/
public function setCondicionPagoAdicionalDescripcion($condicionPagoDescripcion)
{
$this->condicionPagoAdicionalDescripcion = $condicionPagoDescripcion;
return $this;
}
/**
* Get condicionPago.
*
* @return string
*/
public function getCondicionPagoAdicionalDescripcion()
{
return $this->condicionPagoAdicionalDescripcion;
}
/**
* Get condicionPago.
*
* @return string
*/
public function getCondicionPagoAdicionalDescuento()
{
return $this->condicionPagoAdicionalDescuento;
}
/**
* Set condicionPago.
*
* @param string $condicionPago
*
* @return Empresa
*/
public function setCondicionPagoAdicionalDescuento($condicionPagoDescuento)
{
$this->condicionPagoAdicionalDescuento = $condicionPagoDescuento;
return $this;
}
/**
* Set creditoDisponible.
*
* @param float $creditoDisponible
*
* @return Empresa
*/
public function setCreditoDisponible($creditoDisponible)
{
$this->creditoDisponible = $creditoDisponible;
return $this;
}
/**
* Get creditoDisponible.
*
* @return float
*/
public function getCreditoDisponible()
{
return $this->creditoDisponible;
}
/**
* Set creditoComprometido.
*
* @param float $creditoComprometido
*
* @return Empresa
*/
public function setCreditoComprometido($creditoComprometido)
{
$this->creditoComprometido = $creditoComprometido;
return $this;
}
/**
* Get creditoComprometido.
*
* @return float
*/
public function getCreditoComprometido()
{
return $this->creditoComprometido;
}
/**
* Get creditoComprometido.
*
* @return float
*/
public function getLimiteCredito()
{
return $this->creditoDisponible + $this->creditoComprometido;
}
/**
* Set dirCalle.
*
* @param string $dirCalle
*
* @return Empresa
*/
public function setDirCalle($dirCalle)
{
$this->dirCalle = $dirCalle;
return $this;
}
/**
* Get dirCalle.
*
* @return string
*/
public function getDirCalle()
{
return $this->dirCalle;
}
/**
* Set dirAltura.
*
* @param string $dirAltura
*
* @return Empresa
*/
public function setDirAltura($dirAltura)
{
$this->dirAltura = $dirAltura;
return $this;
}
/**
* Get dirAltura.
*
* @return string
*/
public function getDirAltura()
{
return $this->dirAltura;
}
/**
* Add usuario.
*
* @param \AppBundle\Entity\Usuario $usuario
*
* @return Empresa
*/
public function addUsuario(\AppBundle\Entity\Usuario $usuario)
{
$this->usuarios[] = $usuario;
return $this;
}
/**
* Remove usuario.
*
* @param \AppBundle\Entity\Usuario $usuario
*/
public function removeUsuario(\AppBundle\Entity\Usuario $usuario)
{
$this->usuarios->removeElement($usuario);
}
/**
* Get usuarios.
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getUsuarios()
{
return $this->usuarios;
}
/**
* Set id.
*
* @param int $id
*
* @return Empresa
*/
public function setId($id)
{
$this->id = $id;
return $this;
}
public function getCentro()
{
return $this->centro;
}
public function setCentro($centro)
{
$this->centro = $centro;
return $this;
}
/**
* Set emailCotizacion.
*
* @param string $emailCotizacion
*
* @return Empresa
*/
public function setEmailCotizacion($emailCotizacion)
{
$this->emailCotizacion = $emailCotizacion;
return $this;
}
/**
* Get emailCotizacion.
*
* @return string
*/
public function getEmailCotizacion()
{
return $this->emailCotizacion;
}
public function addCodigoBloqueo($codigoBloqueo)
{
$this->codigosBloqueo[] = $codigoBloqueo;
return $this;
}
public function removeCodigoBloqueo($codigoBloqueo)
{
$this->codigosBloqueo->removeElement($codigoBloqueo);
}
public function getCodigosBloqueo()
{
return $this->codigosBloqueo;
}
public function tieneBloqueo($codigoBloqueo)
{
if (is_null($this->codigosBloqueo)) {
return false;
}
return in_array($codigoBloqueo, $this->codigosBloqueo);
}
public function getIdModvar() {
return $this->idModvar;
}
public function setIdModvar($idModvar) {
$this->idModvar = $idModvar;
return $this;
}
/**
* Set clasificacion.
*
* @param string $clasificacion
*
* @return Empresa
*/
public function setClasificacion($clasificacion)
{
$this->clasificacion = $clasificacion;
return $this;
}
/**
* Get clasificacion.
*
* @return string
*/
public function getClasificacion()
{
return $this->clasificacion;
}
public function tieneFleteBonificado()
{
return in_array($this->getClasificacion(), array('A0','A1','A2','A3','P0','P1','P2','P3'));
}
/**
* Set canal
*
* @param string $canal
*
* @return Empresa
*/
public function setCanal($canal)
{
$this->canal = $canal;
return $this;
}
/**
* Get canal
*
* @return string
*/
public function getCanal()
{
return $this->canal;
}
/**
* Set clausulaAjuste
*
* @param string $clausulaAjuste
*
* @return Empresa
*/
public function setClausulaAjuste($clausulaAjuste)
{
$this->clausulaAjuste = $clausulaAjuste;
return $this;
}
/**
* Get clausulaAjuste
*
* @return string
*/
public function getClausulaAjuste()
{
return $this->clausulaAjuste;
}
/**
* Set zzt1
*
* @param integer $zzt1
*
* @return Empresa
*/
public function setZzt1($zzt1)
{
$this->zzt1 = $zzt1;
return $this;
}
/**
* Get zzt1
*
* @return integer
*/
public function getZzt1()
{
return $this->zzt1;
}
/**
* Set zzt2
*
* @param integer $zzt2
*
* @return Empresa
*/
public function setZzt2($zzt2)
{
$this->zzt2 = $zzt2;
return $this;
}
/**
* Get zzt2
*
* @return integer
*/
public function getZzt2()
{
return $this->zzt2;
}
/**
* Set coeficienteRecargo
*
* @param float $coeficienteRecargo
*
* @return Empresa
*/
public function setCoeficienteRecargo($coeficienteRecargo)
{
$this->coeficienteRecargo = $coeficienteRecargo;
return $this;
}
/**
* Get coeficienteRecargo
*
* @return float
*/
public function getCoeficienteRecargo()
{
return $this->coeficienteRecargo;
}
/**
* Set diasGiro
*
* @param int $diasGiro
*
* @return Empresa
*/
public function setDiasGiro($diasGiro)
{
$this->diasGiro = $diasGiro;
return $this;
}
/**
* Get diasGiro
*
* @return int
*/
public function getDiasGiro()
{
return $this->diasGiro;
}
/**
* Set encargadoComercial
*
* @param string $encargadoComercial
*
* @return Empresa
*/
public function setEncargadoComercial($encargadoComercial)
{
$this->encargadoComercial = $encargadoComercial;
return $this;
}
/**
* Get encargadoComercial
*
* @return string
*/
public function getEncargadoComercial()
{
return $this->encargadoComercial;
}
/**
* Set responsable
*
* @param string $responsable
*
* @return Empresa
*/
public function setResponsable($responsable)
{
$this->responsable = $responsable;
return $this;
}
/**
* Get responsable
*
* @return string
*/
public function getResponsable()
{
return $this->responsable;
}
/**
* Set activadorCobranzas
*
* @param string $activadorCobranzas
*
* @return Empresa
*/
public function setActivadorCobranzas($activadorCobranzas)
{
$this->activadorCobranzas = $activadorCobranzas;
return $this;
}
/**
* Get activadorCobranzas
*
* @return string
*/
public function getActivadorCobranzas()
{
return $this->activadorCobranzas;
}
/**
* Set autogestion
*
* @param string $autogestion
*
* @return Empresa
*/
public function setAutogestion($autogestion)
{
$this->autogestion = $autogestion;
return $this;
}
/**
* Get autogestion
*
* @return string
*/
public function getAutogestion()
{
return $this->autogestion;
}
/**
* Set moduloCobranzas
*
* @param string $moduloCobranzas
*
* @return Empresa
*/
public function setModuloCobranzas($moduloCobranzas)
{
$this->moduloCobranzas = $moduloCobranzas;
return $this;
}
/**
* Get moduloCobranzas
*
* @return string
*/
public function getModuloCobranzas()
{
return intval($this->moduloCobranzas);
}
/**
* Set moduloPostVentas
*
* @param string $moduloPostVentas
*
* @return Empresa
*/
public function setModuloPostVentas($moduloPostVentas)
{
$this->moduloPostVentas = $moduloPostVentas;
return $this;
}
/**
* Get moduloPostVentas
*
* @return string
*/
public function getModuloPostVentas()
{
return intval($this->moduloPostVentas);
}
/**
* Set notasT1
*
* @param string $notasT1
*
* @return Empresa
*/
public function setNotasT1($notasT1)
{
$this->notasT1 = $notasT1;
return $this;
}
/**
* Get notasT1
*
* @return string
*/
public function getNotasT1()
{
return $this->notasT1;
}
/**
* Set notasT2
*
* @param string $notasT2
*
* @return Empresa
*/
public function setNotasT2($notasT2)
{
$this->notasT2 = $notasT2;
return $this;
}
/**
* Get notasT2
*
* @return string
*/
public function getNotasT2()
{
return $this->notasT2;
}
/**
* Set notasT3
*
* @param string $notasT3
*
* @return Empresa
*/
public function setNotasT3($notasT3)
{
$this->notasT3 = $notasT3;
return $this;
}
/**
* Get notasT3
*
* @return string
*/
public function getNotasT3()
{
return $this->notasT3;
}
/**
* Set notasT4
*
* @param string $notasT4
*
* @return Empresa
*/
public function setNotasT4($notasT4)
{
$this->notasT4 = $notasT4;
return $this;
}
/**
* Get notasT4
*
* @return string
*/
public function getNotasT4()
{
return $this->notasT4;
}
/**
* Set notasInternas
*
* @param string $notasInternas
*
* @return Empresa
*/
public function setNotasInternas($notasInternas)
{
$this->notasInternas = $notasInternas;
return $this;
}
/**
* Get notasInternas
*
* @return string
*/
public function getNotasInternas()
{
return $this->notasInternas;
}
/**
* Set industria
*
* @param string $industria
*
* @return Empresa
*/
public function setIndustria($industria)
{
$this->industria = $industria;
return $this;
}
/**
* Get industria
*
* @return string
*/
public function getIndustria()
{
return $this->industria;
}
/**
* Set sectorIndustrial
*
* @param string $sectorIndustrial
*
* @return Empresa
*/
public function setSectorIndustrial($sectorIndustrial)
{
$this->sectorIndustrial = $sectorIndustrial;
return $this;
}
/**
* Get sectorIndustrial
*
* @return string
*/
public function getSectorIndustrial()
{
return $this->sectorIndustrial;
}
public function getAceptaND()
{
return ($this->aceptaNd ? 'Si' : 'No');
}
public function setAceptaND($aceptaNd)
{
$this->aceptaNd = ($aceptaNd ? true : false);
return $this;
}
public function esConsumidorFinal()
{
return $this->consFinal === self::TIPO_CONSUMIDOR_FINAL;
}
public function esConsumidorFinalNew()
{
return $this->consFinal === self::TIPO_CONSUMIDOR_FINAL_NEW; //Los nuevos consumidores finales si pueden comprar
}
public function esClienteParticular()
{
return $this->consFinal === self::TIPO_CLIENTE_PARTICULAR || $this->id === self::ID_CLIENTE_GENERICO;
}
public function esClienteComun()
{
return $this->consFinal === self::TIPO_CLIENTE_COMUN;
}
public function setConsumidorFinal()
{
$this->consFinal = self::TIPO_CONSUMIDOR_FINAL;
}
public function setConsumidorFinalNew()
{
$this->consFinal = self::TIPO_CONSUMIDOR_FINAL_NEW;
}
public function setClienteParticular()
{
$this->consFinal = self::TIPO_CLIENTE_PARTICULAR;
}
public function setClienteComun()
{
$this->consFinal = self::TIPO_CLIENTE_COMUN;
}
/**
* * De vuelve las Notas.
* @return array
*/
public function getNotas()
{
return [
$this->notasT1,
$this->notasT2,
$this->notasT3,
$this->notasT4,
];
}
public function getNroCliente()
{
return ltrim($this->id, '0');
}
/**
* Set consFinal
*
* @param boolean $consFinal
*
* @return Empresa
*/
public function setConsFinal($consFinal)
{
$this->consFinal = $consFinal;
return $this;
}
/**
* Get consFinal
*
* @return boolean
*/
public function getConsFinal()
{
return $this->consFinal;
}
/**
* Set iva
*
* @param float $iva
*
* @return float
*/
public function setIva($iva)
{
$this->iva = $iva;
return $this;
}
/**
* Get iva
*
* @return float
*/
public function getIva()
{
return $this->iva;
}
/**
* Set cotizacion
*
* @param float $cotizacion
*
* @return float
*/
public function setCotizacion($cotizacion)
{
$this->cotizacion = $cotizacion;
return $this;
}
/**
* Get cotizacion
*
* @return float
*/
public function getCotizacion()
{
return $this->cotizacion;
}
public function getDataDetallePedido(){
return [
'razonSocial' => $this->getRazonSocial(),
'cuit' => $this->getCuit(),
'dirCalle' => $this->getDirCalle(),
'dirAltura' => $this->getDirAltura(),
'ciudad' => $this->getCiudad(),
'provincia' => $this->getProvincia(),
'telefono' => $this->getTelefono()
];
}
/**
* Set bancos
*/
public function setBancos($bancos)
{
$this->bancos = $bancos;
return $this;
}
/**
* Get bancos
*/
public function getBancos()
{
return $this->bancos;
}
public function setCentroId($centroId) {
$this->centroId = $centroId;
return $this;
}
public function getDireccionFiscal()
{
return "{$this->getdirCalle()} {$this->getdirAltura()}, CP {$this->getcodigoPostal()} {$this->getciudad()}, {$this->getprovincia()} {$this->getpais()}";
}
public function getGrupoTest()
{
return (intval($this->id) % 2 == 0) ? 'A' : 'B';
}
public function setRequiereActualizarDireccionFiscal($requiereActualizarDireccionFiscal){
$this->requiereActualizarDireccionFiscal = $requiereActualizarDireccionFiscal;
return $this;
}
public function getRequiereActualizarDireccionFiscal(){
return $this->requiereActualizarDireccionFiscal;
}
public function setEncuesta($encuesta) {
$this->encuesta = $encuesta;
return $this;
}
public function getEncuesta() {
return $this->encuesta ?? 'X';
}
public function setFechaPuntaje($valor)
{
$this->fechaPuntaje = $valor;
return $this;
}
public function getFechaPuntaje()
{
return $this->fechaPuntaje;
}
public function setPuntajeActual($valor)
{
$this->puntajeActual = $valor;
return $this;
}
public function getPuntajeActual()
{
return $this->puntajeActual;
}
public function setPuntajeAnterior($valor)
{
$this->puntajeAnterior = $valor;
return $this;
}
public function getPuntajeAnterior()
{
return $this->puntajeAnterior;
}
public function setPuntajeObjetivo($valor)
{
$this->puntajeObjetivo = $valor;
return $this;
}
public function getPuntajeObjetivo()
{
return $this->puntajeObjetivo;
}
/**
* * De vuelve el mensaje del puntaje.
* @return string
*/
public function getMensajePuntaje(): string
{
$combinaciones = [
'1_2' => "Realizar una cotización o un pedido de la PIN.",
'2_4' => "Usar el módulo de postventa y cobranzas.",
'4_7' => "Aumentar la autogestión más de un 5%",
'5_7' => "Usar el módulo de postventa y cobranzas.",
'7_10' => "Aumentar la autogestión más de un 25%",
'8_10' => "Usar el módulo de postventa y cobranzas.",
'10_13' => "Aumentar la autogestión más de un 70%",
'11_13' => "Usar el módulo de postventa y cobranzas."
];
$key = $this->getPuntajeActual();
if ($this->getPuntajeObjetivo()) {
$key .= "_" . $this->getPuntajeObjetivo();
}
return $combinaciones[$key] ?? "";
}
public function setTipoCambio($tipoCambio)
{
$this->tipoCambio = $tipoCambio;
return $this;
}
public function getTipoCambio()
{
return $this->tipoCambio;
}
/**
* * Devuleve la Entidad en formato array.
* @return array
*/
public function __toArray()
{
return [
'acepta_nd' => $this->getAceptand(),
'activador' => $this->getActivadorCobranzas(),
'altura' => $this->getDirAltura(),
'asesor' => $this->getEncargadoComercial(),
'autogestion' => $this->getAutogestion(),
'canal' => $this->getCanal(),
'calle' => $this->getDirCalle(),
'ciudad' => $this->getCiudad(),
'clasificacion' => $this->getClasificacion(),
'clausula' => $this->getClausulaAjuste(),
'codigo_postal' => $this->getCodigoPostal(),
'condicion_pago' => $this->getCondicionPagoDescripcion(),
'condicion_pago_codigo' => $this->getCondicionPagoCodigo(),
'coeficiente_recargo' => $this->getCoeficienteRecargo(),
'cuit' => $this->getCuit(),
'dias_giro' => $this->getDiasGiro(),
'fecha_puntaje' => $this->getFechaPuntaje(),
'grupo_test' => $this->getGrupoTest(),
'id' => intval($this->getId()),
'mensaje_puntaje' => $this->getMensajePuntaje(),
'moneda' => $this->getMonedaCliente(),
'notas' => $this->getNotas(),
'notaInterna' => $this->getNotasInternas(),
'pais' => $this->getPais(),
'provincia' => $this->getProvincia(),
'puntaje_actual' => $this->getPuntajeActual(),
'puntaje_anterior' => $this->getPuntajeAnterior(),
'puntaje_objetivo' => $this->getPuntajeObjetivo(),
'razon_social' => $this->getRazonSocial(),
'responsable' => $this->getResponsable(),
'sucursal' => $this->getCentro() ? $this->getCentro()->getId() : '',
'sucursal_nombre' => $this->getCentro() ? $this->getCentro()->getNombre() : '',
'telefono' => $this->getTelefono(),
't1' => $this->getZzt1(),
't2' => $this->getZzt2(),
'usaModuloCobranzas' => $this->getModuloCobranzas(),
'usaModuloPostVentas' => $this->getModuloPostVentas(),
'variante_id' => $this->getIdModvar(),
'emailCotizacion' => $this->getEmailCotizacion(),
'cotizacion' => $this->getCotizacion(),
'tipoCambio' => $this->getTipoCambio(),
];
}
}