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);
 }
 public function indexAction()
 {
     if ($this->values['permisos']['permisosModulo']['UP']) {
         $agentes = new Agentes();
         $zonas = new Zonas();
         $this->values['comerciales'] = $agentes->getComerciales('', $_SESSION['suc'], false);
         $this->values['zonas'] = $zonas->fetchAll($_SESSION['suc']);
         unset($agentes);
         unset($zonas);
         $template = $this->entity . '/index.html.twig';
     } else {
         $template = "_global/forbiden.html.twig";
     }
     return array('template' => $template, 'values' => $this->values);
 }
 public function getZona()
 {
     $criteria = new CDbCriteria();
     $criteria->addCondition('t.EventoId = :EventoId');
     $criteria->addCondition('t.FuncionesId = :FuncionId');
     $criteria->addCondition('t.ZonasId = :ZonaId');
     $criteria->params = array(':EventoId' => $this->mapa->EventoId, ':FuncionId' => $this->mapa->FuncionId, ':ZonaId' => $this->ZonasId);
     return Zonas::model()->find($criteria);
 }
Example #5
0
 public function actionCargarZonas()
 {
     $data = Zonas::model()->findAll('EventoId=:parent_id AND FuncionesId=:parent_funcion_id', array(':parent_id' => (int) $_POST['evento_id'], ':parent_funcion_id' => (int) $_POST['funcion_id']));
     $data = CHtml::listData($data, 'ZonasId', 'ZonasAli');
     echo CHtml::tag('option', array('value' => ''), 'Seleccione ...', true);
     foreach ($data as $id => $value) {
         echo CHtml::tag('option', array('value' => $id), CHtml::encode($value), true);
     }
 }
