Nuevo concepto de Mupis con Caras estaticas y Pedido enlazado. Parche 2.
[ecomupi.git] / contenido / mupis+pantallas.php
blobe1fe7d18286487bdc57c9a0d6bae52c10400bad2
1 <?php
2 $Catorcena = NULL;
3 function CONTENIDO_pantallas($usuario, $pantalla , $catorcena_inicio) {
4 global $session, $form, $Catorcena, $database;
5 echo '<h1>Gestión de pantallas de ' . _NOMBRE_ . '</h1>';
6 if ( $session->isAdmin() ) {
8 if ( isset($_POST['registrar_mupi'])) {
9 //Nos toca registrar un MUPI
10 Pantalla_REGISTRAR();
13 if ( isset($_GET['sub']) && $catorcena_inicio ) {
14 switch ( $_GET['sub'] ) {
15 case 'clonar':
16 $CatorcenaAnterior = Obtener_catorcena_anterior($catorcena_inicio);
17 $q = "INSERT INTO emupi_mupis_caras (codigo_pantalla_mupi, codigo_mupi , codigo_pedido , foto_real , catorcena ) SELECT codigo_pantalla_mupi, codigo_mupi, codigo_pedido , foto_real , $catorcena_inicio FROM emupi_mupis_caras WHERE catorcena=$CatorcenaAnterior;";
18 $result = $database->query($q);
19 if ( $result ) { echo Mensaje ("Clonado completo.<br />Los datos de la catorcena ".date('d/m/Y',$CatorcenaAnterior)." ahora existen para la catorcena ".date('d/m/Y',$catorcena_inicio),_M_INFO); } else { echo Mensaje ("Falló la clonación.",_M_ERROR); }
20 break;
22 case 'eliminar_datos':
23 $q = "DELETE FROM emupi_mupis_caras WHERE catorcena=$catorcena_inicio;";
24 $result = $database->query($q);
25 if ( $result ) { echo Mensaje ("Eliminado de datos completo.<br />Se eliminaron los datos de la catorcena ".date('d/m/Y',$catorcena_inicio),_M_INFO); } else { echo Mensaje ("Falló la eliminación de datos.",_M_ERROR); }
26 break;
30 if ( isset($_GET['eliminar']) && isset($_GET['imagen']) ) {
31 // Eliminamos la pantalla
32 $q = "DELETE FROM " . TBL_MUPI_FACES . " WHERE Id='" . $_GET['eliminar'] . "';";
33 $result = $database->query($q);
34 if ( $result ) { echo Mensaje ("Pantalla eliminada",_M_INFO); } else { echo Mensaje ("Pantalla no pudo ser eliminada",_M_ERROR); }
36 // Eliminamos cualquier imagen que estuviera asociada a esa pantalla
37 if ($_GET['imagen']) {
38 $q = "DELETE FROM " . TBL_IMG . " WHERE id_imagen=" . $_GET['imagen'] . ";";
39 $result = $database->query($q);
40 if ( $result ) { echo Mensaje ("Imagen asociada eliminada",_M_INFO); } else { echo Mensaje ("Imagen asociada no pudo ser eliminada",_M_ERROR); }
45 if ( !$catorcena_inicio ) {
46 $BotonCancelar = '';
47 $Catorcena = Obtener_catorcena_cercana();
48 } else {
49 $BotonCancelar = '<input type="button" OnClick="window.location=\'./?'._ACC_.'=gestionar+pantallas\'" value="Volver a catorcena actual">';
50 $Catorcena = $catorcena_inicio;
53 echo '<hr /><h2>Pantallas '._NOMBRE_." en la catorcena de ".date("d/m/Y",$Catorcena)."</h2>";
55 echo "Viendo pantallas "._NOMBRE_." de la catorcena " . Combobox_catorcenas("miSelect", $Catorcena) ;
56 $BotonCambiar = '<input type="button" OnClick="window.location=\'./?'._ACC_.'=gestionar+pantallas&amp;catorcena=\'+document.getElementsByName(\'miSelect\')[0].value" value="Cambiar">';
57 $BotonClonarCatorcenaAnterior = '<input type="button" OnClick="window.location=\'./?'._ACC_.'=gestionar+pantallas&amp;catorcena='.$Catorcena.'&amp;sub=clonar\'" value="Clonar anterior" '.GenerarTooltip('Clona los datos de los mupis de la catorcena inmediata anterior').'>';
58 $BotonEliminarDatosCatorcena = '<input type="button" OnClick="window.location=\'./?'._ACC_.'=gestionar+pantallas&amp;catorcena='.$Catorcena.'&amp;sub=eliminar_datos\'" value="Eliminar Datos" '.GenerarTooltip('Elimina los datos mostrados para la catorcena actual').'>';
59 echo $BotonCambiar;
60 echo $BotonCancelar;
61 echo $BotonClonarCatorcenaAnterior;
62 echo $BotonEliminarDatosCatorcena;
63 echo "<hr />";
64 verPantallas($usuario);
65 if ( $session->isAdmin() ) {
66 $paraUsuario = "";
67 if ($usuario) {
68 $paraUsuario = " para $usuario";
70 if ($pantalla) {
71 $edicionOregistro = 'Edición de pantalla ' . $pantalla;
72 } else {
73 $edicionOregistro = 'Registrar Pantallas';
75 echo '<hr /><h2>'.$edicionOregistro.$paraUsuario.'</h2>';
76 verPantallasregistro($usuario, $pantalla);
79 function verPantallas($usuario="", $pantalla=""){
80 global $database, $Catorcena;
82 $WHERE = "";
83 $num_rows = "";
84 if ($usuario) {
85 $WHERE = " WHERE codigo='".$usuario."'";
87 $q = "SELECT Id, codigo_pantalla_mupi, codigo_mupi, (SELECT CONCAT(codigo_calle, '.' , codigo_mupi, ' | ', (SELECT ubicacion FROM emupi_calles AS b WHERE c.codigo_calle=@codigo_calle:=b.codigo_calle), ', ', direccion ) FROM emupi_mupis as c WHERE c.id_mupi=a.codigo_mupi) AS codigo_mupi_traducido, codigo_pedido, (SELECT CONCAT(codigo_pedido, '. ' , o.descripcion) FROM ".TBL_MUPI_ORDERS." as o WHERE o.codigo_pedido = a.codigo_pedido) as codigo_pedido_traducido, catorcena, foto_real, codigo_evento, @calle as codigo_calle2 FROM ".TBL_MUPI_FACES." as a WHERE catorcena = $Catorcena ORDER BY codigo_calle2, codigo_mupi, codigo_pantalla_mupi;";
88 //echo $q;
89 $result = $database->query($q);
90 if ( !$result ) {
91 echo "Error mostrando la información";
92 return;
94 $num_rows = mysql_numrows($result);
95 if($num_rows == 0){
96 echo "¡No hay Pantallas "._NOMBRE_." ingresadas!<BR />";
97 return;
99 echo '<table>';
100 echo "<tr><th>Código "._NOMBRE_."</th><th>Cara</th><th>Código pedido</th><th>Foto real</th><th>Evento</th><th>Acción</th></tr>";
101 for($i=0; $i<$num_rows; $i++){
102 $codigo_pantalla_mupi = mysql_result($result,$i,"codigo_pantalla_mupi");
103 $codigo_mupi = CREAR_LINK_GET("gestionar+mupis&amp;mupi=".mysql_result($result,$i,"codigo_mupi"), mysql_result($result,$i,"codigo_mupi_traducido"), "Ver y/o editar los datos de este "._NOMBRE_);
104 $codigo_pedido = CREAR_LINK_GET("gestionar+pedidos&amp;pedido=" . mysql_result($result,$i,"codigo_pedido"), mysql_result($result,$i,"codigo_pedido_traducido"), "Ver a quien pertenece este pedido");
105 $codigo_evento = ''; //Ejecutar la búsqueda de eventos para esta pantalla
106 $codigo_evento .= CREAR_LINK_GET("gestionar+eventos&amp;sub=adicionar&amp;tipo=PANTALLA&amp;afectado=".mysql_result($result,$i,"Id"),"Agregar","Agrega un evento");
107 $foto_real = mysql_result($result,$i,"foto_real");
108 if ( $foto_real ) { $foto_real = "<span ".GenerarTooltip(CargarImagenDesdeBD(mysql_result($result,$i,"foto_real"),'200px','200px'))." />". $foto_real."</span>"; }
109 $Eliminar = CREAR_LINK_GET("gestionar+pantallas&amp;eliminar=".mysql_result($result,$i,"Id")."&amp;imagen=".mysql_result($result,$i,"foto_real")."&amp;catorcena=$Catorcena","Eliminar", "Eliminar los datos de esta pantalla");
110 $codigo_pantalla_mupi = CREAR_LINK_GET("gestionar+pantallas&amp;id=".mysql_result($result,$i,"Id")."&amp;catorcena=$Catorcena",($codigo_pantalla_mupi == 0 ? 'Vehicular' : 'Peatonal'), "Editar los datos de esta pantalla");
111 echo "<tr><td>$codigo_mupi</td><td>$codigo_pantalla_mupi</td><td>$codigo_pedido</td><td>$foto_real</td><td>$codigo_evento</td><td>$Eliminar</td></tr>";
113 echo "</table><br>";
115 function verPantallasregistro($usuario="", $id="") {
116 global $database, $Catorcena;
117 $BotonCancelar = '';
118 $CampoCodigoMUPI = '';
119 $Pantalla = '';
120 $codigo_mupi ='';
121 $codigo_pedido = '';
122 $foto_real = '';
123 $CampoId = '';
124 $CampoCatorcena = '';
125 $foto_pantalla = '';
126 $OnChangePantalla = '';
127 $CampoConservarPantalla = '';
128 $CampoConservarPantalla2 = '';
130 if ($id) {
131 $q = "SELECT * FROM ".TBL_MUPI_FACES." WHERE Id='$id';";
132 $result = $database->query($q);
134 $CampoId = '<input type="hidden" name="Id" value="'.$id.'">';
135 $Pantalla = mysql_result($result,0,"codigo_pantalla_mupi") ;
136 $codigo_mupi = mysql_result($result,0,"codigo_mupi") ;
137 $codigo_pedido = mysql_result($result,0,"codigo_pedido");
138 $Catorcena = mysql_result($result,0,"catorcena");
139 $foto_real = mysql_result($result,0,"foto_real");
140 if ( $foto_real ) {
141 $CampoConservarPantalla = '<tr><td>Conservar foto con Id.'.$foto_real.'</td></td><td><span id="CampoConservarPantalla"><input type="checkbox" name="ConservarPantalla" value="'.$foto_pantalla.'" checked="checked"></span></td></tr>';
142 $CampoConservarPantalla2 = '<input type="hidden" name="ConservarPantalla2" value="'.$foto_real.'">';
143 $OnChangePantalla = 'onchange="document.getElementById(\'CampoConservarPantalla\').innerHTML=\'Se reemplazará la imagen actual con la seleccionada\'"';
145 $NombreBotonAccion = "Editar";
146 $BotonCancelar = '<input type="button" OnClick="window.location=\'./?'._ACC_.'=gestionar+pantallas\'" value="Cancelar">';
147 } else {
148 $q = "SELECT LAST_INSERT_ID() FROM ".TBL_MUPI_FACES;
149 $id = mysql_num_rows($database->query($q)) + 1;
150 $NombreBotonAccion = "Registrar";
152 $CampoCatorcena = '<input type="hidden" name="catorcena" value="'.$Catorcena.'">';
153 $CampoId2 = '<tr><td width="25%">Identificador</td><td><b>'. $id. '</b></td></tr>';
154 $CampoPantalla = '<tr><td width="25%">Código de Pantalla '._NOMBRE_.'</td><td>'.Combobox__TipoPantalla ($Pantalla).'</td></tr>';
155 $CampoCodigoMUPI = '<tr><td>Enlazar al '._NOMBRE_.' código</td><td>'. $database->Combobox_mupi("codigo_mupi", $codigo_mupi) .'</td></tr>';
156 $CampoCodigoPedido = '<tr><td>Enlazar al pedido '._NOMBRE_.' código</td><td>'. $database->Combobox_pedido("codigo_pedido", $codigo_pedido, $Catorcena, Fin_de_catorcena($Catorcena)) . '</td></tr>';
157 $CampoFotoReal = '<tr><td>Agregar Foto real </td><td><input type="file" name="foto_real" '.$OnChangePantalla.'></td></tr>';
160 if ($usuario) {
161 $CampoUsuario = '<input type="hidden" name="CampoUsuario" value="'.$usuario.'">';
165 echo '
166 <form action="./?'._ACC_.'=gestionar+pantallas&amp;catorcena='.$Catorcena.'" enctype="multipart/form-data" method="POST">
167 <table>
168 '.$CampoCatorcena.'
169 '.$CampoId.'
170 '.$CampoCodigoMUPI.'
171 '.$CampoPantalla.'
172 '.$CampoCodigoPedido.'
173 '.$CampoConservarPantalla.'
174 '.$CampoConservarPantalla2.'
175 '.$CampoFotoReal.'
176 '.$CampoId2.'
177 </table>
178 <input type="submit" value="'.$NombreBotonAccion.'">
179 '.$BotonCancelar.'
180 <input type="hidden" name="registrar_mupi" value="1">
181 </form>';
184 function Pantalla_REGISTRAR() {
185 global $database;
186 if ( !isset($_POST['ConservarPantalla']) ) {
188 Corroborar si ya tenia una imagen antes, para reutilizar la fila y a la vez
189 que la imagen anterior no quede huerfana.
191 $Pre_Id = isset($_POST['ConservarPantalla2']) ? $_POST['ConservarPantalla2'] : 0;
192 $idImg = CargarImagenEnBD("foto_real","PANTALLAS", $Pre_Id);
193 } else {
194 $idImg = $_POST['ConservarPantalla'];
196 if ( isset($_POST['Id'] ) ) {
197 $extra1 = 'Id, ';
198 $extra2 = "'".$_POST['Id']."', ";
199 } else {
200 $extra1 = '';
201 $extra2 = '';
203 $q = "INSERT INTO ".TBL_MUPI_FACES." (".$extra1."codigo_pantalla_mupi, codigo_mupi, codigo_pedido, foto_real, catorcena) VALUES (".$extra2."'" . $_POST['codigo_pantalla_mupi'] . "', '" . $_POST['codigo_mupi'] . "', '" . $_POST['codigo_pedido'] . "', '" . $idImg . "', '" . $_POST['catorcena'] . "') ON DUPLICATE KEY UPDATE codigo_pantalla_mupi=VALUES(codigo_pantalla_mupi), codigo_mupi=VALUES(codigo_mupi), codigo_pedido=VALUES(codigo_pedido), foto_real=VALUES(foto_real);";
204 DEPURAR ($q);
205 if ( $database->query($q) == 1 ) {
206 echo Mensaje ("Exito al registrar la pantalla", _M_INFO);
207 } else {
208 echo Mensaje ("Falló al registrar la pantalla", _M_ERROR);
212 function Combobox__TipoPantalla($default=0){
213 $datos = '<select name="codigo_pantalla_mupi">';
214 $datos .= '<option value="0"'. ($default == 0 ? 'selected="selected"' : '') .'>Vehicular</option>';
215 $datos .= '<option value="1"'. ($default == 1 ? 'selected="selected"' : '') .'>Peatonal</option>';
216 $datos .= '</select>';
217 return $datos;