Пример #1
0
 /**
  * @param str/string valor es una cadena con cualquier serie de simbolos
  * @param int/integer valor es una cadena con cualquier serie de simbolos
  * @return str/string      si es la entrada cumple con los requerimientos
  * @soap
  */
 public function verBoletos($referencia = false, $numeroBoletos = false)
 {
     $error = array('codigo' => -1, 'popsae' => 1, 'msg' => "No se encontro el error.", "visible" => 1);
     $formatoInterno = 'BoletoFormatoSimple';
     $eventos = array(539, 558);
     $servicios = new Servicios($referencia);
     // echo CHtml::openTag("pre");
     //Validar que el numero de boletos que se vendieron sea igual al de la referencia xxxxxxxxxxNN
     $lugares = $servicios->buscarBoletos($referencia, $numeroBoletos);
     $tickets = array();
     $coords = Formatosimpresionlevel1::model()->findAllByAttributes(array('FormatoId' => 3));
     $matrizCoord = array();
     require_once dirname(__FILE__) . '/../extensions/cbarras/ean.php';
     foreach ($coords as $coord) {
         $matrizCoord[$coord->FormatoObj] = array($coord->FormatoX, $coord->FormatoY);
     }
     foreach ($lugares as $lugar) {
         // print_r($lugar);
         $encoder = new EAN13($lugar->LugaresNumBol, 2);
         $fila = explode(',', str_replace('  ', ' ', $lugar->fila->FilasAli));
         $fali = array_pop($fila);
         $imaBol = "";
         try {
             if (in_array($lugar->EventoId, $eventos)) {
                 $formatoInterno = 'BoletoFormatoUdlap';
             }
             if (strlen($lugar->evento->EventoImaBol) > 0) {
                 $imaBol = base64_encode(@file_get_contents('http://taquillacero.com/imagesbd/' . $lugar->evento->EventoImaBol));
             }
         } catch (Exception $e) {
             // $error['codigo']=601;
             // $error['msg']="No se encontro la imagen del boleto.";
             // $error['popsae']=2;
         }
         $tickets[] = array('SubzonaAcc' => $lugar->subzona->SubzonaAcc, 'ZonasAli' => $lugar->zona->ZonasAli . " " . array_pop($fila), 'FilasAli' => $fali, 'LugaresLug' => $lugar->lugar->LugaresLug, 'VentasBolTip' => $lugar->VentasBolTip, 'VentasCosBol' => number_format($lugar->precios->VentasCosBol, 0), 'VentasCarSer' => number_format($lugar->precios->VentasCarSer), 'EventoDesBol' => $lugar->evento->EventoDesBol, 'EventoNom' => $lugar->evento->EventoNom, 'ForoNom' => $lugar->foro->ForoNom, 'funcionesTexto' => $lugar->funcion->funcionesTexto, 'VentasCon' => $lugar->VentasCon, 'LugaresNumBol' => $lugar->LugaresNumBol, 'codigo' => base64_encode($encoder->display()), 'contenedor1' => $imaBol);
     }
     $boletos = array('boletos' => $tickets);
     // echo "<pre>";
     $e = Yii::app()->mustache->render($formatoInterno, $boletos, null, null, false);
     $jes = CJSON::decode($e);
     $ret = array();
     array_pop($jes);
     // var_export($jes);
     foreach ($jes as $boleto) {
         foreach ($boleto as $key => $item) {
             try {
                 if (array_key_exists($key, $matrizCoord)) {
                     $boleto[$key][0] += $matrizCoord[$key][0];
                     $boleto[$key][1] += $matrizCoord[$key][1];
                 }
             } catch (Exception $e) {
             }
         }
         $ret[] = array_values($boleto);
     }
     // print_r($ret);
     // echo "</pre>";
     // echo CHtml::closeTag('pre');
     return CJSON::encode(array("error" => $error, "venta" => $ret));
 }
Пример #2
0
 public function actionValidarBoletos($boleto)
 {
     # Verifica si se trata de un numero de referencia o de un numero de boleto
     $service = new Servicios($boleto);
     $lugaresVendidos = array();
     try {
         if (is_numeric($boleto)) {
             $lugaresVendidos = $service->buscarBoletos(false, array($boleto));
         } else {
             $lugaresVendidos = $service->buscarBoletos($boleto);
         }
     } catch (Exception $e) {
         // echo $e->getMessage();
     }
     foreach ($lugaresVendidos as $lugar) {
         $corredor = Corredores::model()->findByPk($lugar->getPrimaryKey());
         if (is_null($corredor)) {
             $corredor = new Corredores('insert');
         }
         $this->renderPartial('formularios/corredor', compact('lugar', 'corredor'));
     }
     if (empty($lugaresVendidos)) {
         throw new Exception("Boletos no encontrados", 503);
         // echo CHtml::tag('div',array('class'=>'alert alert-danger'),'Numero de boleto/referencia invalido.');
     }
     // echo CJSON::encode($boletos);
 }