Пример #1
0
 public function getLugaresDisponibles($limite)
 {
     $criteria = new CDbCriteria();
     $criteria->addCondition('t.SubzonaId = :SubzonaId');
     $criteria->addCondition('t.ZonasId = :ZonaId');
     $criteria->addCondition('t.FuncionesId = :FuncionId');
     $criteria->addCondition('t.EventoId = :EventoId');
     $criteria->addCondition('t.LugaresStatus = "TRUE"');
     $criteria->limit = $limite;
     $criteria->params = array(':SubzonaId' => $this->SubzonaId, ':ZonaId' => $this->ZonasId, ':FuncionId' => $this->FuncionesId, ':EventoId' => $this->EventoId);
     return Lugares::model()->findAll($criteria);
 }
Пример #2
0
 public function getDetallesZonasCargo($EventoId, $FuncionesId, $ZonasId, $fecha1, $fecha2, $cargo)
 {
     if ($cargo == 'SI') {
         $extra = " + ventaslevel1.VentasCarSer ";
     } else {
         $extra = "";
     }
     $rango = "";
     if ($fecha1 != "" && $fecha2 != "" and preg_match("(\\d{4}-\\d{2}-\\d{2})", $fecha1) == 1 and preg_match("(\\d{4}-\\d{2}-\\d{2})", $fecha2) == 1) {
         $rango = " AND DATE(VentasFecHor) BETWEEN '{$fecha1}' AND '{$fecha2}' ";
     }
     $aforo = Lugares::model()->count("EventoId = '{$EventoId}' AND FuncionesId = '{$FuncionesId}' AND ZonasId = '{$ZonasId}'");
     if ($FuncionesId > 0) {
         $funcion = " AND ventaslevel1.FuncionesId = '{$FuncionesId}' ";
     } else {
         $funcion = '';
     }
     $query = "SELECT ventas.VentasId as id, '{$aforo}' as aforo,\tzonas.ZonasAli,   CONCAT(ventaslevel1.VentasBolTip, ' ', if(descuentos.DescuentosDes = 'Ninguno', '',  CONCAT('- ',descuentos.DescuentosDes))) AS VentasBolTip,  COUNT(ventaslevel1.LugaresId) AS cantidad,\n\t\t\t(ventaslevel1.VentasCosBol - ventaslevel1.VentasMonDes) as  ZonasCosBol,\t\n\t\t\tSUM(ventaslevel1.VentasCosBol -\tventaslevel1.VentasMonDes {$extra}) as total,\n\t\t\t (ventaslevel1.VentasCosBol - ventaslevel1.VentasMonDes) as  VentasCosBol\n\t\t\tFROM ventas\n\t\t\tINNER JOIN ventaslevel1 ON (ventas.VentasId=ventaslevel1.VentasId)\n\t\t\tINNER JOIN descuentos ON (descuentos.DescuentosId = ventaslevel1.DescuentosId)\n\t\t\tINNER JOIN zonas ON (ventaslevel1.EventoId=zonas.EventoId)\n\t\t\tAND (ventaslevel1.FuncionesId=zonas.FuncionesId)\n\t\t\tAND (ventaslevel1.ZonasId=zonas.ZonasId)\n\t\t\tWHERE ventaslevel1.EventoId = '{$EventoId}'\n\t\t\t{$funcion}\n\t\t\tAND NOT (ventaslevel1.VentasSta = 'CANCELADO')\n\t\t\tAND ventaslevel1.ZonasId = '{$ZonasId}'\n\t\t\t{$rango}\n\t\t\tGROUP BY  zonas.ZonasAli,  ventaslevel1.VentasBolTip,  zonas.ZonasCosBol,\n\t\t\tventaslevel1.VentasCosBol,  ventaslevel1.VentasMonDes";
     return new CSqlDataProvider($query, array('pagination' => false));
 }
Пример #3
0
	
	<div class="row">
			<?php 
echo $form->label($model, 'lugares_lugar');
?>
			<?php 
echo $form->textField($model, 'lugares_lugar', array('size' => 25, 'maxlength' => 40));
?>
	</div>
	
	<div class="row">
			<?php 
echo $form->label($model, 'codlugar');
?>
			<?php 
$datos = CHtml::listData(Lugares::model()->findAll(array('condition' => 'codlugar  in (select  codlugar from {{inventario}} where codlugar is not null)', 'order' => 'deslugar')), 'codlugar', 'deslugar');
echo $form->DropDownList($model, 'codlugar', $datos, array('empty' => '--Seleccione un lugar --'));
?>
					
	</div>
	
	
	<div class="row buttons">
		<?php 
echo CHtml::submitButton('Filtrar');
?>
	</div>
	
	</div>
 