Example #6
0
 public function actionGetTempDescuentos()
 {
     if (Yii::app()->request->isAjaxRequest) {
         $datas = Yii::app()->getSession()->get('descuentos');
         $pv = Yii::app()->getSession()->get('pv');
         if (!empty($datas)) {
             echo "<ul class='result'>";
             foreach ($datas as $keyevento => $data) {
                 //print_r($data);
                 $porcentaje = $data['DescuentosPat'] == "PORCENTAJE" ? "%" : "";
                 //$data['DescuentosPat']=="PORCENTAJE"?"%":"";
                 $efectivo = $data['DescuentosPat'] == "EFECTIVO" ? "\$" : "";
                 echo "<li class='info'>";
                 $evento = Evento::model()->findAllByPk($keyevento);
                 echo "<strong  class='alert alert-success'>{$keyevento}: " . $evento[0]->EventoNom . "</strong><br/><br/>";
                 $eventoId = $keyevento;
                 $funcionesId = $data['FuncionesId'];
                 $zonasId = $data['ZonasId'];
                 $subzonasId = $data['SubzonaId'];
                 $filasId = $data['FilasId'];
                 //especifica el punto de venta al que se aplicara el descuento $pv
                 if ($pv == "todos") {
                     echo "<strong>Aplica a todos los puntos de venta</strong> <br/>";
                 } else {
                     $punto_venta = Puntosventa::model()->find("PuntosventaId={$pv}");
                     echo "<strong>Aplica al punto de venta:</strong> ({$pv}){$punto_venta->PuntosventaNom}<br/>";
                 }
                 foreach ($data as $key => $dat) {
                     switch ($key) {
                         //case 'CuponesCod'        : echo "<strong>C&oacutedigo del Cup&oacute;n:</strong> ".$dat."<br/>";
                         //                          break;
                         case 'DescuentosDes':
                             echo "<strong>Descripci&oacuten:</strong> " . $dat . "<br/>";
                             break;
                         case 'DescuentosPat':
                             echo "<strong>Forma Descuento:</strong> " . $dat . "<br/>";
                             break;
                         case 'DescuentosCan':
                             echo "<strong>Cantidad:</strong> " . $efectivo . $dat . $porcentaje . "<br/>";
                             break;
                         case 'DescuentoCargo':
                             echo "<strong>Cargo Serv:</strong> " . $dat . "<br/>";
                             break;
                         case 'DescuentosFecIni':
                             echo "<strong>Fecha Inicio:</strong> " . $dat . "<br/>";
                             break;
                         case 'DescuentosFecFin':
                             echo "<strong>Fecha Fin:</strong> " . $dat . "<br/>";
                             break;
                         case 'DescuentosExis':
                             echo ($dat == "0" ? "<strong>Aplica descuentos a todos</strong>" : "<strong>Aplica a los primeros:</strong> " . $dat) . "<br/>";
                             break;
                         case 'DescuentosValRef':
                             /*if($dat=="todos"){
                                    echo "<strong>Punto de Venta:</strong> TODOS<br/>";
                               }else{
                                    $punto_venta = Puntosventa::model()->find("PuntosventaId=$dat"); echo "<strong>Punto de Venta:</strong> ($dat)$punto_venta->PuntosventaNom<br/>";
                               }*/
                             break;
                         case 'DescuentosId':
                             echo "<strong>Id:</strong> " . ($dat == "-1" ? "Ninguno" : $dat) . "<br/>";
                             break;
                         case 'FuncionesId':
                             if (!empty($dat)) {
                                 echo "<ul id='funciones_info{$keyevento}'><strong>Funciones</strong>";
                                 foreach ($dat as $keyf => $funcion) {
                                     if (count($funcion) > 0) {
                                         echo "<li>";
                                         $funcionTexto = Funciones::model()->findAll("EventoId={$keyevento} AND FuncionesId={$keyf}");
                                         echo $funcionTexto[0]->funcionesTexto;
                                         echo "<ul><strong>Zona</strong>";
                                         foreach ($funcion as $keyz => $zona) {
                                             if (count($zona) > 0) {
                                                 echo "<li>";
                                                 $zonasAli = Zonas::model()->findAll("EventoId={$keyevento} AND FuncionesId={$keyf} AND ZonasId={$keyz}");
                                                 echo $zonasAli[0]->ZonasAli;
                                                 echo "<ul><strong>Subzona</strong>";
                                                 foreach ($zona as $keysz => $subzona) {
                                                     if (count($subzona) > 0) {
                                                         echo "<li>";
                                                         echo $keysz;
                                                         echo "<ul><strong>Filas</strong>";
                                                         foreach ($subzona as $keyfl => $fila) {
                                                             if (count($fila) > 0) {
                                                                 echo "<li>";
                                                                 $filasAli = Filas::model()->findAll("EventoId={$keyevento} AND FuncionesId={$keyf} AND ZonasId={$keyz} AND SubzonaId={$keysz} AND FilasId={$keyfl}");
                                                                 echo $filasAli[0]->FilasAli;
                                                                 echo "<ul><strong>Lugares</strong>";
                                                                 foreach ($fila as $keyl => $lugar) {
                                                                     echo "<li>";
                                                                     echo $keyl;
                                                                     echo "</li>";
                                                                 }
                                                                 echo "</ul>";
                                                                 echo "</li>";
                                                             } else {
                                                                 echo "<li>";
                                                                 $filasAli = Filas::model()->findAll("EventoId={$keyevento} AND FuncionesId={$keyf} AND ZonasId={$keyz} AND SubzonaId={$keysz} AND FilasId={$keyfl}");
                                                                 echo $filasAli[0]->FilasAli;
                                                                 echo "</li>";
                                                             }
                                                         }
                                                         echo "</ul>";
                                                         echo "</li>";
                                                     } else {
                                                         echo "<li>";
                                                         echo $keysz;
                                                         echo "</li>";
                                                     }
                                                 }
                                                 echo "</ul>";
                                                 echo "</li>";
                                             } else {
                                                 echo "<li>";
                                                 $zonasAli = Zonas::model()->findAll("EventoId={$keyevento} AND FuncionesId={$keyf} AND ZonasId={$keyz}");
                                                 echo $zonasAli[0]->ZonasAli;
                                                 echo "</li>";
                                             }
                                         }
                                         echo "</ul>";
                                         echo "</li>";
                                     } else {
                                         echo "<li>";
                                         $funcionTexto = Funciones::model()->findAll("EventoId={$keyevento} AND FuncionesId={$keyf}");
                                         echo $funcionTexto[0]->funcionesTexto;
                                         echo "</li>";
                                     }
                                 }
                                 echo "</ul>";
                             } else {
                                 echo '<strong>Aplica a todas las Funciones</strong></br>';
                             }
                             break;
                             /*case 'ZonasId'           : $zonas = Zonas::model()->findAll("EventoId=$eventoId AND FuncionesId=$funcionesId AND ZonasId=$zonasId");
                                                          echo "<strong>Zona:</strong> ".($dat=="0"?"Todas":$zonas[0]->ZonasAli)."<br/>";
                                                          break; 
                               case 'SubzonaId'         : echo "<strong>SubZona:</strong> ".($dat=="0"?"Todas":$dat)."<br/>";
                                                          break; 
                               case 'FilasId'           : $filas = Filas::model()->findAll("EventoId=$eventoId AND FuncionesId=$funcionesId AND ZonasId=$zonasId AND SubzonaId=$subzonasId AND FilasId=$filasId");
                                                          echo "<strong>Fila:</strong> ".($dat=="0"?"Todas":$filas[0]->FilasAli)."<br/>";
                                                          break; 
                               case 'LugaresId'         : echo "<strong>Lugar:</strong> ".($dat=="0"?"Todas":$dat)."<br/>";
                                                          break;*/
                     }
                     //echo $key.":".$dat."<br/>";
                 }
                 echo "</li>";
             }
             echo "</ul>";
             echo "<p style='clear:both;'></p>";
             //print_r($datas);
         }
     }
 }
