Example #1
0
 /**
  * @Route("listar/")
  * @Template()
  */
 public function listarAction(Request $request)
 {
     $filtro_buscar = $this->ObtenerVariable($request, 'filtro_buscar');
     $filtro_estado = $this->ObtenerVariable($request, 'filtro_estado');
     if ($filtro_estado) {
         if ($filtro_estado == -1) {
             // El -1 tiene el valor especial de Estado=0
             $this->Where .= " AND r.Estado=0";
         } else {
             $this->Where .= " AND r.Estado={$filtro_estado}";
         }
     }
     if ($filtro_buscar) {
         $this->Joins[] = " LEFT JOIN r.Titular t";
         $this->Joins[] = " LEFT JOIN r.Local l";
         $this->BuscarPor = 'Nombre, ExpedienteNumero, l.Nombre, t.NombreVisible, t.RazonSocial, t.DocumentoNumero, t.Cuilt';
     }
     $RestuladoListar = parent::listarAction($request);
     $res = $RestuladoListar['res'];
     $res->Estados = \Yacare\ComercioBundle\Entity\Comercio::NombresEstados();
     return $RestuladoListar;
 }
Example #2
0
 /**
  * @Route("resumen/")
  * @Template
  */
 public function resumenAction(Request $request)
 {
     $res = $this->ConstruirResultado(new \Yacare\ComercioBundle\Helper\Resultados\ResultadoInicioAction($this), $request);
     $this->ObtenerContadoresYRecientes($res);
     $em = $this->getEm();
     // Comercios por actividad principal
     $res->Rankings['ComercioActividad'] = $em->createQuery('SELECT a.Nombre, a.Clamae2014, COUNT(c.id) AS cant
     	FROM Yacare\\ComercioBundle\\Entity\\Comercio c
     		LEFT JOIN c.Actividad1 a
     	WHERE c.Actividad1 IS NOT NULL
         GROUP BY c.Actividad1
         ORDER BY cant DESC')->setMaxResults(15)->getResult();
     $Graf_ComercioActividad = new Chartjs();
     $Graf_ComercioActividad->RenderTo = 'chart_comercioactividad';
     $Graf_ComercioActividad->ChartType = 'Doughnut';
     $Graf_ComercioActividad->AddOption('scaleShowLabelBackdrop', true)->AddOption('animateRotate', true);
     foreach ($res->Rankings['ComercioActividad'] as $Porcion) {
         $Graf_ComercioActividad->AddPieValue($Porcion['Nombre'], $Porcion['cant']);
     }
     $res->Charts['ComercioActividad'] = $Graf_ComercioActividad;
     /// Comercios por estado
     $res->Rankings['ComercioEstado'] = $em->createQuery('SELECT c.Estado, COUNT(c.id) AS cant
     	FROM Yacare\\ComercioBundle\\Entity\\Comercio c
         GROUP BY c.Estado
         ORDER BY cant DESC')->setMaxResults(15)->getResult();
     $Graf_ComercioEstado = new Chartjs();
     $Graf_ComercioEstado->RenderTo = 'chart_comercioestado';
     $Graf_ComercioEstado->ChartType = 'Doughnut';
     $Graf_ComercioEstado->AddOption('scaleShowLabelBackdrop', true)->AddOption('animateRotate', true);
     foreach ($res->Rankings['ComercioEstado'] as $Porcion) {
         $Graf_ComercioEstado->AddPieValue(\Yacare\ComercioBundle\Entity\Comercio::NombreEstado($Porcion['Estado']), $Porcion['cant']);
     }
     $res->Charts['ComercioEstado'] = $Graf_ComercioEstado;
     $res->NombresEstados = \Yacare\ComercioBundle\Entity\Comercio::NombresEstados();
     return array('res' => $res);
 }
Example #3
0
 /**
  * Reordena las actividades en un comercio para que estén consolidadas (sin espacios
  * intermedios en blanco).
  *
  * @param  \Yacare\ComercioBundle\Entity\Comercio $comercio El comercio.
  */
 public function ReordenarActividades($comercio)
 {
     $Reordenado = false;
     if ($comercio->getActividad6() && !$comercio->getActividad5()) {
         $comercio->setActividad5($comercio->getActividad6());
         $comercio->setActividad6(null);
         $Reordenado = true;
     }
     if ($comercio->getActividad5() && !$comercio->getActividad4()) {
         $comercio->setActividad4($comercio->getActividad5());
         $comercio->setActividad5(null);
         $Reordenado = true;
     }
     if ($comercio->getActividad4() && !$comercio->getActividad3()) {
         $comercio->setActividad3($comercio->getActividad4());
         $comercio->setActividad4(null);
         $Reordenado = true;
     }
     if ($comercio->getActividad3() && !$comercio->getActividad2()) {
         $comercio->setActividad2($comercio->getActividad3());
         $comercio->setActividad3(null);
         $Reordenado = true;
     }
     if ($Reordenado) {
         // Si hice cambios, uso recursión para hacer una pasada más, que puede ser necesaria.
         return $this->ReordenarActividades($comercio);
     } else {
         // No hice cambios. La lista está ordenada.
         return;
     }
 }
Example #4
0
 /**
  * Devuelve nombres de estado normalizados.
  * 
  * @param  integer $estado
  * @return string
  */
 public static function NombreEstado($estado)
 {
     return Comercio::NombresEstados()[$estado];
 }