src/AppBundle/Entity/Empresa.php line 14

  1. <?php
  2. namespace AppBundle\Entity;
  3. use Doctrine\ORM\Mapping as ORM;
  4. use Symfony\Component\Validator\Constraints as Assert;
  5. /**
  6.  * Empresa.
  7.  *
  8.  * @ORM\Table(name="empresa")
  9.  * @ORM\Entity(repositoryClass="AppBundle\Repository\EmpresaRepository")
  10.  */
  11. class Empresa
  12. {
  13.     const TIPO_CLIENTE_COMUN'';
  14.     const TIPO_CONSUMIDOR_FINAL 'C';
  15.     const TIPO_CONSUMIDOR_FINAL_NEW 'F'//Consumidor final NEW es el NUEVO consumidor final capaz de comprar e independientemente del id cliente "600000"
  16.     const TIPO_CLIENTE_PARTICULAR 'P';
  17.     const TIPO_REVENDEDOR 'R';
  18.     const ID_CLIENTE_GENERICO '0000600000';
  19.     
  20.     /**
  21.      * @var int
  22.      *
  23.      * @ORM\Column(name="id", type="string", length=10)
  24.      * @ORM\Id
  25.      */
  26.     private $id;
  27.     /**
  28.      * @var string
  29.      * @Assert\NotBlank()
  30.      * @ORM\Column(name="razon_social", type="string", length=35, nullable=true)
  31.      */
  32.     private $razonSocial;
  33.     private $razonSocial2//"Nombre de Fantasia" para Uruguay
  34.     /**
  35.      * @var string
  36.      * @Assert\NotBlank()
  37.      * @ORM\Column(name="cuit", type="string", length=16, nullable=true)
  38.      */
  39.     private $cuit;
  40.     /**
  41.      * @var string
  42.      * @Assert\NotBlank()
  43.      * @ORM\Column(name="dir_calle", type="string", length=60, nullable=true)
  44.      */
  45.     private $dirCalle;
  46.     /**
  47.      * @var string
  48.      * @Assert\NotBlank()
  49.      * @ORM\Column(name="dir_altura", type="string", length=10, nullable=true)
  50.      */
  51.     private $dirAltura;
  52.     /**
  53.      * @var string
  54.      * @Assert\NotBlank()
  55.      * @ORM\Column(name="codigo_postal", type="string", length=10, nullable=true)
  56.      */
  57.     private $codigoPostal;
  58.     /**
  59.      * @var string
  60.      * @Assert\NotBlank()
  61.      * @ORM\Column(name="ciudad", type="string", length=40, nullable=true)
  62.      */
  63.     private $ciudad;
  64.     /**
  65.      * @var string
  66.      * @Assert\NotBlank()
  67.      * @ORM\Column(name="provincia", type="string", length=20, nullable=true)
  68.      */
  69.     private $provincia;
  70.     /**
  71.      * @var string
  72.      * @Assert\NotBlank()
  73.      * @ORM\Column(name="pais", type="string", length=15, nullable=true)
  74.      */
  75.     private $pais;
  76.     /**
  77.      * @var string
  78.      * @Assert\NotBlank()
  79.      * @ORM\Column(name="telefono", type="string", length=30, nullable=true)
  80.      */
  81.     private $telefono;
  82.     /**
  83.      * @var string
  84.      * @Assert\NotBlank()
  85.      * @ORM\Column(name="moneda_cliente", type="string", length=5, nullable=true)
  86.      */
  87.     private $moneda_cliente;
  88.     private $moneda_visualizable_cliente;
  89.     /**
  90.      * @var string
  91.      * @Assert\NotBlank()
  92.      * @ORM\Column(name="clase_impuesto", type="string", length=60, nullable=true)
  93.      */
  94.     private $claseImpuesto;
  95.     /**
  96.      * @ORM\Column(name="condicion_pago_codigo", type="string", length=50, nullable=true)
  97.      */
  98.     private $condicionPagoCodigo;
  99.     /**
  100.      * @ORM\Column(name="condicion_pago_descripcion", type="string", length=255, nullable=true)
  101.      */
  102.     private $condicionPagoDescripcion;
  103.     /**
  104.      * @ORM\Column(name="condicion_pago_descuento", type="float", nullable=true)
  105.      */
  106.     private $condicionPagoDescuento;
  107.     /**
  108.      * @ORM\Column(name="condicion_pago_adicional_codigo", type="string", length=50, nullable=true)
  109.      */
  110.     private $condicionPagoAdicionalCodigo;
  111.     /**
  112.      * @ORM\Column(name="condicion_pago_adicional_descripcion", type="string", length=255, nullable=true)
  113.      */
  114.     private $condicionPagoAdicionalDescripcion;
  115.     /**
  116.      * @ORM\Column(name="condicion_pago_adicional_descuento", type="float", nullable=true)
  117.      */
  118.     private $condicionPagoAdicionalDescuento;
  119.     /**
  120.      * @var float
  121.      * @Assert\NotBlank()
  122.      * @ORM\Column(name="credito_disponible", type="float", nullable=true)
  123.      */
  124.     private $creditoDisponible;
  125.     /**
  126.      * @var float
  127.      * @Assert\NotBlank()
  128.      * @ORM\Column(name="credito_comprometido", type="float", nullable=true)
  129.      */
  130.     private $creditoComprometido;
  131.     /**
  132.      * @ORM\ManyToOne(targetEntity="Sucursal", inversedBy="empresas")
  133.      * @ORM\JoinColumn(name="sucursal_id", referencedColumnName="id")
  134.      */
  135.     private $centro;
  136.     /**
  137.      * @ORM\Column(name="sucursal_id", type="integer")
  138.      */
  139.     private $centroId;
  140.     /**
  141.      * @ORM\OneToMany(targetEntity="Usuario", mappedBy="empresa")
  142.      */
  143.     protected $usuarios;
  144.     /**
  145.      * @ORM\Column(name="email_cotizacion", type="string", length=255, nullable=true)
  146.      */
  147.     protected $emailCotizacion;
  148.     protected $codigosBloqueo;
  149.     /**
  150.      * @var string
  151.      * @ORM\Column(name="id_modvar", type="string", length=10, nullable=true)
  152.      */
  153.     protected $idModvar;
  154.     /**
  155.      * @ORM\Column(name="mail_chat", type="string", length=100, nullable=true)
  156.      */
  157.     protected $mailChat;
  158.     /**
  159.      * @var string
  160.      * @ORM\Column(name="clasificacion", type="string", length=10, nullable=true)
  161.      */
  162.     protected $clasificacion;
  163.     /**
  164.      * @var string
  165.      * @ORM\Column(name="canal", type="string", length=22, nullable=true)
  166.      */
  167.     protected $canal;    
  168.     /**
  169.      * @var string
  170.      * @ORM\Column(name="clausula_ajuste", type="string", length=3, nullable=true)
  171.      */
  172.     protected $clausulaAjuste;
  173.     /**
  174.      * @var string
  175.      * @ORM\Column(name="acepta_nd", type="boolean", nullable=true)
  176.      */
  177.     protected $aceptaNd;
  178.     /**
  179.      * @var string
  180.      * @ORM\Column(name="zzt1", type="integer", nullable=true)
  181.      */
  182.     protected $zzt1;
  183.     /**
  184.      * @var string
  185.      * @ORM\Column(name="zzt2", type="integer", nullable=true)
  186.      */
  187.     protected $zzt2;
  188.     /**
  189.      * @var string
  190.      * @ORM\Column(name="coeficiente_recargo", type="float", nullable=true)
  191.      */
  192.     protected $coeficienteRecargo;
  193.     /**
  194.      * @var string
  195.      * @ORM\Column(name="encargado_comercial", type="string", length=40, nullable=true)
  196.      */
  197.     protected $encargadoComercial;
  198.     /**
  199.      * @var string
  200.      * @ORM\Column(name="responsable", type="string", length=40, nullable=true)
  201.      */
  202.     protected $responsable;
  203.     /**
  204.      * @var string
  205.      * @Assert\NotBlank()
  206.      * @ORM\Column(name="activador_cobranzas", type="string", length=40, nullable=true)
  207.      */
  208.     protected $activadorCobranzas;
  209.     /**
  210.      * @var string
  211.      * @ORM\Column(name="notasT1", type="string", length=130, nullable=true)
  212.      */
  213.     protected $notasT1;
  214.     /**
  215.      * @var string
  216.      * @ORM\Column(name="notasT2", type="string", length=130, nullable=true)
  217.      */
  218.     protected $notasT2;
  219.     /**
  220.      * @var string
  221.      * @ORM\Column(name="notasT3", type="string", length=130, nullable=true)
  222.      */
  223.     protected $notasT3;
  224.     /**
  225.      * @var string
  226.      * @ORM\Column(name="notasT4", type="string", length=130, nullable=true)
  227.      */
  228.     protected $notasT4;
  229.     /**
  230.      * @var string
  231.      * @ORM\Column(name="industria", type="string", length=255, nullable=true)
  232.      */
  233.     protected $industria;
  234.     /**
  235.      * @var string
  236.      * @ORM\Column(name="sector_industrial", type="string", length=255, nullable=true)
  237.      */
  238.     protected $sectorIndustrial;
  239.     /**
  240.      * @var boolean
  241.      * @ORM\Column(name="cons_final", type="string", length=1, nullable=true)
  242.      */
  243.     protected $consFinal;
  244.     /**
  245.      * @var string
  246.      * @ORM\Column(name="encuesta", type="text", nullable=true)
  247.      */
  248.      protected $encuesta;
  249.     /**
  250.      * @var float
  251.      * @ORM\Column(name="iva", type="float", nullable=true, options={"default"=0})
  252.      */
  253.     protected $iva;
  254.     protected $cotizacion;    
  255.     protected $bancos;
  256.     protected $diasGiro;
  257.     protected $notasInternas;
  258.     protected $autogestion;
  259.     protected $moduloCobranzas;
  260.     protected $moduloPostVentas;
  261.     protected $puntajeActual;
  262.     protected $puntajeAnterior;
  263.     protected $fechaPuntaje;
  264.     protected $puntajeObjetivo;
  265.     private $requiereActualizarDireccionFiscal;
  266.     protected $tipoCambio;
  267.     public function __construct()
  268.     {
  269.         $this->codigosBloqueo = [];
  270.         $this->usuarios = new \Doctrine\Common\Collections\ArrayCollection();
  271.     }
  272.     /**
  273.      * Get id.
  274.      *
  275.      * @return int
  276.      */
  277.     public function getId()
  278.     {
  279.         return $this->id;
  280.     }
  281.     public function getMailChat() {
  282.         return $this->mailChat;
  283.     }
  284.     public function setMailChat($mailChat) {
  285.         $this->mailChat $mailChat;
  286.         return $this;
  287.     }
  288.     /**
  289.      * Set razonSocial.
  290.      *
  291.      * @param string $razonSocial
  292.      *
  293.      * @return Empresa
  294.      */
  295.     public function setRazonSocial($razonSocial)
  296.     {
  297.         $this->razonSocial $razonSocial;
  298.         return $this;
  299.     }
  300.     /**
  301.      * Get razonSocial.
  302.      *
  303.      * @return string
  304.      */
  305.     public function getRazonSocial()
  306.     {
  307.         return $this->razonSocial;
  308.     }
  309.     /**
  310.      * Set razonSocial2.
  311.      *
  312.      * @param string $razonSocial2
  313.      *
  314.      * @return Empresa
  315.      */
  316.     public function setRazonSocial2($razonSocial2)
  317.     {
  318.         $this->razonSocial2 $razonSocial2;
  319.         return $this;
  320.     }
  321.     /**
  322.      * Get razonSocial2.
  323.      *
  324.      * @return string
  325.      */
  326.     public function getRazonSocial2()
  327.     {
  328.         return $this->razonSocial2;
  329.     }
  330.     
  331.     public function getRazonSocialTruncated()
  332.     {
  333.         $out strlen($this->razonSocial) > 15 substr($this->razonSocial015).'...' $this->razonSocial;
  334.         return $out;
  335.     }
  336.     /**
  337.      * Set codigoPostal.
  338.      *
  339.      * @param string $codigoPostal
  340.      *
  341.      * @return Empresa
  342.      */
  343.     public function setCodigoPostal($codigoPostal)
  344.     {
  345.         $this->codigoPostal $codigoPostal;
  346.         return $this;
  347.     }
  348.     /**
  349.      * Get codigoPostal.
  350.      *
  351.      * @return string
  352.      */
  353.     public function getCodigoPostal()
  354.     {
  355.         return $this->codigoPostal;
  356.     }
  357.     /**
  358.      * Set ciudad.
  359.      *
  360.      * @param string $ciudad
  361.      *
  362.      * @return Empresa
  363.      */
  364.     public function setCiudad($ciudad)
  365.     {
  366.         $this->ciudad $ciudad;
  367.         return $this;
  368.     }
  369.     /**
  370.      * Get ciudad.
  371.      *
  372.      * @return string
  373.      */
  374.     public function getCiudad()
  375.     {
  376.         return $this->ciudad;
  377.     }
  378.     /**
  379.      * Set cuit.
  380.      *
  381.      * @param string $cuit
  382.      *
  383.      * @return Empresa
  384.      */
  385.     public function setCuit($cuit)
  386.     {
  387.         $this->cuit $cuit;
  388.         return $this;
  389.     }
  390.     /**
  391.      * Get cuit.
  392.      *
  393.      * @return string
  394.      */
  395.     public function getCuit()
  396.     {
  397.         return $this->cuit;
  398.     }
  399.     /**
  400.      * Set provincia.
  401.      *
  402.      * @param string $provincia
  403.      *
  404.      * @return Empresa
  405.      */
  406.     public function setProvincia($provincia)
  407.     {
  408.         $this->provincia $provincia;
  409.         return $this;
  410.     }
  411.     /**
  412.      * Get provincia.
  413.      *
  414.      * @return string
  415.      */
  416.     public function getProvincia()
  417.     {
  418.         return $this->provincia;
  419.     }
  420.     /**
  421.      * Set pais.
  422.      *
  423.      * @param string $pais
  424.      *
  425.      * @return Empresa
  426.      */
  427.     public function setPais($pais)
  428.     {
  429.         $this->pais $pais;
  430.         return $this;
  431.     }
  432.     /**
  433.      * Get pais.
  434.      *
  435.      * @return string
  436.      */
  437.     public function getPais()
  438.     {
  439.         return $this->pais;
  440.     }
  441.     /**
  442.      * Set telefono.
  443.      *
  444.      * @param string $telefono
  445.      *
  446.      * @return Empresa
  447.      */
  448.     public function setTelefono($telefono)
  449.     {
  450.         $this->telefono $telefono;
  451.         return $this;
  452.     }
  453.     /**
  454.      * Get telefono.
  455.      *
  456.      * @return string
  457.      */
  458.     public function getTelefono()
  459.     {
  460.         return $this->telefono;
  461.     }
  462.     /**
  463.      * Set monedaCliente.
  464.      *
  465.      * @param string $monedaCliente
  466.      *
  467.      * @return Empresa
  468.      */
  469.     public function setMonedaCliente($monedaCliente)
  470.     {
  471.         $this->moneda_cliente $monedaCliente;
  472.         return $this;
  473.     }
  474.     /**
  475.      * Get monedaCliente.
  476.      *
  477.      * @return string
  478.      */
  479.     public function getMonedaCliente()
  480.     {
  481.         return $this->moneda_cliente;
  482.     }
  483.     /**
  484.      * Set monedaVisualizableCliente used in forth step.
  485.      *
  486.      * @param string $monedaCliente
  487.      * @param string $abrMoneda
  488.      * 
  489.      * @return Empresa
  490.      */
  491.     public function setMonedaVisualizableCliente($monedaCliente$abrMoneda)
  492.     {
  493.         $this->moneda_visualizable_cliente $monedaCliente == "ARS" $abrMoneda $monedaCliente;
  494.         return $this;
  495.     }
  496.     /**
  497.      * Get monedaVisualizableCliente used in forth step.
  498.      *
  499.      * @return string
  500.      */
  501.     public function getMonedaVisualizableCliente()
  502.     {
  503.         return $this->moneda_visualizable_cliente;
  504.     }
  505.     /**
  506.      * Set claseImpuesto.
  507.      *
  508.      * @param string $claseImpuesto
  509.      *
  510.      * @return Empresa
  511.      */
  512.     public function setClaseImpuesto($claseImpuesto)
  513.     {
  514.         $this->claseImpuesto $claseImpuesto;
  515.         return $this;
  516.     }
  517.     /**
  518.      * Get claseImpuesto.
  519.      *
  520.      * @return string
  521.      */
  522.     public function getClaseImpuesto()
  523.     {
  524.         return $this->claseImpuesto;
  525.     }
  526.     /**
  527.      * Set condicionPago.
  528.      *
  529.      * @param string $condicionPago
  530.      *
  531.      * @return Empresa
  532.      */
  533.     public function setCondicionPagoCodigo($condicionPagoCodigo)
  534.     {
  535.         $this->condicionPagoCodigo $condicionPagoCodigo;
  536.         return $this;
  537.     }
  538.     /**
  539.      * Get condicionPago.
  540.      *
  541.      * @return string
  542.      */
  543.     public function getCondicionPagoCodigo()
  544.     {
  545.         return $this->condicionPagoCodigo;
  546.     }
  547.     /**
  548.      * Set condicionPago.
  549.      *
  550.      * @param string $condicionPago
  551.      *
  552.      * @return Empresa
  553.      */
  554.     public function setCondicionPagoDescripcion($condicionPagoDescripcion)
  555.     {
  556.         $this->condicionPagoDescripcion $condicionPagoDescripcion;
  557.         return $this;
  558.     }
  559.     /**
  560.      * Get condicionPago.
  561.      *
  562.      * @return string
  563.      */
  564.     public function getCondicionPagoDescripcion()
  565.     {
  566.         return $this->condicionPagoDescripcion;
  567.     }
  568.     /**
  569.      * Set condicionPago.
  570.      *
  571.      * @param string $condicionPago
  572.      *
  573.      * @return Empresa
  574.      */
  575.     public function setCondicionPagoDescuento($condicionPagoDescuento)
  576.     {
  577.         $this->condicionPagoDescuento $condicionPagoDescuento;
  578.         return $this;
  579.     }
  580.     /**
  581.      * Get condicionPago.
  582.      *
  583.      * @return string
  584.      */
  585.     public function getCondicionPagoDescuento()
  586.     {
  587.         return $this->condicionPagoDescuento;
  588.     }
  589.     /**
  590.      * Set condicionPago.
  591.      *
  592.      * @param string $condicionPago
  593.      *
  594.      * @return Empresa
  595.      */
  596.     public function setCondicionPagoAdicionalCodigo($condicionPagoCodigo)
  597.     {
  598.         $this->condicionPagoAdicionalCodigo $condicionPagoCodigo;
  599.         return $this;
  600.     }
  601.     /**
  602.      * Get condicionPago.
  603.      *
  604.      * @return string
  605.      */
  606.     public function getCondicionPagoAdicionalCodigo()
  607.     {
  608.         return $this->condicionPagoAdicionalCodigo;
  609.     }
  610.     /**
  611.      * Set condicionPago.
  612.      *
  613.      * @param string $condicionPago
  614.      *
  615.      * @return Empresa
  616.      */
  617.     public function setCondicionPagoAdicionalDescripcion($condicionPagoDescripcion)
  618.     {
  619.         $this->condicionPagoAdicionalDescripcion $condicionPagoDescripcion;
  620.         return $this;
  621.     }
  622.     /**
  623.      * Get condicionPago.
  624.      *
  625.      * @return string
  626.      */
  627.     public function getCondicionPagoAdicionalDescripcion()
  628.     {
  629.         return $this->condicionPagoAdicionalDescripcion;
  630.     }
  631.     /**
  632.      * Get condicionPago.
  633.      *
  634.      * @return string
  635.      */
  636.     public function getCondicionPagoAdicionalDescuento()
  637.     {
  638.         return $this->condicionPagoAdicionalDescuento;
  639.     }
  640.     /**
  641.      * Set condicionPago.
  642.      *
  643.      * @param string $condicionPago
  644.      *
  645.      * @return Empresa
  646.      */
  647.     public function setCondicionPagoAdicionalDescuento($condicionPagoDescuento)
  648.     {
  649.         $this->condicionPagoAdicionalDescuento $condicionPagoDescuento;
  650.         return $this;
  651.     }
  652.     
  653.     /**
  654.      * Set creditoDisponible.
  655.      *
  656.      * @param float $creditoDisponible
  657.      *
  658.      * @return Empresa
  659.      */
  660.     public function setCreditoDisponible($creditoDisponible)
  661.     {
  662.         $this->creditoDisponible $creditoDisponible;
  663.         return $this;
  664.     }
  665.     /**
  666.      * Get creditoDisponible.
  667.      *
  668.      * @return float
  669.      */
  670.     public function getCreditoDisponible()
  671.     {
  672.         return $this->creditoDisponible;
  673.     }
  674.     /**
  675.      * Set creditoComprometido.
  676.      *
  677.      * @param float $creditoComprometido
  678.      *
  679.      * @return Empresa
  680.      */
  681.     public function setCreditoComprometido($creditoComprometido)
  682.     {
  683.         $this->creditoComprometido $creditoComprometido;
  684.         return $this;
  685.     }
  686.     /**
  687.      * Get creditoComprometido.
  688.      *
  689.      * @return float
  690.      */
  691.     public function getCreditoComprometido()
  692.     {
  693.         return $this->creditoComprometido;
  694.     }
  695.     /**
  696.      * Get creditoComprometido.
  697.      *
  698.      * @return float
  699.      */
  700.     public function getLimiteCredito()
  701.     {
  702.         return $this->creditoDisponible $this->creditoComprometido;
  703.     }
  704.     /**
  705.      * Set dirCalle.
  706.      *
  707.      * @param string $dirCalle
  708.      *
  709.      * @return Empresa
  710.      */
  711.     public function setDirCalle($dirCalle)
  712.     {
  713.         $this->dirCalle $dirCalle;
  714.         return $this;
  715.     }
  716.     /**
  717.      * Get dirCalle.
  718.      *
  719.      * @return string
  720.      */
  721.     public function getDirCalle()
  722.     {
  723.         return $this->dirCalle;
  724.     }
  725.     /**
  726.      * Set dirAltura.
  727.      *
  728.      * @param string $dirAltura
  729.      *
  730.      * @return Empresa
  731.      */
  732.     public function setDirAltura($dirAltura)
  733.     {
  734.         $this->dirAltura $dirAltura;
  735.         return $this;
  736.     }
  737.     /**
  738.      * Get dirAltura.
  739.      *
  740.      * @return string
  741.      */
  742.     public function getDirAltura()
  743.     {
  744.         return $this->dirAltura;
  745.     }
  746.     /**
  747.      * Add usuario.
  748.      *
  749.      * @param \AppBundle\Entity\Usuario $usuario
  750.      *
  751.      * @return Empresa
  752.      */
  753.     public function addUsuario(\AppBundle\Entity\Usuario $usuario)
  754.     {
  755.         $this->usuarios[] = $usuario;
  756.         return $this;
  757.     }
  758.     /**
  759.      * Remove usuario.
  760.      *
  761.      * @param \AppBundle\Entity\Usuario $usuario
  762.      */
  763.     public function removeUsuario(\AppBundle\Entity\Usuario $usuario)
  764.     {
  765.         $this->usuarios->removeElement($usuario);
  766.     }
  767.     /**
  768.      * Get usuarios.
  769.      *
  770.      * @return \Doctrine\Common\Collections\Collection
  771.      */
  772.     public function getUsuarios()
  773.     {
  774.         return $this->usuarios;
  775.     }
  776.     /**
  777.      * Set id.
  778.      *
  779.      * @param int $id
  780.      *
  781.      * @return Empresa
  782.      */
  783.     public function setId($id)
  784.     {
  785.         $this->id $id;
  786.         return $this;
  787.     }
  788.     public function getCentro()
  789.     {
  790.         return $this->centro;
  791.     }
  792.     public function setCentro($centro)
  793.     {
  794.         $this->centro $centro;
  795.         return $this;
  796.     }
  797.     /**
  798.      * Set emailCotizacion.
  799.      *
  800.      * @param string $emailCotizacion
  801.      *
  802.      * @return Empresa
  803.      */
  804.     public function setEmailCotizacion($emailCotizacion)
  805.     {
  806.         $this->emailCotizacion $emailCotizacion;
  807.         return $this;
  808.     }
  809.     /**
  810.      * Get emailCotizacion.
  811.      *
  812.      * @return string
  813.      */
  814.     public function getEmailCotizacion()
  815.     {
  816.         return $this->emailCotizacion;
  817.     }
  818.     public function addCodigoBloqueo($codigoBloqueo)
  819.     {
  820.         $this->codigosBloqueo[] = $codigoBloqueo;
  821.         return $this;
  822.     }
  823.     public function removeCodigoBloqueo($codigoBloqueo)
  824.     {
  825.         $this->codigosBloqueo->removeElement($codigoBloqueo);
  826.     }
  827.     public function getCodigosBloqueo()
  828.     {
  829.         return $this->codigosBloqueo;
  830.     }
  831.     public function tieneBloqueo($codigoBloqueo)
  832.     {
  833.         if (is_null($this->codigosBloqueo)) {
  834.             return false;
  835.         }
  836.         return in_array($codigoBloqueo$this->codigosBloqueo);
  837.     }
  838.     public function getIdModvar() {
  839.         return $this->idModvar;
  840.     }
  841.     public function setIdModvar($idModvar) {
  842.         $this->idModvar $idModvar;
  843.         return $this;
  844.     }
  845.     /**
  846.      * Set clasificacion.
  847.      *
  848.      * @param string $clasificacion
  849.      *
  850.      * @return Empresa
  851.      */
  852.     public function setClasificacion($clasificacion)
  853.     {
  854.         $this->clasificacion $clasificacion;
  855.         return $this;
  856.     }
  857.     /**
  858.      * Get clasificacion.
  859.      *
  860.      * @return string
  861.      */
  862.     public function getClasificacion()
  863.     {
  864.         return $this->clasificacion;
  865.     }
  866.     public function tieneFleteBonificado()
  867.     {
  868.         return in_array($this->getClasificacion(), array('A0','A1','A2','A3','P0','P1','P2','P3'));
  869.     }
  870.     /**
  871.      * Set canal
  872.      *
  873.      * @param string $canal
  874.      *
  875.      * @return Empresa
  876.      */
  877.     public function setCanal($canal)
  878.     {
  879.         $this->canal $canal;
  880.         return $this;
  881.     }
  882.     /**
  883.      * Get canal
  884.      *
  885.      * @return string
  886.      */
  887.     public function getCanal()
  888.     {
  889.         return $this->canal;
  890.     }
  891.     /**
  892.      * Set clausulaAjuste
  893.      *
  894.      * @param string $clausulaAjuste
  895.      *
  896.      * @return Empresa
  897.      */
  898.     public function setClausulaAjuste($clausulaAjuste)
  899.     {
  900.         $this->clausulaAjuste $clausulaAjuste;
  901.         return $this;
  902.     }
  903.     /**
  904.      * Get clausulaAjuste
  905.      *
  906.      * @return string
  907.      */
  908.     public function getClausulaAjuste()
  909.     {
  910.         return $this->clausulaAjuste;
  911.     }
  912.     /**
  913.      * Set zzt1
  914.      *
  915.      * @param integer $zzt1
  916.      *
  917.      * @return Empresa
  918.      */
  919.     public function setZzt1($zzt1)
  920.     {
  921.         $this->zzt1 $zzt1;
  922.         return $this;
  923.     }
  924.     /**
  925.      * Get zzt1
  926.      *
  927.      * @return integer
  928.      */
  929.     public function getZzt1()
  930.     {
  931.         return $this->zzt1;
  932.     }
  933.     /**
  934.      * Set zzt2
  935.      *
  936.      * @param integer $zzt2
  937.      *
  938.      * @return Empresa
  939.      */
  940.     public function setZzt2($zzt2)
  941.     {
  942.         $this->zzt2 $zzt2;
  943.         return $this;
  944.     }
  945.     /**
  946.      * Get zzt2
  947.      *
  948.      * @return integer
  949.      */
  950.     public function getZzt2()
  951.     {
  952.         return $this->zzt2;
  953.     }
  954.     /**
  955.      * Set coeficienteRecargo
  956.      *
  957.      * @param float $coeficienteRecargo
  958.      *
  959.      * @return Empresa
  960.      */
  961.     public function setCoeficienteRecargo($coeficienteRecargo)
  962.     {
  963.         $this->coeficienteRecargo $coeficienteRecargo;
  964.         return $this;
  965.     }
  966.     /**
  967.      * Get coeficienteRecargo
  968.      *
  969.      * @return float
  970.      */
  971.     public function getCoeficienteRecargo()
  972.     {
  973.         return $this->coeficienteRecargo;
  974.     }
  975.     /**
  976.      * Set diasGiro
  977.      *
  978.      * @param int $diasGiro
  979.      *
  980.      * @return Empresa
  981.      */
  982.     public function setDiasGiro($diasGiro)
  983.     {
  984.         $this->diasGiro $diasGiro;
  985.         return $this;
  986.     }
  987.     /**
  988.      * Get diasGiro
  989.      *
  990.      * @return int
  991.      */
  992.     public function getDiasGiro()
  993.     {
  994.         return $this->diasGiro;
  995.     }
  996.     /**
  997.      * Set encargadoComercial
  998.      *
  999.      * @param string $encargadoComercial
  1000.      *
  1001.      * @return Empresa
  1002.      */
  1003.     public function setEncargadoComercial($encargadoComercial)
  1004.     {
  1005.         $this->encargadoComercial $encargadoComercial;
  1006.         return $this;
  1007.     }
  1008.     /**
  1009.      * Get encargadoComercial
  1010.      *
  1011.      * @return string
  1012.      */
  1013.     public function getEncargadoComercial()
  1014.     {
  1015.         return $this->encargadoComercial;
  1016.     }
  1017.     /**
  1018.      * Set responsable
  1019.      *
  1020.      * @param string $responsable
  1021.      *
  1022.      * @return Empresa
  1023.      */
  1024.     public function setResponsable($responsable)
  1025.     {
  1026.         $this->responsable $responsable;
  1027.         return $this;
  1028.     }
  1029.     /**
  1030.      * Get responsable
  1031.      *
  1032.      * @return string
  1033.      */
  1034.     public function getResponsable()
  1035.     {
  1036.         return $this->responsable;
  1037.     }
  1038.     /**
  1039.      * Set activadorCobranzas
  1040.      *
  1041.      * @param string $activadorCobranzas
  1042.      *
  1043.      * @return Empresa
  1044.      */
  1045.     public function setActivadorCobranzas($activadorCobranzas)
  1046.     {
  1047.         $this->activadorCobranzas $activadorCobranzas;
  1048.         return $this;
  1049.     }
  1050.     /**
  1051.      * Get activadorCobranzas
  1052.      *
  1053.      * @return string
  1054.      */
  1055.     public function getActivadorCobranzas()
  1056.     {
  1057.         return $this->activadorCobranzas;
  1058.     }
  1059.     /**
  1060.      * Set autogestion
  1061.      *
  1062.      * @param string $autogestion
  1063.      *
  1064.      * @return Empresa
  1065.      */
  1066.     public function setAutogestion($autogestion)
  1067.     {
  1068.         $this->autogestion $autogestion;
  1069.         return $this;
  1070.     }
  1071.     /**
  1072.      * Get autogestion
  1073.      *
  1074.      * @return string
  1075.      */
  1076.     public function getAutogestion()
  1077.     {
  1078.         return $this->autogestion;
  1079.     }
  1080.     /**
  1081.      * Set moduloCobranzas
  1082.      *
  1083.      * @param string $moduloCobranzas
  1084.      *
  1085.      * @return Empresa
  1086.      */
  1087.     public function setModuloCobranzas($moduloCobranzas)
  1088.     {
  1089.         $this->moduloCobranzas $moduloCobranzas;
  1090.         return $this;
  1091.     }
  1092.     /**
  1093.      * Get moduloCobranzas
  1094.      *
  1095.      * @return string
  1096.      */
  1097.     public function getModuloCobranzas()
  1098.     {
  1099.         return intval($this->moduloCobranzas);
  1100.     }
  1101.     /**
  1102.      * Set moduloPostVentas
  1103.      *
  1104.      * @param string $moduloPostVentas
  1105.      *
  1106.      * @return Empresa
  1107.      */
  1108.     public function setModuloPostVentas($moduloPostVentas)
  1109.     {
  1110.         $this->moduloPostVentas $moduloPostVentas;
  1111.         return $this;
  1112.     }
  1113.     /**
  1114.      * Get moduloPostVentas
  1115.      *
  1116.      * @return string
  1117.      */
  1118.     public function getModuloPostVentas()
  1119.     {
  1120.         return intval($this->moduloPostVentas);
  1121.     }
  1122.     /**
  1123.      * Set notasT1
  1124.      *
  1125.      * @param string $notasT1
  1126.      *
  1127.      * @return Empresa
  1128.      */
  1129.     public function setNotasT1($notasT1)
  1130.     {
  1131.         $this->notasT1 $notasT1;
  1132.         return $this;
  1133.     }
  1134.     /**
  1135.      * Get notasT1
  1136.      *
  1137.      * @return string
  1138.      */
  1139.     public function getNotasT1()
  1140.     {
  1141.         return $this->notasT1;
  1142.     }
  1143.     /**
  1144.      * Set notasT2
  1145.      *
  1146.      * @param string $notasT2
  1147.      *
  1148.      * @return Empresa
  1149.      */
  1150.     public function setNotasT2($notasT2)
  1151.     {
  1152.         $this->notasT2 $notasT2;
  1153.         return $this;
  1154.     }
  1155.     /**
  1156.      * Get notasT2
  1157.      *
  1158.      * @return string
  1159.      */
  1160.     public function getNotasT2()
  1161.     {
  1162.         return $this->notasT2;
  1163.     }
  1164.     /**
  1165.      * Set notasT3
  1166.      *
  1167.      * @param string $notasT3
  1168.      *
  1169.      * @return Empresa
  1170.      */
  1171.     public function setNotasT3($notasT3)
  1172.     {
  1173.         $this->notasT3 $notasT3;
  1174.         return $this;
  1175.     }
  1176.     /**
  1177.      * Get notasT3
  1178.      *
  1179.      * @return string
  1180.      */
  1181.     public function getNotasT3()
  1182.     {
  1183.         return $this->notasT3;
  1184.     }
  1185.     /**
  1186.      * Set notasT4
  1187.      *
  1188.      * @param string $notasT4
  1189.      *
  1190.      * @return Empresa
  1191.      */
  1192.     public function setNotasT4($notasT4)
  1193.     {
  1194.         $this->notasT4 $notasT4;
  1195.         return $this;
  1196.     }
  1197.     /**
  1198.      * Get notasT4
  1199.      *
  1200.      * @return string
  1201.      */
  1202.     public function getNotasT4()
  1203.     {
  1204.         return $this->notasT4;
  1205.     }
  1206.     /**
  1207.      * Set notasInternas
  1208.      *
  1209.      * @param string $notasInternas
  1210.      *
  1211.      * @return Empresa
  1212.      */
  1213.     public function setNotasInternas($notasInternas)
  1214.     {
  1215.         $this->notasInternas $notasInternas;
  1216.         return $this;
  1217.     }
  1218.     /**
  1219.      * Get notasInternas
  1220.      *
  1221.      * @return string
  1222.      */
  1223.     public function getNotasInternas()
  1224.     {
  1225.         return $this->notasInternas;
  1226.     }
  1227.     /**
  1228.      * Set industria
  1229.      *
  1230.      * @param string $industria
  1231.      *
  1232.      * @return Empresa
  1233.      */
  1234.     public function setIndustria($industria)
  1235.     {
  1236.         $this->industria $industria;
  1237.         return $this;
  1238.     }
  1239.     /**
  1240.      * Get industria
  1241.      *
  1242.      * @return string
  1243.      */
  1244.     public function getIndustria()
  1245.     {
  1246.         return $this->industria;
  1247.     }
  1248.     /**
  1249.      * Set sectorIndustrial
  1250.      *
  1251.      * @param string $sectorIndustrial
  1252.      *
  1253.      * @return Empresa
  1254.      */
  1255.     public function setSectorIndustrial($sectorIndustrial)
  1256.     {
  1257.         $this->sectorIndustrial $sectorIndustrial;
  1258.         return $this;
  1259.     }
  1260.     /**
  1261.      * Get sectorIndustrial
  1262.      *
  1263.      * @return string
  1264.      */
  1265.     public function getSectorIndustrial()
  1266.     {
  1267.         return $this->sectorIndustrial;
  1268.     }
  1269.     public function getAceptaND()
  1270.     {
  1271.         return ($this->aceptaNd 'Si' 'No');
  1272.     }
  1273.     public function setAceptaND($aceptaNd)
  1274.     {
  1275.         $this->aceptaNd = ($aceptaNd true false);
  1276.         return $this;
  1277.     }
  1278.     public function esConsumidorFinal()
  1279.     {
  1280.         return $this->consFinal === self::TIPO_CONSUMIDOR_FINAL;
  1281.     }
  1282.     public function esConsumidorFinalNew()
  1283.     {
  1284.         return $this->consFinal === self::TIPO_CONSUMIDOR_FINAL_NEW//Los nuevos consumidores finales si pueden comprar
  1285.     }
  1286.     public function esClienteParticular()
  1287.     {
  1288.         return $this->consFinal === self::TIPO_CLIENTE_PARTICULAR || $this->id === self::ID_CLIENTE_GENERICO;
  1289.     }
  1290.     public function esClienteComun()
  1291.     {
  1292.         return $this->consFinal === self::TIPO_CLIENTE_COMUN;
  1293.     }
  1294.     public function setConsumidorFinal()
  1295.     {
  1296.         $this->consFinal self::TIPO_CONSUMIDOR_FINAL;
  1297.     }
  1298.     public function setConsumidorFinalNew()
  1299.     {
  1300.         $this->consFinal self::TIPO_CONSUMIDOR_FINAL_NEW;
  1301.     }
  1302.     public function setClienteParticular()
  1303.     {
  1304.         $this->consFinal self::TIPO_CLIENTE_PARTICULAR;
  1305.     }
  1306.     public function setClienteComun()
  1307.     {
  1308.         $this->consFinal self::TIPO_CLIENTE_COMUN;
  1309.     }
  1310.     /**
  1311.      * * De vuelve las Notas.
  1312.      * @return array
  1313.      */
  1314.     public function getNotas()
  1315.     {
  1316.         return [
  1317.             $this->notasT1,
  1318.             $this->notasT2,
  1319.             $this->notasT3,
  1320.             $this->notasT4,
  1321.         ];
  1322.     }
  1323.     public function getNroCliente()
  1324.     {
  1325.         return ltrim($this->id'0');
  1326.     }
  1327.     /**
  1328.      * Set consFinal
  1329.      *
  1330.      * @param boolean $consFinal
  1331.      *
  1332.      * @return Empresa
  1333.      */
  1334.     public function setConsFinal($consFinal)
  1335.     {
  1336.         $this->consFinal $consFinal;
  1337.         return $this;
  1338.     }
  1339.     /**
  1340.      * Get consFinal
  1341.      *
  1342.      * @return boolean
  1343.      */
  1344.     public function getConsFinal()
  1345.     {
  1346.         return $this->consFinal;
  1347.     }
  1348.     /**
  1349.      * Set iva
  1350.      *
  1351.      * @param float $iva
  1352.      *
  1353.      * @return float
  1354.     */
  1355.     public function setIva($iva)
  1356.     {
  1357.         $this->iva $iva;
  1358.         return $this;
  1359.     }
  1360.     /**
  1361.      * Get iva
  1362.      *
  1363.      * @return float
  1364.      */
  1365.     public function getIva()
  1366.     {
  1367.         return $this->iva;
  1368.     }
  1369.     /**
  1370.      * Set cotizacion
  1371.      *
  1372.      * @param float $cotizacion
  1373.      *
  1374.      * @return float
  1375.     */
  1376.     public function setCotizacion($cotizacion)
  1377.     {
  1378.         $this->cotizacion $cotizacion;
  1379.         return $this;
  1380.     }
  1381.     /**
  1382.      * Get cotizacion
  1383.      *
  1384.      * @return float
  1385.      */
  1386.     public function getCotizacion()
  1387.     {
  1388.         return $this->cotizacion;
  1389.     }
  1390.     public function getDataDetallePedido(){
  1391.         return [
  1392.             'razonSocial' => $this->getRazonSocial(), 
  1393.             'cuit' => $this->getCuit(), 
  1394.             'dirCalle' => $this->getDirCalle(), 
  1395.             'dirAltura' => $this->getDirAltura(), 
  1396.             'ciudad' => $this->getCiudad(), 
  1397.             'provincia' => $this->getProvincia(), 
  1398.             'telefono' => $this->getTelefono()
  1399.         ];
  1400.     }
  1401.     /**
  1402.      * Set bancos
  1403.     */
  1404.     public function setBancos($bancos)
  1405.     {
  1406.         $this->bancos $bancos;
  1407.         return $this;
  1408.     }
  1409.     /**
  1410.      * Get bancos
  1411.      */
  1412.     public function getBancos()
  1413.     {
  1414.         return $this->bancos;
  1415.     }
  1416.     public function setCentroId($centroId) {
  1417.         $this->centroId $centroId;
  1418.         return $this;
  1419.     }
  1420.     public function getDireccionFiscal()
  1421.     {
  1422.         return "{$this->getdirCalle()} {$this->getdirAltura()}, CP {$this->getcodigoPostal()} {$this->getciudad()}{$this->getprovincia()} {$this->getpais()}";
  1423.     }
  1424.     public function getGrupoTest()
  1425.     {
  1426.         return (intval($this->id) % == 0) ? 'A' 'B';
  1427.     }
  1428.     public function setRequiereActualizarDireccionFiscal($requiereActualizarDireccionFiscal){
  1429.         $this->requiereActualizarDireccionFiscal $requiereActualizarDireccionFiscal;
  1430.         return $this;
  1431.     }
  1432.     public function getRequiereActualizarDireccionFiscal(){
  1433.         return $this->requiereActualizarDireccionFiscal;
  1434.     }
  1435.     public function setEncuesta($encuesta) {
  1436.         $this->encuesta $encuesta;
  1437.         return $this;
  1438.     }
  1439.     
  1440.     public function getEncuesta() {
  1441.         return $this->encuesta ?? 'X';
  1442.     }
  1443.     public function setFechaPuntaje($valor)
  1444.     {
  1445.         $this->fechaPuntaje $valor;
  1446.         return $this;
  1447.     }
  1448.     public function getFechaPuntaje()
  1449.     {
  1450.         return $this->fechaPuntaje;
  1451.     }
  1452.     public function setPuntajeActual($valor)
  1453.     {
  1454.         $this->puntajeActual $valor;
  1455.         return $this;
  1456.     }
  1457.     public function getPuntajeActual()
  1458.     {
  1459.         return $this->puntajeActual;
  1460.     }
  1461.     public function setPuntajeAnterior($valor)
  1462.     {
  1463.         $this->puntajeAnterior $valor;
  1464.         return $this;
  1465.     }
  1466.     public function getPuntajeAnterior()
  1467.     {
  1468.         return $this->puntajeAnterior;
  1469.     }
  1470.     public function setPuntajeObjetivo($valor)
  1471.     {
  1472.         $this->puntajeObjetivo $valor;
  1473.         return $this;
  1474.     }
  1475.     public function getPuntajeObjetivo()
  1476.     {
  1477.         return $this->puntajeObjetivo;
  1478.     }
  1479.     /**
  1480.      * * De vuelve el mensaje del puntaje.
  1481.      * @return string
  1482.      */
  1483.     public function getMensajePuntaje(): string
  1484.     {
  1485.         $combinaciones = [
  1486.             '1_2' => "Realizar una cotización o un pedido de la PIN.",
  1487.             '2_4' => "Usar el módulo de postventa y cobranzas.",
  1488.             '4_7' => "Aumentar la autogestión más de un 5%",
  1489.             '5_7' => "Usar el módulo de postventa y cobranzas.",
  1490.             '7_10' => "Aumentar la autogestión más de un 25%",
  1491.             '8_10' => "Usar el módulo de postventa y cobranzas.",
  1492.             '10_13' => "Aumentar la autogestión más de un 70%",
  1493.             '11_13' => "Usar el módulo de postventa y cobranzas."
  1494.         ];
  1495.         $key $this->getPuntajeActual();
  1496.         if ($this->getPuntajeObjetivo()) {
  1497.             $key .= "_" $this->getPuntajeObjetivo();
  1498.         }
  1499.         return $combinaciones[$key] ?? "";
  1500.     }
  1501.     public function setTipoCambio($tipoCambio)
  1502.     {
  1503.         $this->tipoCambio $tipoCambio;
  1504.         return $this;
  1505.     }
  1506.     public function getTipoCambio()
  1507.     {
  1508.         return $this->tipoCambio;
  1509.     }
  1510.     /**
  1511.      * * Devuleve la Entidad en formato array.
  1512.      * @return array
  1513.      */
  1514.     public function __toArray()
  1515.     {
  1516.         return [
  1517.             'acepta_nd' => $this->getAceptand(),
  1518.             'activador' => $this->getActivadorCobranzas(),
  1519.             'altura' => $this->getDirAltura(),
  1520.             'asesor' => $this->getEncargadoComercial(),
  1521.             'autogestion' => $this->getAutogestion(),
  1522.             'canal' => $this->getCanal(),
  1523.             'calle' => $this->getDirCalle(),
  1524.             'ciudad' => $this->getCiudad(),
  1525.             'clasificacion' => $this->getClasificacion(),
  1526.             'clausula' => $this->getClausulaAjuste(),
  1527.             'codigo_postal' => $this->getCodigoPostal(),
  1528.             'condicion_pago' => $this->getCondicionPagoDescripcion(),
  1529.             'condicion_pago_codigo' => $this->getCondicionPagoCodigo(),
  1530.             'coeficiente_recargo' => $this->getCoeficienteRecargo(),
  1531.             'cuit' => $this->getCuit(),
  1532.             'dias_giro' => $this->getDiasGiro(),
  1533.             'fecha_puntaje' => $this->getFechaPuntaje(),
  1534.             'grupo_test' => $this->getGrupoTest(),
  1535.             'id' => intval($this->getId()),
  1536.             'mensaje_puntaje' => $this->getMensajePuntaje(),
  1537.             'moneda' => $this->getMonedaCliente(),
  1538.             'notas' => $this->getNotas(),
  1539.             'notaInterna' => $this->getNotasInternas(),
  1540.             'pais' => $this->getPais(),
  1541.             'provincia' => $this->getProvincia(),
  1542.             'puntaje_actual' => $this->getPuntajeActual(),
  1543.             'puntaje_anterior' => $this->getPuntajeAnterior(),
  1544.             'puntaje_objetivo' => $this->getPuntajeObjetivo(),
  1545.             'razon_social' => $this->getRazonSocial(),
  1546.             'responsable' => $this->getResponsable(),
  1547.             'sucursal' => $this->getCentro() ? $this->getCentro()->getId() : '',
  1548.             'sucursal_nombre' => $this->getCentro() ? $this->getCentro()->getNombre() : '',
  1549.             'telefono' => $this->getTelefono(),
  1550.             't1' => $this->getZzt1(),
  1551.             't2' => $this->getZzt2(),
  1552.             'usaModuloCobranzas' => $this->getModuloCobranzas(),
  1553.             'usaModuloPostVentas' => $this->getModuloPostVentas(),
  1554.             'variante_id' => $this->getIdModvar(),
  1555.             'emailCotizacion' => $this->getEmailCotizacion(),
  1556.             'cotizacion' => $this->getCotizacion(),
  1557.             'tipoCambio' => $this->getTipoCambio(),
  1558.         ];
  1559.     }
  1560. }