Example #7
0
/**
 * Construye un tag html <select> con todas las zonas comerciales de una sucursal.
 * @param integer $idSucursal ID de la sucursal
 * @return string Codigo html con el tag select
 */
function zonasSucursal($idSucursal = '')
{
    $zona = new Zonas();
    $rows = $zona->fetchAll($idSucursal);
    unset($zona);
    if ($nameSelect == '') {
        $nameSelect = $_GET['nameselect'];
    }
    if ($idSelect == '') {
        $idSelect = $_GET['idselect'];
    }
    if ($idSucursal == '') {
        $idSucursal = $_SESSION['suc'];
    }
    $ch = "<div class='Etiqueta'>Zona de Venta</div>";
    $ch .= "<select name='" . $nameSelect . "' id='" . $idSelect . "' class='Select'>";
    foreach ($rows as $row) {
        $ch .= "<option value='" . $row['Id'] . "'>" . $row['Value'] . "</option>";
    }
    $ch .= "</select>";
    return $ch;
}
Example #8
0
 public function getReporteZonas($eventoId, $funcionesId = 'TODAS', $desde = '', $hasta = '')
 {
     $funcionCond = '';
     if (isset($eventoId) and $eventoId > 0) {
         $evento = Evento::model()->findByPk($eventoId);
     }
     if (isset($funcionesId) and $funcionesId > 0) {
         $funcionCond = sprintf(" AND FuncionesId = '%s' ", $funcionesId);
         $funcion = Funciones::model()->with('zonas')->findByPk(array('EventoId' => $eventoId, 'FuncionesId' => $funcionesId));
         if (is_object($funcion)) {
             //$funciones=$funcion;
             $zonas = $funcion->zonas;
         }
     } else {
         //$funciones=$evento->funciones;
         $zonas = Zonas::model()->with('funcion')->findAllByAttributes(array('EventoId' => $eventoId), array('group' => 't.EventoId,t.ZonasId'));
     }
     $matrixZonas = array();
     $modelo = new ReportesFlex();
     //foreach ($funciones as $funcion) {
     foreach ($zonas as $zona) {
         $aforo = Lugares::model()->count(sprintf("EventoId= '%s' %s AND ZonasId = '%s'  AND LugaresStatus<>'OFF' ", $eventoId, $funcionCond, $zona->ZonasId));
         //"EventoId = '$eventoId' AND FuncionesId = '".$zona->funcion->FuncionesId."' AND ZonasId =".$zona->ZonasId);
         $zone = array();
         $zone['aforo'] = $aforo;
         $zone['zona'] = $zona->ZonasAli;
         $matrix = array('aforo' => array('titulo' => 'Aforo', 'boletos' => $aforo, 'precio' => $zona->ZonasCosBol, 'importe' => $zona->ZonasCosBol * $aforo, 'porcentaje' => 100), 'por vender' => array('titulo' => 'Por Vender', 'boletos' => 0, 'precio' => 0, 'importe' => 0, 'porcentaje' => 0), 'descuentos' => array('titulo' => 'Descuentos', 'boletos' => 0, 'precio' => 0, 'importe' => 0, 'porcentaje' => 0), 'cupones' => array('titulo' => 'Cupones', 'boletos' => 0, 'precio' => 0, 'importe' => 0, 'porcentaje' => 0), 'subtotal' => array('titulo' => 'Sub-Total', 'boletos' => 0, 'precio' => 0, 'importe' => 0, 'porcentaje' => 0));
         $reporte = $modelo->getDetallesZonasCargo($eventoId, $funcionesId, $zona->ZonasId, $desde, $hasta, $cargo = 'NO');
         //$tipos=array();
         $matrix['tipos'] = array();
         foreach ($reporte->getData() as $fila) {
             //$index=$fila['VentasBolTip'].$fila['VentasCosBol'];
             $temp = array('titulo' => '', 'boletos' => 0, 'precio' => 0, 'importe' => 0, 'porcentaje' => 0);
             $temp['precio'] = $fila['VentasCosBol'];
             $temp['titulo'] = ucfirst(strtolower($fila['VentasBolTip']));
             if (strcasecmp($temp['titulo'], 'Normal') == 1) {
                 $temp['titulo'] = 'Ventas';
             }
             $matrix['subtotal']['boletos'] += $temp['boletos'] = $fila['cantidad'];
             $matrix['subtotal']['importe'] += $temp['importe'] = $fila['total'];
             $temp['porcentaje'] = number_format($temp['boletos'] * 100 / max($matrix['aforo']['boletos'], 1));
             $matrix['tipos'][] = $temp;
         }
         // Ventas con descuento por zona
         $reporte = $modelo->getReporte($eventoId, $zona->funcion->FuncionesId, $desde, $hasta, $cargo, 'NORMAL', ' AND t2.VentasMonDes>0 AND t2.ZonasId=' . $zona->ZonasId, 'DescuentosDes', 'DescuentosDes');
         foreach ($reporte->getData() as $fila) {
             $temp = array('titulo' => '', 'boletos' => 0, 'precio' => 0, 'importe' => 0, 'porcentaje' => 0);
             $temp['titulo'] = $fila['descuento'];
             $temp['boletos'] = $fila['cantidad'];
             $temp['precio'] = $fila['VentasCosBol'];
             $temp['total'] = $fila['total'];
             $matrix['tipos'][] = $temp;
         }
         $matrix['por vender']['boletos'] = $matrix['aforo']['boletos'] - $matrix['subtotal']['boletos'];
         $matrix['por vender']['importe'] = $matrix['aforo']['precio'] * $matrix['por vender']['boletos'];
         //$matrix['por vender']['porcentaje']	=$matrix['por vender']['boletos'] / max($matrix['aforo']['boletos'],1)	;
         foreach ($matrix as $key => $fila) {
             if ($key != "tipos") {
                 $matrix[$key]['porcentaje'] = number_format($fila['boletos'] * 100 / max($matrix['aforo']['boletos'], 1), 0);
             }
         }
         //echo "<pre>";print_r($matrix);echo "</pre>";
         $this->formateoNumerico($matrix, array('boletos', 'importe', 'precio'));
         $this->formateoNumerico($matrix['tipos'], array('boletos', 'importe', 'precio'));
         $zone['datos'] = $matrix;
         $matrixZonas[] = $zone;
     }
     //}
     return array('zonas' => $matrixZonas);
 }
