public function getFilas() { $criteria = new CDbCriteria(); $criteria->addCondition('t.EventoId = :EventoId'); $criteria->addCondition('t.FuncionesId = :FuncionId'); $criteria->addCondition('t.ZonasId = :ZonaId'); $criteria->addCondition('t.SubzonaId = :SubzonaId'); $criteria->order = 't.FilasNum'; $criteria->params = array(':EventoId' => $this->EventoId, ':FuncionId' => $this->FuncionesId, ':ZonaId' => $this->ZonasId, ':SubzonaId' => $this->SubzonaId); return Filas::model()->findAll($criteria); }
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ódigo del Cupón:</strong> ".$dat."<br/>"; // break; case 'DescuentosDes': echo "<strong>Descripción:</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); } } }
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; } }
public function actionMoverFila($EventoId, $FuncionesId, $ZonasId, $SubzonaId, $FilasId, $direccion = 'izquierda') { // alinea todos los lugares de una fila $fila = Filas::model()->findByPk(compact('EventoId', 'FuncionesId', 'ZonasId', 'SubzonaId', 'FilasId')); $delta = array('izquierda' => -1, 'derecha' => 1); if ($fila->recorrer($delta[$direccion])) { echo "true"; } else { echo 'false'; } }
public function agregarFila() { // Crea una fila y la agrega a esta subzona; $fila = new Filas(); $fila->EventoId = $this->EventoId; $fila->FuncionesId = $this->FuncionesId; $fila->ZonasId = $this->ZonasId; $fila->SubzonaId = $this->SubzonaId; if ($fila->save()) { $this->saveCounters(array('SubzonaCanFil' => 1)); return $fila; } else { return false; } }
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; }
public function eliminarSubzonas() { #### !!!!! Elimina todas las subzonas, filas y lugares de la zona !!!! #### $identificador = array('EventoId' => $this->EventoId, 'FuncionesId' => $this->FuncionesId, 'ZonasId' => $this->ZonasId); $ventas = Ventaslevel1::model()->countByAttributes(array('EventoId' => $this->EventoId)); if ($ventas == 0) { //Si no hay ventas elimina todas las subzonas filas y lugares $ret = Subzona::model()->deleteAllByAttributes($identificador); Filas::model()->deleteAllByAttributes($identificador); Lugares::model()->deleteAllByAttributes($identificador); return $ret; } else { return -1; } }