src/AppBundle/Entity/Sucursal.php line 13
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Table(name="sucursal")
* @ORM\Entity(repositoryClass="AppBundle\Repository\SucursalRepository")
* @ORM\HasLifecycleCallbacks()
*/
class Sucursal
{
const CASA_CENTRAL = '1001';
const SUCURSAL_RAFAELA = '1003';
const SUCURSAL_MENDOZA = '1004';
const SUCURSAL_TUCUMAN = '1005';
const SUCURSAL_ROSARIO = '1007';
const SUCURSAL_FLORIDA = '1006';
const SUCURSAL_CORDOBA = '1008';
const SUCURSAL_URUGUAY = '5001';
const SUCURSALES_BSAS = [self::CASA_CENTRAL, self::SUCURSAL_FLORIDA];
const SUCURSALES_ENTREGA = [self::CASA_CENTRAL, self::SUCURSAL_FLORIDA, self::SUCURSAL_ROSARIO, self::SUCURSAL_RAFAELA, self::SUCURSAL_MENDOZA, self::SUCURSAL_CORDOBA, self::SUCURSAL_TUCUMAN, self::SUCURSAL_URUGUAY];
const SUCURSALES_SIN_MOSTRADOR = [self::SUCURSAL_FLORIDA];
const NOMBRE_CASA_CENTRAL_PDF = 'CABA'; //nombre para PDF de cotizaciones y pedidos
/**
* @ORM\Column(type="integer")
* @ORM\Id
*/
protected $id;
/**
* @var string
* @Assert\NotBlank()
* @ORM\Column(name="nombre", type="string", length=35)
*/
protected $nombre;
/**
* @var string
* @Assert\NotBlank()
* @ORM\Column(name="direccion", type="string", length=60)
*/
protected $direccion;
/**
* @var string
* @Assert\NotBlank()
* @ORM\Column(name="localidad", type="string", length=35)
*/
protected $localidad;
/**
* @var string
* @Assert\NotBlank()
* @ORM\Column(name="provincia", type="string", length=35)
*/
protected $provincia;
/**
* @ORM\OneToMany(targetEntity="Carrito", mappedBy="centro")
*/
protected $carritos;
protected $itemsCarrito;
/**
* @ORM\OneToMany(targetEntity="Empresa", mappedBy="centro")
*/
protected $empresas;
/**
* @var string
* @ORM\Column(name="email", type="string", length=255)
*/
protected $email;
/**
* @var string
* @ORM\Column(name="telefono", type="string", length=255)
*/
protected $telefono;
/**
* @var string
* @ORM\Column(name="horario", type="string", length=255, options={"default"="Horario de retiro: 9hs a 17hs."})
*/
protected $horario;
/**
* @var string
* @ORM\Column(name="mapa", type="string", length=255)
*/
protected $mapa;
/**
* @var string
* @ORM\Column(name="codigo", type="string", length=3)
*/
protected $codigo;
/**
* @var string
* @ORM\Column(name="orden", type="string", length=2)
*/
protected $orden;
public $activa = false;
/**
* @var boolean
* @ORM\Column(name="habilitada_para_alta", type="boolean")
*/
protected $habilitadaParaAlta;
/**
* @var boolean
* @ORM\Column(name="con_entrega", type="boolean")
*/
protected $conEntrega;
/**
* @var boolean
* @ORM\Column(name="con_mostrador", type="boolean")
*/
protected $conMostrador;
public function getId()
{
return $this->id;
}
public function setId($id)
{
$this->id = $id;
return $this;
}
public function getNombre()
{
return $this->nombre;
}
public function setNombre($nombre)
{
$this->nombre = $nombre;
return $this;
}
public function getDireccion()
{
return $this->direccion;
}
public function setDireccion($direccion)
{
$this->direccion = $direccion;
return $this;
}
public function getLocalidad()
{
return $this->localidad;
}
public function setLocalidad($localidad)
{
$this->localidad = $localidad;
return $this;
}
public function getProvincia()
{
return $this->provincia;
}
public function setProvincia($provincia)
{
$this->provincia = $provincia;
return $this;
}
public function getEmail()
{
return $this->email;
}
public function setEmail($email)
{
$this->email = $email;
return $this;
}
public function getTelefono()
{
return $this->telefono;
}
public function setTelefono($telefono)
{
$this->telefono = $telefono;
return $this;
}
public function getHorario()
{
return $this->horario;
}
public function setHorario($horario)
{
$this->horario = $horario;
return $this;
}
public function getMapa()
{
return $this->mapa;
}
public function setMapa($mapa)
{
$this->mapa = $mapa;
return $this;
}
/**
* Constructor
*/
public function __construct()
{
$this->carritos = new \Doctrine\Common\Collections\ArrayCollection();
$this->itemsCarrito = new \Doctrine\Common\Collections\ArrayCollection();
$this->empresas = new \Doctrine\Common\Collections\ArrayCollection();
}
/**
* Set codigo
*
* @param string $codigo
*
* @return Sucursal
*/
public function setCodigo($codigo)
{
$this->codigo = $codigo;
return $this;
}
/**
* Get codigo
*
* @return string
*/
public function getCodigo()
{
return $this->codigo;
}
/**
* Add carrito
*
* @param \AppBundle\Entity\Carrito $carrito
*
* @return Sucursal
*/
public function addCarrito(\AppBundle\Entity\Carrito $carrito)
{
$this->carritos[] = $carrito;
return $this;
}
/**
* Remove carrito
*
* @param \AppBundle\Entity\Carrito $carrito
*/
public function removeCarrito(\AppBundle\Entity\Carrito $carrito)
{
$this->carritos->removeElement($carrito);
}
/**
* Get carritos
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getCarritos()
{
return $this->carritos;
}
/**
* Add itemsCarrito
*
* @param \AppBundle\Entity\ItemCarrito $itemsCarrito
*
* @return Sucursal
*/
public function addItemsCarrito(\AppBundle\Entity\ItemCarrito $itemsCarrito)
{
$this->itemsCarrito[] = $itemsCarrito;
return $this;
}
/**
* Remove itemsCarrito
*
* @param \AppBundle\Entity\ItemCarrito $itemsCarrito
*/
public function removeItemsCarrito(\AppBundle\Entity\ItemCarrito $itemsCarrito)
{
$this->itemsCarrito->removeElement($itemsCarrito);
}
/**
* Get itemsCarrito
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getItemsCarrito()
{
return $this->itemsCarrito;
}
/**
* Add empresa
*
* @param \AppBundle\Entity\Empresa $empresa
*
* @return Sucursal
*/
public function addEmpresa(\AppBundle\Entity\Empresa $empresa)
{
$this->empresas[] = $empresa;
return $this;
}
/**
* Remove empresa
*
* @param \AppBundle\Entity\Empresa $empresa
*/
public function removeEmpresa(\AppBundle\Entity\Empresa $empresa)
{
$this->empresas->removeElement($empresa);
}
/**
* Get empresas
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getEmpresas()
{
return $this->empresas;
}
public function tieneReparto(){
return in_array($this->id, self::SUCURSALES_ENTREGA);
}
public function permitePedidoMostrador(){
return !in_array($this->id, self::SUCURSALES_SIN_MOSTRADOR);
}
public function esSucursalBSAS(){
return in_array($this->id, self::SUCURSALES_BSAS);
}
public function getCentroFinalId()
{
return ($this->id == self::CASA_CENTRAL) ? self::SUCURSAL_FLORIDA : $this->id;
}
public function getDetalleSucursal(){
return [
'id' => $this->getId(),
'nombre' => $this->getNombre(),
'direccion' => $this->getDireccion(),
'localidad' => $this->getLocalidad(),
'provincia' => $this->getProvincia(),
'activa' => $this->activa
];
}
public function setOrden($orden) {
$this->orden = $orden;
return $this;
}
public function getOrden()
{
return $this->orden;
}
/**
* Get the value of habilitadaParaAlta
*
* @return string
*/
public function getHabilitadaParaAlta()
{
return $this->habilitadaParaAlta;
}
/**
* Set the value of habilitadaParaAlta
*
* @param bool $habilitadaParaAlta
*
* @return self
*/
public function setHabilitadaParaAlta(bool $habilitadaParaAlta)
{
$this->habilitadaParaAlta = $habilitadaParaAlta;
return $this;
}
/**
* Get the value of conEntrega
*
* @return bool
*/
public function getConEntrega()
{
return $this->conEntrega;
}
/**
* Set the value of conEntrega
*
* @param bool $conEntrega
*
* @return self
*/
public function setConEntrega(bool $conEntrega)
{
$this->conEntrega = $conEntrega;
return $this;
}
/**
* Get the value of conMostrador
*
* @return bool
*/
public function getConMostrador()
{
return $this->conMostrador;
}
/**
* Set the value of conMostrador
*
* @param bool $conMostrador
*
* @return self
*/
public function setConMostrador(bool $conMostrador)
{
$this->conMostrador = $conMostrador;
return $this;
}
}