/** * 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'); } }
/** * 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; }