<?php 
Пример #4
0
 public function getResumenEvento($eventoId, $funcionId = 'TODAS', $desde = 0, $hasta = 0)
 {
     $modelo = new ReportesFlex();
     $funcion = "";
     if ($funcionId > 0) {
         $funcion = sprintf(" AND FuncionesId = '%s' ", $funcionId);
     }
     $aforo = Lugares::model()->count(sprintf("EventoId = '%s' AND LugaresStatus<>'OFF'  %s", $eventoId, $funcion));
     $porvender = Lugares::model()->count(sprintf("EventoId = '%s' AND LugaresStatus='TRUE'  %s", $eventoId, $funcion));
     $vendidas = Lugares::model()->count(sprintf("EventoId = '%s' AND LugaresStatus IN ('RESERVADO','SELECTED','FALSE')  %s", $eventoId, $funcion));
     //$vendidas = Ventaslevel1::model()->with(
     //array(
     //'venta'=> array('having'=>"VentasSta NOT LIKE 'CANCELADO' ")
     //)
     //)->count(sprintf("EventoId = '%s' %s ",$eventoId,$funcion) );
     //$porvender=$aforo-$vendidas;
     $matrix = array('aforo' => array('titulo' => 'Aforo', 'boletos' => $aforo, 'importe' => 0, 'porcentaje' => 100), 'por vender' => array('titulo' => 'Por vender', 'boletos' => $porvender, 'importe' => 0, 'porcentaje' => $porvender / max($aforo, 1)), 'cortesia' => array('titulo' => 'Cortesías', 'boletos' => 0, 'importe' => 0, 'porcentaje' => 0), 'boleto duro' => array('titulo' => 'Boletos duros', 'boletos' => 0, 'importe' => 0, 'porcentaje' => 0), 'normal' => array('titulo' => 'Ventas', 'boletos' => 0, 'importe' => 0, 'porcentaje' => 0), 'total' => array('titulo' => 'Total', 'boletos' => 0, 'importe' => 0, 'porcentaje' => 0));
     //$matrix['por vender']['importe'] = Lugares::model()->count(sprintf("EventoId = '%s' AND LugaresStatus='TRUE'  %s",$eventoId,$funcion) );
     $model = new Ventas();
     $matrix['aforo']['importe'] = $model->getDbConnection()->createCommand(sprintf("\n\t\t\t\t\tSELECT SUM(ZonasCosBol) as ventas FROM lugares as t\n\t\t\t\t\tINNER JOIN zonas as t2 \n\t\t\t\t\t\tON t.EventoId     = t2.EventoId\n\t\t\t\t\t\tAND t.FuncionesId = t2.FuncionesId\n\t\t\t\t\t\tAND t.ZonasId     = t2.ZonasId\n\t\t\t\t\tWHERE t.EventoId      = %d and t.LugaresStatus<>'OFF'\n\t\t\t\t\tGROUP BY t.EventoId;", $eventoId))->queryScalar();
     $matrix['por vender']['importe'] = $model->getDbConnection()->createCommand(sprintf("\n\t\t\t\t\tSELECT SUM(ZonasCosBol) as ventas FROM lugares as t\n\t\t\t\t\tINNER JOIN zonas as t2 \n\t\t\t\t\t\tON t.EventoId     = t2.EventoId\n\t\t\t\t\t\tAND t.FuncionesId = t2.FuncionesId\n\t\t\t\t\t\tAND t.ZonasId     = t2.ZonasId\n\t\t\t\t\tWHERE t.EventoId      = %d and t.LugaresStatus='TRUE'\n\t\t\t\t\tGROUP BY t.EventoId;", $eventoId))->queryScalar();
     //$matrix['por vender']['importe']=$matrix['aforo']['importe']-$model->getDbConnection()->createCommand(sprintf("
     //SELECT sum(VentasCosBol-VentasMonDes) as ventas FROM ventaslevel1 as t
     //INNER JOIN zonas as t2
     //ON t.EventoId                     = t2.EventoId
     //AND t.FuncionesId                 = t2.FuncionesId
     //AND t.ZonasId                     = t2.ZonasId
     //INNER JOIN ventas as t3 ON t.VentasId = t3.VentasId
     //WHERE t.EventoId                      = %d
     //AND t3.VentasSta <> 'CANCELADO' AND  t.VentasSta<>'CANCELADO'
     //GROUP BY t.EventoId;",$eventoId))->queryScalar();
     $reporte = $modelo->getReporte($eventoId, $funcionId, $desde, $hasta, false, 'NORMAL,CORTESIA,BOLETO DURO', '', 'VentasBolTip');
     if (is_object($reporte)) {
         foreach ($reporte->getData() as $fila) {
             $index = strtolower($fila['VentasBolTip']);
             $matrix[$index] = array('boleto' => 0, 'titulo' => $index, 'importe' => 0, 'porcentaje' => 0);
             $matrix['total']['boletos'] += $matrix[$index]['boletos'] = $fila['cantidad'];
             $matrix['total']['importe'] += $matrix[$index]['importe'] = $fila['total'];
         }
     }
     foreach ($matrix as &$fila) {
         $fila['porcentaje'] = number_format($fila['boletos'] * 100 / max($aforo, 1), 0);
         $fila['boletos'] = number_format($fila['boletos'], 0);
         $fila['importe'] = number_format($fila['importe'], 0);
     }
     return $matrix;
 }
Пример #5
0
Файл: Zonas.php Проект: cicb/tpc
 public function generarLugares()
 {
     // Genera los lugares dependiendo de si la zona es general o numerada.
     if ($this->ZonasTipo == 1 and $this->ZonasCanLug > 0) {
         // Cuando el tipo de zona sea general y se haya definido el numero de lugares
         $this->eliminarSubzonas();
         $subzona = $this->agregarSubzona();
         if ($subzona) {
             $tamanoFila = $this->ZonasCanLug / 100.0 > 1 ? 100 : 10;
             $numeroFilas = ceil($this->ZonasCanLug / $tamanoFila);
             $filas = array();
             $lugares = array();
             for ($i = 1; $i <= $numeroFilas; $i++) {
                 $filas[] = sprintf("(%d,%d,%d,1,%d,'General',%d,%d,%d,%d)", $this->EventoId, $this->FuncionesId, $this->ZonasId, $i, $i, $tamanoFila, 1, $tamanoFila);
                 for ($j = 1; $j <= $tamanoFila; $j++) {
                     $lugares[] = sprintf("(%d,%d,%d,1,%d,%d,%d,%d,'TRUE')", $this->EventoId, $this->FuncionesId, $this->ZonasId, $i, $j, $j, $j);
                 }
             }
             $conexion = Yii::app()->db;
             $conexion->createCommand("INSERT IGNORE INTO filas \n\t\t\t\t\t\t\t\t\t (EventoId,FuncionesId,ZonasId,SubzonaId,FilasId, FilasAli, FilasNum,FilasCanLug,LugaresIni,LugaresFin)\n\t\t\t\t\t\t\t\t\t VALUE " . implode(',', $filas))->execute();
             ### Hasta este punto se han creado las filas y solo hace falta agregar los lugares
             //----------------------------------------------------------------------------------
             $nlugares = $conexion->createCommand("INSERT IGNORE INTO lugares \n\t\t\t\t\t\t\t\t\t (EventoId,FuncionesId,ZonasId,SubzonaId,FilasId, LugaresId, LugaresLug,LugaresNum, LugaresStatus)\n\t\t\t\t\t\t\t\t\t VALUE " . implode(',', $lugares))->execute();
             $noff = Lugares::model()->updateAll(array("LugaresStatus" => "OFF"), sprintf("EventoId={$this->EventoId} and FuncionesId={$this->FuncionesId} and ZonasId={$this->ZonasId} and\n\t\t\t\t\t\t\t\t\t SubzonaId=1 and FilasId={$numeroFilas} and LugaresId>%d", $tamanoFila - ($tamanoFila * $numeroFilas - $this->ZonasCanLug)));
             $this->ZonasCantSubZon = 1;
             $subzona->SubzonaNum = 1;
             $subzona->SubzonaCanFil = $numeroFilas;
             $this->save();
             $subzona->save();
             return array('filas' => $numeroFilas, 'lugares' => $this->ZonasCanLug);
         } else {
             return false;
         }
     } else {
         if ($this->ZonasTipo == 2) {
             //Elimina todos los posibles lugares creados previamente
             $this->eliminarLugares();
             //Generar asientos numerados
             $ret = true;
             foreach ($this->filas as $fila) {
                 // Por cada fila de la zona genera sus lugares
                 $ret = $ret and $fila->generarLugares();
             }
             $this->ZonasCanLug = $this->lugaresTrue;
             $this->save();
             return $ret;
         }
     }
     $coords = $conexion->createCommand(sprintf("\n\t\t\t\t\t INSERT IGNORE INTO configurl_mapa_grande_coordenadas \n\t\t\t\t\t ( configurl_funcion_mapa_grande_id,ZonasId, SubzonaId )\n\t\t\t\t\t (SELECT %d, ZonasId, SubzonaId FROM subzonas\n\t\t\t\t\t WHERE  EventoId== %d and FuncionesId=%d and ZonasId=%d \n\t\t\t ) ", $this->funcion->mapagrande->id, $this->EventoId, $this->FuncionesId, $this->ZonasId))->execute();
 }