Example #9
0
 public function agregarZona()
 {
     /*
      * Agrega una zona con sus datos por default
      * normalmente se ocuparía solo cuando se crea o edita una distribución
      */
     $model = new Zonas();
     // $model->attributes=$this;
     $model->EventoId = $this->EventoId;
     $model->FuncionesId = $this->FuncionesId;
     if ($model->save()) {
         return $model;
     } else {
         return false;
     }
 }
Example #10
0
 public function actionGeneracionFilas($EventoId, $FuncionesId, $ZonasId)
 {
     // Genera filas distribuidas por las subzonas
     $model = Zonas::model()->with('disfilas')->findByPk(compact('EventoId', 'FuncionesId', 'ZonasId'));
     //Yii::app()->clientScript->scriptMap['jquery.js'] = false;
     //$this->renderPartial('editorFilas',compact('model'));
     $this->render('editorFilas', compact('model'));
 }
Example #11
0
 static function removerAsignacion($EventoId, $FuncionesId)
 {
     //Elimina todas las zonas, subzonas, filas, lugares de la funcion que se le indique
     $identificador = compact('EventoId', 'FuncionesId');
     $transaction = Yii::app()->db->beginTransaction();
     Subzona::model()->deleteAllByAttributes($identificador);
     Filas::model()->deleteAllByAttributes($identificador);
     Lugares::model()->deleteAllByAttributes($identificador);
     Zonaslevel1::model()->deleteAllByAttributes($identificador);
     Zonastipo::model()->deleteAllByAttributes($identificador);
     Zonastipolevel1::model()->deleteAllByAttributes($identificador);
     $mapagrande = ConfigurlFuncionesMapaGrande::model()->findByAttributes(array('EventoId' => $EventoId, 'FuncionId' => $FuncionesId));
     if (is_object($mapagrande)) {
         // Si tiene un mapa grande se eliminan primero sus coordenadas para que no de restriccion de llaves foraneas
         ConfigurlMapaGrandeCoordenadas::model()->deleteAllByAttributes(array('configurl_funcion_mapa_grande_id' => $mapagrande->id));
         $mapagrande->delete();
     }
     if (Zonas::model()->deleteAllByAttributes($identificador)) {
         $funcion = Funciones::model()->findByPk($identificador);
         $funcion->ForoId = 0;
         $funcion->ForoMapIntId = 0;
         $transaction->commit();
     } else {
         $transaction->rollback();
     }
     return Zonas::model()->countByAttributes($identificador) == 0;
 }
