public function listadoAction() { $zonas = new Zonas(); $tabla = $zonas->getDataBaseName() . "." . $zonas->getTableName(); unset($zonas); $filtro = $tabla . ".IDSucursal='" . $_SESSION['suc'] . "'"; return parent::listadoAction($filtro); }
/** * Genera array con los clientes del la ruta para el * comercial y dia indicado * * @param integer $idComercial * @param integer $dia * @return <type> */ public function listAction($idComercial = '', $dia = '') { if ($idComercial == '') { $idComercial = $this->request[2]; } if ($dia == '') { $dia = $this->request[3]; } $this->values['listado']['dia'] = $dia; // Busco los clientes del comercial indicado y sucursal actual // que aun no estén asignados al día solicitado $cliente = new Clientes(); $rutasVentas = new RutasVentas(); $filtro = "IDComercial='{$idComercial}'\n AND IDSucursal='{$_SESSION['suc']}'\n AND IDCliente NOT IN\n (SELECT IDCliente FROM {$rutasVentas->getDataBaseName()}.{$rutasVentas->getTableName()}\n WHERE IDComercial='{$idComercial}' AND Dia='{$dia}')"; $clientes = $cliente->cargaCondicion("IDCliente as Id, RazonSocial as Value", $filtro, "RazonSocial ASC"); $this->values['listado']['clientes'] = $clientes; array_unshift($this->values['listado']['clientes'], array('Id' => '', 'Value' => ':: Indique un cliente')); // Busco las zonas de los clientes del comercial indicado y sucursal actual // que aun no estén asignados al día solicitado $zona = new Zonas(); $em = new EntityManager($cliente->getConectionName()); if ($em->getDbLink()) { $query = "SELECT DISTINCT t1.IDZona as Id, t2.Zona as Value \n FROM \n {$cliente->getDataBaseName()}.{$cliente->getTableName()} as t1, \n {$zona->getDataBaseName()}.{$zona->getTableName()} as t2\n WHERE t1.IDZona=t2.IDZona\n AND t1.IDComercial='{$idComercial}'\n AND t1.IDSucursal='{$_SESSION['suc']}'\n AND t1.IDCliente NOT IN\n (SELECT IDCliente FROM {$rutasVentas->getDataBaseName()}.{$rutasVentas->getTableName()}\n WHERE IDComercial='{$idComercial}' AND Dia='{$dia}')\n ORDER BY t2.Zona ASC"; $em->query($query); $rows = $em->fetchResult(); $em->desConecta(); } $this->values['listado']['zonas'] = $rows; array_unshift($this->values['listado']['zonas'], array('Id' => '', 'Value' => ':: Indique una Zona')); //----------------------------------------------- // Lleno los clientes asignados al comercial y día // ordenados por Zona // ----------------------------------------------- $em = new EntityManager($cliente->getConectionName()); if ($em->getDbLink()) { $query = "SELECT t1.Id \n FROM \n {$rutasVentas->getDataBaseName()}.{$rutasVentas->getTableName()} as t1,\n {$cliente->getDataBaseName()}.{$cliente->getTableName()} as t2\n WHERE t1.IDCliente=t2.IDCliente\n AND t2.IDSucursal='{$_SESSION['suc']}'\n AND t1.IDComercial='{$idComercial}'\n AND t1.Dia='{$dia}'\n ORDER BY t1.OrdenCliente,t1.IDZona"; $em->query($query); $rows = $em->fetchResult(); $em->desConecta(); } unset($em); unset($em); unset($cliente); unset($zona); unset($rutasVentas); foreach ($rows as $row) { $lineas[] = new $this->parentEntity($row['Id']); } //----------------------------------------------- $template = $this->entity . '/list.html.twig'; $this->values['linkBy']['value'] = $idComercial; $this->values['listado']['data'] = $lineas; $this->values['listado']['nClientes'] = count($lineas); unset($lis); unset($lineas); return array('template' => $template, 'values' => $this->values); }
/** * Genera array con las direcciones de entrega de la ruta para el * repartidor y dia indicado * * @param integer $idRepartidor * @param integer $dia * @return <type> */ public function listAction($idRuta = '', $dia = '') { if ($idRuta == '') { $idRuta = $this->request[2]; } if ($dia == '') { $dia = $this->request[3]; } $this->values['listado']['dia'] = $dia; $cliente = new Clientes(); $zona = new Zonas(); $dentrega = new ClientesDentrega(); $ruta = new RutasRepartoDetalle(); // Busco las direcciones de entrega de la ruta indicada y sucursal actual // que aun no estén asignadas al día solicitado $em = new EntityManager($cliente->getConectionName()); if ($em->getDbLink()) { $query = "SELECT t1.IDDirec as Id, t1.Nombre as Value\n FROM \n {$dentrega->getDataBaseName()}.{$dentrega->getTableName()} as t1, \n {$cliente->getDataBaseName()}.{$cliente->getTableName()} as t2, \n {$zona->getDataBaseName()}.{$zona->getTableName()} as t3\n WHERE t1.IDCliente=t2.IDCliente\n AND t2.IDSucursal='{$_SESSION['suc']}'\n AND t3.IDSucursal='{$_SESSION['suc']}'\n AND t1.IDZona=t3.IDZona\n AND t1.IDDirec NOT IN\n (SELECT IDDirec FROM {$ruta->getDataBaseName()}.{$ruta->getTableName()}\n WHERE IDRuta='{$idRuta}' AND Dia='{$dia}')\n ORDER BY t1.Nombre ASC"; $em->query($query); $rows = $em->fetchResult(); $em->desConecta(); } unset($em); $this->values['listado']['direcciones'] = $rows; array_unshift($this->values['listado']['direcciones'], array('Id' => '', 'Value' => ':: Indique una dirección')); // Busco las zonas de las direcciones de entrega de la sucursal actual // que aun no estén asignadas al día solicitado $em = new EntityManager($cliente->getConectionName()); if ($em->getDbLink()) { $query = "SELECT DISTINCT t1.IDZona as Id, t2.Zona as Value \n FROM \n {$dentrega->getDataBaseName()}.{$dentrega->getTableName()} as t1, \n {$zona->getDataBaseName()}.{$zona->getTableName()} as t2, \n {$cliente->getDataBaseName()}.{$cliente->getTableName()} as t3\n WHERE t1.IDZona=t2.IDZona\n AND t1.IDCliente=t3.IDCliente\n AND t3.IDSucursal='{$_SESSION['suc']}'\n AND t2.IDSucursal='{$_SESSION['suc']}'\n AND t1.IDDirec NOT IN\n (SELECT IDDirec FROM {$ruta->getDataBaseName()}.{$ruta->getTableName()}\n WHERE IDRuta='{$idRuta}' AND Dia='{$dia}')\n ORDER BY t2.Zona ASC"; $em->query($query); $rows = $em->fetchResult(); $em->desConecta(); } unset($em); $this->values['listado']['zonas'] = $rows; array_unshift($this->values['listado']['zonas'], array('Id' => '', 'Value' => ':: Indique una Zona')); //----------------------------------------------- // Lleno las direcciones asignadas al repartidor y día // ordenados por Orden de direccion de entrega y IDZona // ----------------------------------------------- $em = new EntityManager($cliente->getConectionName()); if ($em->getDbLink()) { $query = "SELECT t1.Id,t1.IDRepartidor \n FROM \n {$ruta->getDataBaseName()}.{$ruta->getTableName()} as t1, \n {$dentrega->getDataBaseName()}.{$dentrega->getTableName()} as t2, \n {$zona->getDataBaseName()}.{$zona->getTableName()} as t3\n WHERE t1.IDDirec=t2.IDDirec\n AND t2.IDZona=t3.IDZona\n AND t1.IDRuta='{$idRuta}'\n AND t1.Dia='{$dia}'\n ORDER BY t1.OrdenDirec,t1.IDZona"; $em->query($query); $rows = $em->fetchResult(); $em->desConecta(); } unset($em); unset($cliente); unset($dentrega); unset($zona); foreach ($rows as $row) { $lineas[] = new $this->entity($row['Id']); } //----------------------------------------------- $this->values['listado']['IDRepartidor'] = $rows[0]['IDRepartidor']; $template = $this->entity . '/list.html.twig'; $this->values['linkBy']['value'] = $idRuta; $this->values['listado']['data'] = $lineas; $this->values['listado']['nDirecciones'] = count($lineas); unset($lis); unset($lineas); return array('template' => $template, 'values' => $this->values); }