Пример #6
0
?>
	</div>
	
<div class="row">

	
		<?php 
echo $form->labelEx($model, 'codlugar');
//$documento='032';
$criterial = new CDbCriteria();
$criterial->condition = 'n_direc=:direc';
$nn = Ne::model()->find("n_guia=:ifcabeza", array(":ifcabeza" => $idcabeza));
$criterial->params = array(':direc' => $nn->n_dirsoc);
?>
		<?php 
$datos1x1 = CHtml::listData(Lugares::model()->findall($criterial), 'codlugar', 'deslugar');
echo $form->DropDownList($model, 'codlugar', $datos1x1, array('empty' => '--Seleccione un lugar--', 'disabled' => $habilitado));
?>
		<?php 
echo $form->error($model, 'codlugar');
?>
	</div>
	
   	
		
	<div class="row">
		<?php 
echo $form->labelEx($model, 'c_codactivo');
?>
		<?php 
/* echo $form->textField($model,'c_codactivo',array('size'=>13,'maxlength'=>13,
Пример #7
0
 public function actionGetLugares()
 {
     if (!empty($_GET)) {
         $EventoId = $_GET['EventoId'];
         $FuncionesId = $_GET['FuncionesId'];
         $ZonasId = $_GET['ZonasId'];
         $SubzonaId = $_GET['SubzonaId'];
         $FilasId = $_GET['FilasId'];
         echo "<option value='0'>Todos los lugares</option>";
         $lugares = Lugares::model()->findAll("EventoId = {$EventoId} AND FuncionesId={$FuncionesId} AND ZonasId={$ZonasId} AND SubzonaId={$SubzonaId} AND FilasId={$FilasId}");
         foreach ($lugares as $key => $lugar) {
             echo "<option value='" . $lugar->LugaresId . "'>" . $lugar->LugaresLug . "</option>";
         }
     }
 }
Пример #8
0
    display: block;
  }
  body{
    background-color: rgba(255, 219, 251, 0.2);

  }



  </style>
  	    <?php 
if (isset($_GET['destinos'])) {
    $id_desti = $_GET['destinos'];
    echo '<script> var id_destin = ' . $id_desti . ';</script>';
    $destino = new Destinos();
    $lugares = new Lugares();
    $response_desti = $destino->Get_destino($id_desti);
    $response_lugar = $lugares->Get_lugares($id_desti);
    if (isset($response_desti)) {
        $cabecera = '
          <div class="row">
            <p></p>
            <div class="panel panel-default">
             <form enctype="multipart/form-data" method="post">
             <div class="panel-body"> 
               <div class="jumbotron" style="background-image: url(img/' . $response_desti[3] . '); background-repeat: no-repeat;"></div>
                <div class="row">
                 <div class="col-md-6">
                  <div class="panel panel-default">
                   <div class="panel-body">
                    <label> Actualizar foto</label>
Пример #9
0
if (isset($_POST['words'])) {
    $desti = new Destinos();
    $word = $_POST['words'];
    $respon = $desti->Get_busqueda_words($word);
    if (isset($respon)) {
        if (is_array($respon[0])) {
            foreach ($respon as $value) {
                $data[] = array($value[0], utf8_encode($value[1]), utf8_encode($value[2]), $value[3], utf8_encode($value[4]), utf8_encode($value[5]));
            }
        } else {
            $data = array($respon[0], utf8_encode($respon[1]), utf8_encode($respon[2]), $respon[3], utf8_encode($respon[4]), utf8_encode($respon[5]));
        }
        echo json_encode($data);
    }
}
if (isset($_POST['id_subdesti'])) {
    include_once "../Model/Lugares.php";
    $lugar = new Lugares();
    $id = $_POST['id_subdesti'];
    $response = $lugar->Get_lugares($id);
    if (isset($response)) {
        if (is_array($response[0])) {
            foreach ($response as $val) {
                $array[] = array($val[0], $val[1], utf8_encode($val[2]), utf8_encode($val[3]), $val[4]);
            }
        } else {
            $array = array($response[0], $response[1], utf8_encode($response[2]), utf8_encode($response[3]), $response[4]);
        }
        echo json_encode($array);
    }
}
Пример #10
0
 public function asignar($EventoId, $FuncionesId)
 {
     # Asigna la distribucion a una funcion.
     $identificador = compact('EventoId', 'FuncionesId');
     $origen = Funciones::model()->with('mapagrande')->findByAttributes(array('ForoId' => $this->ForoId, 'ForoMapIntId' => $this->ForoMapIntId));
     $funcion = Funciones::model()->with('configurl')->findByPk($identificador);
     if (is_object($funcion) and is_object($origen)) {
         # Si la función existe se inicia la transacción
         //Se eliminan toda distribucion anterior-----------------------------------------------------
         $elm = self::removerAsignacion($EventoId, $FuncionesId);
         if ($elm) {
             $conexion = Yii::app()->db;
             $transaction = $conexion->beginTransaction();
             $insertar = array('zonas' => sprintf("\n\t\t\t\t\t\tINSERT INTO zonas (SELECT %d, %d, ZonasId, ZonasAli,\n\t\t\t\t\t\t\tZonasTipoBol, ZonasTipo, ZonasNum, ZonasCantSubZon, ZonasCanLug,\n\t\t\t\t\t\t\tZonasBanExp, ZonasCosBol FROM zonas WHERE EventoId=%d and FuncionesId=%d);\n\t\t\t\t\t", $funcion->EventoId, $funcion->FuncionesId, $origen->EventoId, $origen->FuncionesId), 'subzonas' => sprintf(" \n\t\t\t\t\t\tINSERT INTO subzona (SELECT %d, %d, ZonasId, SubzonaId,\n\t\t\t\t\t\t\tSubzonaAcc, SubzonaNum, SubzonaCanFil, SubzonaFilCanLug, SubzonaBanExp,\n\t\t\t\t\t\t\tSubzonaX1, SubzonaY1, SubzonaX2, SubzonaY2, SubzonaX3, SubzonaY3, SubzonaX4,\n\t\t\t\t\t\t\tSubzonaY4, SubzonaX5, SubzonaY5, SubzonaFor, SubzonaColor FROM subzona WHERE\n\t\t\t\t\t\t\tEventoId=%d and FuncionesId=%d);\n\t\t\t\t\t", $funcion->EventoId, $funcion->FuncionesId, $origen->EventoId, $origen->FuncionesId), 'filas' => sprintf("   \n\t\t\t\t\t\tINSERT INTO filas (SELECT %d, %d, ZonasId, SubzonaId,\n\t\t\t\t\t\t\tFilasId, FilasAli, FilasNum, FilasCanLug, FilasIniCol, FilasIniFin,\n\t\t\t\t\t\t\tFilasBanExp, LugaresIni, LugaresFin, MesasX, MesasY, MesasWidth, MesasHeight\n\t\t\t\t\t\t\tFROM filas WHERE EventoId=%d and FuncionesId=%d);\n\t\t\t\t\t", $funcion->EventoId, $funcion->FuncionesId, $origen->EventoId, $origen->FuncionesId), 'lugares' => sprintf("   \n\t\t\t\t\t\tINSERT INTO lugares (SELECT %d, %d, ZonasId, SubzonaId,\n\t\t\t\t\t\t\tFilasId, LugaresId, LugaresLug, LugaresNum, LugaresStatus, LugaresNumBol\n\t\t\t\t\t\t\tFROM lugares WHERE EventoId=%d and FuncionesId=%d);\n\t\t\t\t\t", $funcion->EventoId, $funcion->FuncionesId, $origen->EventoId, $origen->FuncionesId));
             // try{
             $conexion->createCommand($insertar['zonas'])->execute();
             $conexion->createCommand($insertar['subzonas'])->execute();
             $conexion->createCommand($insertar['filas'])->execute();
             $conexion->createCommand($insertar['lugares'])->execute();
             //$conexion->createCommand($insertar['zonaslevel1'])->execute();
             $this->asignarMapaGrande($EventoId, $FuncionesId);
             $funcion->ForoId = $this->ForoId;
             $funcion->ForoMapIntId = $this->ForoMapIntId;
             $funcion->update();
             Lugares::model()->updateAll(array('LugaresStatus' => 'TRUE'), sprintf("EventoId= %d AND FuncionesId= %d AND LugaresStatus<>'OFF'", $funcion->EventoId, $funcion->FuncionesId));
             $transaction->commit();
             return true;
             // }
             // catch(Exception $e){
             // 	$transaction->rollback();
             // 	return false;
             // }
         } else {
             return false;
         }
     } else {
         return false;
     }
 }
Пример #11
0
 /**
  * Returns the data model based on the primary key given in the GET variable.
  * If the data model is not found, an HTTP exception will be raised.
  * @param integer the ID of the model to be loaded
  */
 public function loadModel($id)
 {
     $model = Lugares::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'El enlace o direccion solicitado no existe');
     }
     return $model;
 }