Example #12
0
              <div class="form-group">  
                  <label for="txtTel">Teléfono Principal</label>
                  <input type="text" pattern="^[2|8|7|6]\d{7}$" class="form-control" id="txtTel" name="TelPrincipal"
                         placeholder="&#xf095; Tel. Principal. Ejm:(88888888)" required oninvalid="this.setCustomValidity('Por Favor ingrese un teléfono válido para comunicarnos con usted, en formato (88888888).')" oninput="setCustomValidity('')">
              </div>
              <div class="form-group">  
                  <label for="txtTelAux">Teléfono Secundario</label>
                  <input type="text" pattern="^[2|8|7|6]\d{7}$" class="form-control" id="txtTelAux" name="TelSecundario"
                         placeholder="&#xf095; Tel. Secundario.">
              </div>
                <!--<div class="form-group">-->  
                  <!--<label for="cboZona">Zona de entrega: </label>-->
                  <?php 
include 'model/Zonas.php';
//crea instancia de Zonas
$vloZonas = new Zonas();
//Obtiene las zonas
$vloZonasDeEntrega = $vloZonas->ObtenerZonas();
$vlnTotReg = mysql_num_rows($vloZonasDeEntrega);
if ($vlnTotReg > 0) {
    ?>
                  <div class="form-group">
                      <label for="cboZona">Zona de entrega: </label>
                      <select id="cboZona" name="Zona" class="form-control"required>
                       <?php 
    while ($vloFila = mysql_fetch_array($vloZonasDeEntrega)) {
        echo '<option value="' . $vloFila['zon_id'] . '">' . $vloFila['zon_nom'] . '</option>';
    }
    ?>
                      </select>
                  </div>
 /**
  * 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);
 }
Example #14
0
//Obtener el total de articulos
$vlnCantTotalArt = $vloCarrito->articulos_total();
//Obtener el monto total a pagar
$vlnMontoTotalCarrito = $vloCarrito->precio_total();
//Obtiene los articulos almacenados
$VloArticulosComprados = $vloCarrito->get_content();
//Si al menos existe un articulo
if ($vlnCantTotalArt > 0) {
    /*********************** PRIMER PASO ALMACENAR EL PEDIDO *************************/
    //Obtiene el id del pedido
    $vlcIDPedido = $vloADPedidos->InicializarPedido($vlcNombre, $vlcEmail, $vlnTelPrinc, $vlcTelSec, $vlcDireccion, $vlnZona, $vlnCantTotalArt, $vlnMontoTotalCarrito);
    if ($vlcIDPedido != '') {
        //Envia a guardar el detalle
        $vloADPedidos->GuardarDetalle($vlcIDPedido, $VloArticulosComprados);
        /***********************SEGUNDO PASO ENVIAR EL PEDIDO POR CORREO********************/
        $vloZonas = new Zonas();
        $vlnSubtotal = 0;
        $vlnFormatoSubTotal = '';
        $vlcZonaNombre = $vloZonas->ObtenerDescripcionZona($vlnZona);
        //define la fecha
        $vldhoy = getdate();
        //crea fecha de solicitud de pedido
        $vlcFechaPedido = $vldhoy['mday'] . '/' . $vldhoy['mon'] . '/' . $vldhoy['year'];
        $vlcBody = '<div style="margin:0 auto; border: #fff solid 2px; border-radius: 10px; box-shadow: 2px 2px 5px #888888; width: 400px; height: auto; text-align: center">';
        $vlcBody = $vlcBody . '<div style="background-color: #088A08; margin-top: 0; border-radius:10px 10px 0px 0px; position: relative; display: inline-block; color: #fff;">';
        $vlcBody = $vlcBody . '<p>Saludos ' . $vlcNombre . ', gracias por comprar a travez de frutas y verduras express. A continuaci&oacute;n el detalle de su pedido.</p>';
        $vlcBody = $vlcBody . '</div>';
        $vlcBody = $vlcBody . '<hr align="center" width="99%">';
        $vlcBody = $vlcBody . '<div style="text-align: left;">';
        $vlcBody = $vlcBody . '<p><strong>Pedido N&uacute;mero: </strong>' . $vlcIDPedido . '</p>';
        $vlcBody = $vlcBody . '<p><strong>Fecha del pedido: </strong>' . $vlcFechaPedido . '</p>';
Example #15
0
File: Zonas.php Project: cicb/tpc
 public static function reenumerar($EventoId, $FuncionesId)
 {
     // Vuelve a generar las ZonasNum
     $zonas = Zonas::model()->findAllByAttributes(compact('EventoId', 'FuncionesId'));
     $i = 1;
     foreach ($zonas as $zona) {
         if (is_object($zona)) {
             $zona->ZonasNum = $i;
             $zona->save();
             $i++;
         }
     }
 }