Example #1
0
 /**
  * Devuelve un array con las Zonas de transporte donde opera la agencia
  * en curso.
  *
  * Se entiende por 'operar', que tenga alguna tarifa en la
  * tabla de portes.
  *
  * @return array (Id,Value)
  */
 public function getZonasOperacion()
 {
     $rows = array();
     $zonas = new ZonasTransporte();
     $tablaZonas = $zonas->getDataBaseName() . "." . $zonas->getTableName();
     $portes = new TablaPortes();
     $tablaPortes = $portes->getDataBaseName() . "." . $portes->getTableName();
     $em = new EntityManager($zonas->getConectionName());
     if ($em->getDbLink()) {
         $query = "\n                SELECT DISTINCT tp.IDZona AS Id, zt.Zona AS Value\n                FROM \n                  {$tablaPortes} as tp, \n                  {$tablaZonas} as zt\n                WHERE\n                  tp.IDAgencia='{$this->IDAgencia}' AND\n                  tp.IDZona=zt.IDZona\n                ORDER BY zt.Zona ASC";
         $em->query($query);
         $rows = $em->fetchResult();
         $em->desConecta();
     }
     return $rows;
 }
 public function listAction($idAgencia = '')
 {
     if ($this->values['permisos']['permisosModulo']['CO']) {
         if ($idAgencia == '') {
             $idAgencia = $this->request[2];
         }
         $agencias = new Agencias($idAgencia);
         $zonas = new ZonasTransporte();
         $tramos = new TramosKilos();
         $this->values['idAgencia'] = $idAgencia;
         $this->values['tablaPortes'] = $agencias->getTablaPortes();
         $this->values['zonasTransporte'] = $zonas->fetchAll('Zona', false);
         $this->values['tramosKilos'] = $tramos->fetchAll(false);
         unset($agencias);
         unset($zonas);
         unset($tramos);
         return array('template' => $this->entity . '/form.html.twig', 'values' => $this->values);
     } else {
         return array('template' => '_global/forbiden.html.twig');
     }
 }
Example #3
0
 /**
  * Devuelve un array con la tabla de portes de la agencia $idAgencia
  *
  * @param integer $idAgencia EL id de la agencia de transporte
  * @return array Tabla de portes
  */
 public function getTablaPortesAgencia($idAgencia)
 {
     $tabla = array();
     $zonas = new ZonasTransporte();
     $tablaZonas = $zonas->getTableName();
     unset($zonas);
     $em = new EntityManager($_SESSION['project']['conection']);
     if ($em->getDbLink()) {
         $query = "\n                SELECT tp.IDZona,zt.Zona,tp.Kilos,tp.Importe\n                FROM \n                    {$this->getDataBaseName()}.{$this->getTableName()} as tp, \n                    {$this->getDataBaseName()}.{$tablaZonas} as zt\n                WHERE\n                  tp.IDAgencia='{$idAgencia}' AND\n                  tp.IDZona=zt.IDZona\n                ORDER BY zt.Zona,Kilos ASC;\n                ";
         $em->query($query);
         $rows = $em->fetchResult();
         $em->desConecta();
     }
     $zonaAnterior = '';
     foreach ($rows as $row) {
         if ($zonaAnterior != $row['IDZona']) {
             $tabla[$row['IDZona']]['Zona'] = $row['Zona'];
         }
         $tabla[$row['IDZona']]['Tarifa'][$row['Kilos']] = $row['Importe'];
         $zonaAnterior = $row['IDZona'];
     }
     return $tabla;
 }