Пример #12
0
 public function getLugar()
 {
     $lugar = null;
     if (!empty($this->boleto)) {
         $pk = explode('-', $this->boleto);
         if (sizeof($pk) == 6) {
             $lugar = Lugares::model()->findByPk(array('EventoId' => $pk[0], 'FuncionesId' => $pk[1], 'ZonasId' => $pk[2], 'SubzonaId' => $pk[3], 'FilasId' => $pk[4], 'LugaresId' => $pk[5]));
         }
     }
     return $lugar;
 }
Пример #13
0
 public function registrarVenta()
 {
     $referencia = $this->referencia;
     $pv = $this->pv;
     try {
         $lugares = $this->validacionesVenta();
         $numeroLugares = sizeof($lugares);
     } catch (Exception $e) {
         $this->registrarError($e);
         throw $e;
         // return $e->getCode()	;
     }
     $venta = new Ventas();
     $venta->PuntosventaId = $pv;
     $venta->VentasSec = "FARMATODO";
     $venta->TempLugaresTipUsr = '******';
     $venta->UsuariosId = 2;
     $venta->VentasSta = 'FIN';
     $venta->VentasMonMetEnt = 0;
     $venta->VentasTip = 'EFECTIVO';
     $venta->VentasNumRef = $referencia;
     /*  
      * COMIENZA LA TRANSACCION
      */
     $transaction = Yii::app()->db->beginTransaction();
     try {
         if ($venta->save(false)) {
             # Si la venta se pudo realizar
             ### !!! SE INSERTAN LOS VENTASLEVEL1 !!!
             $query = " INSERT INTO ventaslevel1 (\n    \t\t\t\t\tSELECT '%s' AS VentasId, \n\t\t\t\t\t\t\tt1.EventoId,  \n\t\t\t\t\t\t\tt1.FuncionesId,\n\t\t\t\t\t\t    t1.ZonasId, \n\t\t\t\t\t\t    t1.SubzonaId,\n\t\t\t\t\t\t    t1.FilasId,  \n\t\t\t\t\t\t    t1.LugaresId,\n\t\t\t\t\t\t    t1.DescuentosId,  \n\t\t\t\t\t\t    IFNULL(t2.VentasCosBolDes,0)\n\t\t\t\t\t\t    \t\t\t\t\tAS VentasMonDes,\n\t    \t\t\t\t\t'NORMAL' \t\t\tAS VentasBolTip,\n\t                        t2.VentasCosBol \tAS VentasCosBol,  \n\t                        t2.VentasCarSer-IFNULL(t2.VentasCarSerDes,0) \n\t\t\t\t\t\t\t\t\t\t\t\tAS VentasCarSer,\n\t                        'VENDIDO' \t\t\tAS VentasSta,\n\t                        FLOOR(100000000000 + RAND() * (999999999999 - 100000000000)) \n    \t\t\t\t\t\t\t\t\t\t\tAS LugaresNumBol,  \n\t                        '' \t\t\t\t\tAS VentasBolPara,\n\t                        CONCAT_WS('-',\n\t                        \tCONCAT_WS('.',\n\t                        \t\tt1.EventoId,t1.FuncionesId,t1.ZonasId,\n\t                        \t\tt1.SubzonaId,t1.FilasId, t1.LugaresId\n\t                        \t\t),\n\t                        \tCONCAT_WS('.',MONTH(CURDATE()),DAY(CURDATE()) ),\n\t                        \t'F%s'\n\t                        \t) \t\t\t\tAS VentasCon,\n\t                        '0' \t\t\t\tAS CancelUsuarioId,\n\t                        '0000-00-00' \t\t\t\tAS CancelFecHor \n                        FROM  templugares as t1 \n                        INNER JOIN preciostemplugares t2 \n                        \t\t\tON (t2.EventoId=t1.EventoId)  \n                        \t\t\tAND (t2.FuncionesId=t1.FuncionesId)\n                        \t\t\tAND (t2.ZonasId=t1.ZonasId) \n                        \t\t\tAND (t2.SubzonaId=t1.SubzonaId) \n                        \t\t\tAND (t2.FilasId=t1.FilasId) \n                        \t\t\tAND (t2.LugaresId=t1.LugaresId) \n                        \t\t\tAND (t2.PuntosventaId=t1.PuntosventaId) \n                        WHERE  (tempLugaresNumRef = '%s'))";
             $query = sprintf($query, $venta->VentasId, $pv, $referencia);
             try {
                 $ret = Yii::app()->db->createCommand($query)->execute();
             } catch (Exception $e) {
                 $this->registrarError($e);
                 throw $e;
                 return 300;
             }
             if ($ret != $numeroLugares) {
                 throw new Exception("Numero de ventaslevel1 insertados no coincide", 301);
                 return 301;
             }
             // Pone todos los templugares en estatus de FALSE (Como vendidos)
             $numTemplugares = Templugares::model()->updateAll(array('TempLugaresSta' => 'FALSE'), "tempLugaresNumRef = '{$referencia}'");
             if ($numTemplugares != $numeroLugares) {
                 throw new Exception("Numero de templugares actualizados con status FALSE difiere", 302);
                 return 302;
             }
             // Pone todos los lugares en estatus de FALSE (Como vendidos)
             $actualizados = 0;
             foreach ($lugares as $tmplugar) {
                 if (is_array($tmplugar)) {
                     Lugares::model()->updateByPk(array_slice($tmplugar, 0, 6), array('LugaresStatus' => 'FALSE'));
                     $actualizados++;
                 }
             }
             if ($actualizados != $numeroLugares) {
                 throw new Exception("Numero de lugares con status FALSE difiere", 303);
                 return 303;
             }
             // Si llega a este punto sin problemas entonces compromete la BD
         } else {
             throw new Exception("No fue posible guardar la venta con los datos actuales", 304);
         }
     } catch (Exception $e) {
         //Algo sucedio, no se compromete la base de datos, ningun dato guardado
         $transaction->rollback();
         $this->registrarError($e);
         return $e->getCode();
     }
     $ventaslevel1 = Ventaslevel1::model()->findAllByAttributes(array('VentasId' => $venta->VentasId, 'VentasSta' => 'VENDIDO'));
     if (sizeof($ventaslevel1) != sizeof($lugares)) {
         #Si el numero de ventaslevel1 es distinto que el numero de templugares seleccionados en primer lugar
         #Entonces hubo un error
         $transaction->rollback();
         $this->registrarError(new Exception("No se paso la prueba de integridad en el registro de ventas", 305));
         return 305;
     } else {
         /*Verifica que los numero de boletos generados sean unicos
          */
         // foreach ($ventaslevel1 as $vl1 ) {
         // 	if (is_object($vl1)) {
         // 		# code...
         // 		$vt1->LugaresNumBol=$this->generarCodigoBarras();
         // 		$vl1->save(false);
         // 	}
         // }
         $transaction->commit();
         return array('venta' => $venta, 'ventaslevel1' => $ventaslevel1);
         return 1000;
     }
 }
Пример #14
0
    $subtitle = $_POST['subtitulo'];
    $texto = $_POST['texto'];
    $id = $_POST['id'];
    $sql = 'UPDATE lugares 
             SET Luga_title = "' . $title . '",
                 Luga_sub_title = "' . $subtitle . '",
                 Luga_descri = "' . $texto . '"
                 WHERE Luga_Id = ' . $id;
    $data = $conexion->update_query($sql);
    echo json_encode($data);
}
///////////////////////////////////////////////////////////////////////////////////
// inserta nuevos registros cuando un administrador añade nuevos subdestinos en la editacion
if (isset($_POST['title_new'], $_POST['subti_new'], $_POST['text_new'], $_POST['id'], $_FILES['foto'])) {
    // $foto;
    $lugar = new Lugares();
    $id = $_POST['id'];
    $title = $_POST['title_new'];
    $subtitle = $_POST['subti_new'];
    $descrip = $_POST['text_new'];
    $files = $_FILES['foto'];
    $cont_caract = strlen($files['name']);
    if ($cont_caract > 40) {
        $nomb = substr($files['name'], 0, 35);
    } else {
        $nomb = $files['name'];
    }
    if (isset($files)) {
        move_uploaded_file($files['tmp_name'], $url . time() . $nomb);
    } else {
        $nomb = '';
Пример #15
0
Файл: Filas.php Проект: cicb/tpc
 public function alinear($direccion)
 {
     // Alinea los lugares todos a la izquierda
     $ide = array('EventoId' => $this->EventoId, 'FuncionesId' => $this->FuncionesId, 'ZonasId' => $this->ZonasId, 'SubzonaId' => $this->SubzonaId, 'FilasId' => $this->FilasId);
     //Numero de lugares en la fila
     $nlugares = $this->nlugares;
     //Numero de lugares en OFF
     $noff = Lugares::model()->countByAttributes($ide, "LugaresStatus='OFF'");
     if ($nlugares > 0 and $noff > 1) {
         // Solamente si existen lugares en la fila...
         switch ($direccion) {
             case 'derecha':
                 //A lado derecha todo
                 $ultimoLugar = Lugares::model()->findAllByAttributes($ide, array('order' => 'LugaresId desc', 'limit' => 1));
                 $ultimoLugar = $ultimoLugar[0];
                 if ($ultimoLugar->LugaresStatus != "TRUE") {
                     // Si el lugar mas a la derecha es true no hay nada mas que mover, sino
                     $maxTrue = Lugares::model()->findAllByAttributes($ide, array('condition' => "LugaresStatus='TRUE'", 'order' => 'LugaresId desc', 'limit' => 1));
                     if (sizeof($maxTrue) > 0) {
                         // SI existe un asiento true en la fila
                         $delta = $nlugares - $maxTrue[0]->LugaresId;
                         $this->actualizarLugaresId($delta);
                     }
                 }
                 break;
             case 'izquierda':
                 //A la izquierda todo
                 $primerLugar = Lugares::model()->findAllByAttributes($ide, array('order' => 'LugaresId', 'limit' => 1));
                 $primerLugar = $primerLugar[0];
                 if ($primerLugar->LugaresStatus != "TRUE") {
                     // Si el lugar mas a la izquierda es true no hay nada mas que mover, sino
                     $minTrue = Lugares::model()->findAllByAttributes($ide, array('condition' => "LugaresStatus='TRUE'", 'order' => 'LugaresId', 'limit' => 1));
                     if (sizeof($minTrue > 0)) {
                         // Si exite un asiento en true
                         $delta = $minTrue[0]->LugaresId - 1;
                         $this->actualizarLugaresId(-$delta);
                     }
                 }
                 break;
             case 'centro':
                 //A la derecha todo
                 if ($noff > 1) {
                     if (isset($this->minTrue) and isset($this->minLugar) and isset($this->maxTrue) and isset($this->maxLugar)) {
                         // SI existen lugares ...
                         $minTrue = $this->minTrue;
                         $maxTrue = $this->maxTrue;
                         $minLugar = $this->minLugar;
                         $maxLugar = $this->maxLugar;
                         $noff = abs($minTrue - $minLugar) + abs($maxLugar - $maxTrue) + 1;
                         $noff = ceil($noff / 2);
                         $delta = $noff - $minTrue;
                         $this->actualizarLugaresId($delta);
                     }
                 }
                 break;
             default:
                 // code...
                 break;
         }
     } else {
         $this->restaurarLugaresOff();
     }
 }
Пример #16
0
 public function actionCambiarLugar()
 {
     // Cambia el valor de un lugar y en base a su contenido lo pone en OFF o en TRUE
     if (isset($_POST['Lugares'])) {
         extract($_POST['Lugares']);
         $lugar = Lugares::model()->with('zona')->findByPk(compact('EventoId', 'FuncionesId', 'ZonasId', 'SubzonaId', 'FilasId', 'LugaresId'));
         $lugar->attributes = $_POST['Lugares'];
         if (isset($_POST['Lugares']['LugaresLug'])) {
             if (empty($_POST['Lugares']['LugaresLug'])) {
                 $lugar->LugaresStatus = 'OFF';
                 $lugar->zona->ZonasCanLug = $lugar->zona->ZonasCanLug - 1;
             } else {
                 $lugar->LugaresStatus = 'TRUE';
                 $lugar->zona->ZonasCanLug = $lugar->zona->ZonasCanLug + 1;
             }
         }
         if ($lugar->save(false)) {
             // Si los datos son correctos
             $lugar->zona->save();
             echo 'true';
         }
     } else {
         throw new Exception("Datos incompletos, verifique parametros", 1);
     }
 }
Пример #17
0
 public function eliminarDistribucion()
 {
     $identificador = array('EventoId' => $this->EventoId);
     $nfunciones = Funciones::model()->countByAttributes($identificador);
     if ($nfunciones > 1) {
         // Si no se esta tratando de eliminar la unica funcion.
         $identHijos = array('EventoId' => $this->EventoId, 'FuncionesId' => $this->FuncionesId);
         $this->deleteConfpvfuncion();
         Zonas::model()->deleteAllByAttributes($identHijos);
         Subzona::model()->deleteAllByAttributes($identHijos);
         Filas::model()->deleteAllByAttributes($identHijos);
         Lugares::model()->deleteAllByAttributes($identHijos);
         $mapagrande = ConfigurlFuncionesMapaGrande::model()->findByAttributes(array('EventoId' => $this->EventoId, 'FuncionId' => $this->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();
         }
         $this->ForoMapIntId = 0;
         $this->save();
         return true;
     } else {
         return false;
     }
 }
Пример #18
0
echo $form->DropDownList($model, 'coddocu', $datos, array('empty' => '--Seleccione un documento--'));
?>
		<?php 
echo $form->error($model, 'coddocu');
?>
	</div>
	

		

		<div class="row">		  
					<?php 
echo $form->labelEx($model, 'codlugar');
?>
					<?php 
$datos = CHtml::listData(Lugares::model()->findAll(array('order' => 'deslugar')), 'codlugar', 'deslugar');
echo $form->DropDownList($model, 'codlugar', $datos, array('empty' => '--Seleccione un Lugar--'));
?>
					<?php 
echo $form->error($model, 'codlugar');
?>
	  </div>
	

	
	 

	<div class="row buttons">
		<?php 
echo CHtml::submitButton($model->isNewRecord ? 'Registrar' : 'Grabar');
?>
Пример #19
0
 public function checkvalores($attribute, $params)
 {
     //verificando que se a el unico
     //Comporbando si existen valores en los matchcodes
     //En el modelo transportista
     $modeloprueba = Clipro::model()->find("codpro=:micodpro", array(":micodpro" => is_null($this->c_codtra) ? '' : $this->c_codtra));
     if (is_null($modeloprueba)) {
         $this->adderror('c_codtra', 'Esta empresa de transportes no existe');
     } else {
         //verficando que tenga una direccion fiscal por lo menos
         $modeloprueba7 = Direcciones::model()->find("c_hcod=:micodpro", array(":micodpro" => $this->c_codtra));
         if (is_null($modeloprueba7)) {
             $this->adderror('c_codtra', 'Este transportista no cuenta con direccion fiscal');
         }
     }
     //En el modelo destinatario
     $modeloprueba1 = Clipro::model()->find("codpro=:micodpro", array(":micodpro" => is_null($this->c_coclig) ? '' : $this->c_coclig));
     if (is_null($modeloprueba1)) {
         $this->adderror('c_coclig', 'Este destinario no existe');
     } else {
         //verficando que tenga una direccion fiscal por lo menos
         $modeloprueba17 = Direcciones::model()->find("c_hcod=:micodpro", array(":micodpro" => $this->c_coclig));
         if (is_null($modeloprueba17)) {
             $this->adderror('c_coclig', 'Este destinatario no cuenta con direccion fiscal');
         }
     }
     //En el modelo direcciones
     $modeloprueba11 = Direcciones::model()->find("n_direc=:micodpro", array(":micodpro" => empty($this->n_direc) ? 0 : $this->n_direc + 0));
     if (is_null($modeloprueba11)) {
         $this->adderror('n_direc', 'Esta direccion no existe');
     } else {
         //verificando si esta direccion tiene lugares
         //En el modelo direcciones
         $modeloprueba15 = Lugares::model()->find("n_direc=:midirec", array(":midirec" => empty($this->n_direc) ? 0 : $this->n_direc + 0));
         if (is_null($modeloprueba15)) {
             $this->adderror('n_direc', 'Esta direccion no tiene asignados los lugares');
         }
     }
     //En el modelo direcciones desl socio
     $modeloprueba111 = Direcciones::model()->find("n_direc=:micodpro", array(":micodpro" => is_null($this->n_dirsoc) ? 0 : $this->n_dirsoc + 0));
     if (is_null($modeloprueba111)) {
         $this->adderror('n_dirsoc', 'Este punto de partida no Existe');
     }
 }
Пример #20
0
	</div>
	
		<div class="row">
			<?php 
echo $form->label($model, 'deslugar');
?>
			<?php 
echo $form->textField($model, 'deslugar', array('size' => 25, 'maxlength' => 40));
?>
		</div>											
	<div class="row">
			<?php 
echo $form->label($model, 'codlugar');
?>
			<?php 
$datos = CHtml::listData(Lugares::model()->findAll(array('condition' => 'codlugar  in (select  codlugar from ' . Yii::app()->params['prefijo'] . 'inventario where codlugar is not null)', 'order' => 'deslugar')), 'codlugar', 'deslugar');
echo $form->DropDownList($model, 'codlugar', $datos, array('empty' => '--Seleccione un lugar --'));
echo CHtml::image(Yii::app()->getTheme()->baseUrl . Yii::app()->params["rutatemaimagenes"] . "nuevo.gif", "", array("width" => 30, "height" => 15));
?>
	</div>												
	
	
	
	
	
	<div class="row">
    <?php 
$documento = '032';
$criteria = new CDbCriteria();
$criteria->condition = 'codocu=:docu';
$criteria->params = array(':docu' => $documento);
Пример #21
0
	<?php 
Yii::app()->clientScript->registerScript('grabPageNo', "\n    \$('.bolsita').on('change', function(event){\n      \$.ajax({\n      url: '/recurso/index.php?r=loginventario/update',\n\t\ttype: 'POST',\n\t  data: {   vlugar : event.target.value,\n\t\t\t\tvidinventario :event.target.vidinventario,\n\t\t\t\tvidlog:event.target.vidlog\n\t\t\t\t} ,\n       datatype: 'json',\n        success: function(datos){\n\t\t\t\t\t\t\t\talert( 'Se ha actualizado el registro del inventario  '+datos);\n\t\t\t\t\t\t\t\t\t//\$.fn.yiiGridView.update('inventario-grid');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t});\n\n    });\n", CClientScript::POS_READY);
?>
	<div id="papito"> </div>




	<?php 
$form = $this->beginWidget('CActiveForm', array('enableAjaxValidation' => true));
?>


	<?php 
echo CHtml::DropDownList("lugarcitos", "", CHtml::listData(Lugares::model()->findAll(array("condition" => " codpro='R00001'", "order" => "deslugar ASC")), "codlugar", "deslugar"), array("empty" => "--Escoja un lugar--", "class" => "bolsitas"));
?>
	<?php 
echo CHtml::ajaxSubmitButton('Confirmar', array('loginventario/actualiza'), array('success' => 'reloadGrid'));
?>


	<?php 
$this->widget('zii.widgets.grid.CGridView', array('id' => 'inventario-grid', 'dataProvider' => $proveedor, 'itemsCssClass' => 'table table-striped table-bordered table-hover', 'columns' => array(array('name' => 'cod_cen', 'type' => 'raw', 'value' => 'CHTml::OpenTag("span",array("class"=>"label label-".$data->cod_cen)).$data->cod_cen.CHTml::CloseTag("span")'), array('name' => 'coddocu', 'header' => '.', 'type' => 'raw', 'value' => '($data->coddocu=="001")?CHtml::image(Yii::app()->getTheme()->baseUrl.Yii::app()->params["rutatemaimagenes"]."arriba.png","",array("width"=>10, "height"=>10)):CHtml::image(Yii::app()->getTheme()->baseUrl.Yii::app()->params["rutatemaimagenes"]."abajo.png","",array("width"=>10, "height"=>10))'), array('name' => 'despro', 'type' => 'raw', 'value' => 'CHTml::OpenTag("span",array("style"=>"color:#6B1A80;font-weight:bold;")).$data->despro.CHTml::CloseTag("span")'), array('name' => 'c_direc', 'header' => 'Punto de Transporte', 'type' => 'raw', 'value' => '$data->c_direc'), array('name' => 'numerodocumento', 'header' => 'N° Documento', 'type' => 'raw', 'value' => 'CHTml::link($data->numerodocumento,yii::app()->createUrl("/guia/update",array("id"=>$data->iddocu)))'), array('class' => 'CCheckBoxColumn', 'selectableRows' => 20, 'value' => '$data->idlog', 'checkBoxHtmlOptions' => array('name' => 'cajita[]')), array('name' => 'imagen', 'type' => 'raw', 'value' => '(file_exists(Yii::app()->params["rutafotosinventario"].trim($data->codigosap).".JPG"))?
						CHtml::image(Yii::app()->params["rutafotosinventario_"].trim($data->codigosap).".JPG",$data->codigosap,array(\'width\'=>50,\'height\'=>35)):
						"--"'), array('name' => 'fecha', 'header' => 'Fecha', 'value' => 'date("d/m/Y",strtotime($data->fecha))'), array('name' => 'codigoaf', 'header' => 'Plaquita', 'type' => 'raw', 'value' => 'CHTml::link($data->codigoaf,yii::app()->createUrl("/inventario/detalle",array("id"=>$data->hidinventario)))'), 'descripcion', 'barcoactual', array('name' => 'cE', 'header' => '', 'type' => 'raw', 'value' => 'CHtml::link("+",Yii::app()->createUrl("/Lugares/create",array("codpro"=>$data->codpro)),array("id"=>"cumple_$data->idlog", "vidinventario"=>"$data->hidinventario","vidlog"=>"$data->idlog", "class"=>"periquito"))'), array('name' => 'codlugar', 'type' => 'raw', 'value' => '(($data->codpro <> "R00001") and ($data->coddocu=="001") ) ?
																				CHtml::ajaxSubmitButton("Ok",
																				array("loginventario/actualizaprov"),
																				array("type"=>"POST",
																					"data"=>array("codpro"=>$data->codpro,"idlog"=>$data->idlog,"hidinventario"=>$data->hidinventario),
																					"success"=>"reloadGrid"
Пример #22
-1
$form = $this->beginWidget('CActiveForm', array('enableAjaxValidation' => true, 'method' => 'GET'));
?>
<div class="row">
	<div class='botones'>
		<?php 
echo CHtml::imageButton(Yii::app()->getTheme()->baseUrl . '/img/seleccionar.png', array('width' => 25, 'height' => 25, 'value' => 'Buscar', 'onClick' => 'Loading.show();Loading.hide();'));
?>
	</div>
</div>

<?php 
$documento = '032';
$criteria = new CDbCriteria();
$criteria->condition = 'codocu=:docu';
$criteria->params = array(':docu' => $documento);
//$post = Post::model()->find($criteria);
//$datos = CHtml::listData(Estado::model()->find('codocu=:c_hcod', array(':c_hcod'=>$documento)),'codestado','estado');
//datos = CHtml::listData(Estado::model()->find($criteria),'codestado','estado');
// $datos = CHtml::listData(Estado::model()->findall($criteria),'codestado','estado');
?>

<?php 
$this->widget('zii.widgets.grid.CGridView', array('id' => 'inventario-grid', 'dataProvider' => $model->searchlimpio(), 'cssFile' => Yii::app()->getTheme()->baseUrl . '/css/grilla_naranja.css', 'filter' => $model, 'columns' => array(array('class' => 'CCheckBoxColumn', 'selectableRows' => 10, 'value' => '$data->idinventario', 'checkBoxHtmlOptions' => array('name' => 'checkselected[]')), array('name' => 'codigoaf', 'header' => 'Codigo Placa', 'htmlOptions' => array('width' => '5')), array('name' => 'codigosap', 'header' => 'Codigo SAP', 'htmlOptions' => array('width' => '5')), array('name' => 'descripcion', 'header' => 'Descripcion', 'htmlOptions' => array('width' => '25')), array('name' => 'marca', 'header' => 'Marca', 'htmlOptions' => array('width' => '10')), array('name' => 'modelo', 'header' => 'Modelo', 'htmlOptions' => array('width' => '10')), array('name' => 'codlugar', 'value' => '$data->lugares->deslugar', 'filter' => CHtml::listdata(Lugares::model()->findall(), 'codlugar', 'deslugar')), array('name' => 'codestado', 'value' => '$data->estado->estado', 'filter' => CHtml::listdata(Estado::model()->findall($criteria), 'codestado', 'estado')), array('name' => 'codep', 'value' => '$data->barcoactual->nomep', 'filter' => CHtml::listdata(Embarcaciones::model()->findall(), 'codep', 'nomep')))));
?>
<div class="row buttons">
		<?php 
echo CHtml::submitButton('Seleccionar');
?>
	</div>
<?php 
$this->endWidget();