Commit fc0b710a4f32d874b02bc0c4378805e481e21edd
1 parent
b2eac770
Hito: Modernización definitiva del Dashboard y registro de hito 2026.04.07.20.37.47
Showing
7 changed files
with
211 additions
and
98 deletions
VERSION.txt
| ... | ... | @@ -8,4 +8,5 @@ PROYECTO GIS-GEOSERVER - 2026.04.05.06.31.00 ID DOCKER: c68e229b6d94. Observacià |
| 8 | 8 | PROYECTO GIS-GEOSERVER - 2026.04.06.01.13.00 ID DOCKER: d983a409769d. Observación: Integración exitosa de Landing Page AdminLTE 3 con aislamiento de iFrame para Visor GIS. |
| 9 | 9 | PROYECTO GIS-GEOSERVER - 2026.04.06.12.44.00 ID DOCKER: d983a409769d. Observación: Backup completo preventivo de la versión con estructura de Git corregida y Landing Page AdminLTE. |
| 10 | 10 | PROYECTO GIS-GEOSERVER - 2026.04.06.13.31.00 ID DOCKER: d983a409769d. Observación: Prueba de funcionamiento del Manual v1.1 tras estandarización de prefijos y manual de recuperación. |
| 11 | -PROYECTO GIS-GEOSERVER - 2026.04.07.08.18.07 ID DOCKER: d983a409769d. Observación: Optimización visual de interfaz completada: unificación de anchos al 100%, limpieza de barra superior, traslado de controles al sidebar y registro legal SIGEM-MIC/DINAPI. | |
| 12 | 11 | \ No newline at end of file |
| 12 | +PROYECTO GIS-GEOSERVER - 2026.04.07.08.18.07 ID DOCKER: d983a409769d. Observación: Optimización visual de interfaz completada: unificación de anchos al 100%, limpieza de barra superior, traslado de controles al sidebar y registro legal SIGEM-MIC/DINAPI. | |
| 13 | +PROYECTO GIS-GEOSERVER - 2026.04.07.20.37.47 ID DOCKER: d983a409769d. Observación: Modernización definitiva del Dashboard completada: Replicación de bloque de bienvenida legado, integración de mapa embebido en modo limpio y reestructuración de la fila inferior de gestión al 100% de ancho. Versión estable validada. | |
| 13 | 14 | \ No newline at end of file | ... | ... |
final_update_505.sql
0 → 100644
get_view_def.sh
0 → 100644
| 1 | +docker exec proyecto-postgres-1 psql -U sigem_user -d sigem -c "SELECT * FROM fdw_505.v_liq_entidad_percentiles LIMIT 10;" | ... | ... |
src/main/resources/static/landing.html
| ... | ... | @@ -46,7 +46,7 @@ |
| 46 | 46 | <i class="far fa-user mr-2"></i> <span id="nav-user-text">Cargando...</span> |
| 47 | 47 | </a> |
| 48 | 48 | <div class="dropdown-menu dropdown-menu-lg dropdown-menu-right"> |
| 49 | - <a href="#" class="dropdown-item" onclick="cerrarSesion()"> | |
| 49 | + <a href="#" class="dropdown-item" onclick="cerrarSesion(); return false;"> | |
| 50 | 50 | <i class="fas fa-sign-out-alt mr-2 text-danger"></i> Cerrar Sesión |
| 51 | 51 | </a> |
| 52 | 52 | </div> |
| ... | ... | @@ -96,7 +96,7 @@ |
| 96 | 96 | </a> |
| 97 | 97 | <ul class="nav nav-treeview" style="margin-left: 10px;"> |
| 98 | 98 | <li class="nav-item"> |
| 99 | - <a href="#" class="nav-link" data-toggle="modal" data-target="#modalMorosidad"> | |
| 99 | + <a href="#" class="nav-link" onclick="loadMap()"> | |
| 100 | 100 | <i class="fas fa-layer-group nav-icon text-warning"></i> |
| 101 | 101 | <p>Mapa Morosidad/Pago</p> |
| 102 | 102 | </a> |
| ... | ... | @@ -134,47 +134,16 @@ |
| 134 | 134 | </div> |
| 135 | 135 | |
| 136 | 136 | <!-- Main Footer --> |
| 137 | - <footer class="main-footer" style="padding: 5px; font-size: 12px;"> | |
| 138 | - <strong>Sistema de Información Geográfica Municipal.</strong> | |
| 139 | - Todos los derechos reservados. | |
| 137 | + <footer class="main-footer" style="padding: 10px; font-size: 13px; background-color: #f4f6f9;"> | |
| 138 | + <div class="float-right d-none d-sm-inline-block"> | |
| 139 | + <b>YVYAPE/SIGEM - Registro MIC/DINAPI 593</b> | |
| 140 | + </div> | |
| 141 | + Copyright © 2026 <b>YVAGA</b>. Todos los derechos reservados. | |
| 140 | 142 | </footer> |
| 141 | 143 | </div> |
| 142 | 144 | <!-- ./wrapper --> |
| 143 | 145 | |
| 144 | -<!-- Modal Pop-up para Selección de Mapa (Exactamente como el legado) --> | |
| 145 | -<div class="modal fade" id="modalMorosidad" tabindex="-1" role="dialog" aria-hidden="true"> | |
| 146 | - <div class="modal-dialog modal-sm" role="document" style="margin-top: 15vh;"> | |
| 147 | - <div class="modal-content shadow-lg" style="border: 1px solid #17a2b8;"> | |
| 148 | - <div class="modal-header bg-info" style="padding: 10px;"> | |
| 149 | - <h6 class="modal-title" style="font-weight: bold;"><i class="fas fa-filter"></i> Selección Capas Geo</h6> | |
| 150 | - <button type="button" class="close text-white" data-dismiss="modal" aria-label="Close"> | |
| 151 | - <span aria-hidden="true">×</span> | |
| 152 | - </button> | |
| 153 | - </div> | |
| 154 | - <div class="modal-body modal-treeview"> | |
| 155 | - <ul> | |
| 156 | - <li><i class="fas fa-minus-square mr-1 text-secondary"></i> <span>MAPA DE MOROSIDAD</span> | |
| 157 | - <ul> | |
| 158 | - <li><i class="fas fa-plus-square mr-1 text-secondary"></i> <span>IMPUESTOS ADEUDADOS</span> | |
| 159 | - <ul> | |
| 160 | - <li><i class="fas fa-plus mr-1 text-muted"></i> <span class="clickable" onclick="notImplemented()">Impuesto Inmobiliario</span></li> | |
| 161 | - <li><i class="fas fa-plus mr-1 text-muted"></i> <span class="clickable" onclick="notImplemented()">Patente Comercial</span></li> | |
| 162 | - <li><i class="fas fa-plus-square mr-1 text-secondary"></i> <span>Todos</span> | |
| 163 | - <ul> | |
| 164 | - <li><i class="far fa-window-restore mr-1 text-muted"></i> <span class="clickable" onclick="notImplemented()">POR TOTAL</span></li> | |
| 165 | - <li><i class="far fa-clock mr-1 text-muted"></i> <span class="text-primary font-weight-bold clickable" onclick="loadMap()">ULTIMO PAGO / TODOS</span></li> | |
| 166 | - </ul> | |
| 167 | - </li> | |
| 168 | - </ul> | |
| 169 | - </li> | |
| 170 | - <li><i class="fas fa-plus-square mr-1 text-muted"></i> <span class="clickable" onclick="notImplemented()">IMPUESTOS PAGADOS</span></li> | |
| 171 | - </ul> | |
| 172 | - </li> | |
| 173 | - </ul> | |
| 174 | - </div> | |
| 175 | - </div> | |
| 176 | - </div> | |
| 177 | -</div> | |
| 146 | + | |
| 178 | 147 | |
| 179 | 148 | <!-- jQuery --> |
| 180 | 149 | <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> |
| ... | ... | @@ -205,15 +174,13 @@ |
| 205 | 174 | } |
| 206 | 175 | |
| 207 | 176 | function loadMap() { |
| 208 | - // Cierra el modal de forma programática usando jQuery de Bootstrap | |
| 209 | - $('#modalMorosidad').modal('hide'); | |
| 210 | - // Redirige el iframe central hacia nuestro impecable mapas.html | |
| 177 | + // Redirige el iframe central hacia nuestro visor de mapas | |
| 211 | 178 | loadContent('/gis-geoserver/mapas'); |
| 212 | 179 | } |
| 213 | 180 | |
| 214 | 181 | function cerrarSesion() { |
| 215 | 182 | localStorage.clear(); |
| 216 | - window.location.href = "/gis-geoserver/login"; | |
| 183 | + window.location.replace("/gis-geoserver/login"); | |
| 217 | 184 | } |
| 218 | 185 | </script> |
| 219 | 186 | </body> | ... | ... |
src/main/resources/static/mapas.html
| ... | ... | @@ -60,6 +60,12 @@ |
| 60 | 60 | height: calc(100vh - 60px); |
| 61 | 61 | } |
| 62 | 62 | |
| 63 | + /* MODO EMBEBIDO (Limpieza de UI) */ | |
| 64 | + body.embed-mode .header { display: none !important; } | |
| 65 | + body.embed-mode .sidebar { display: none !important; } | |
| 66 | + body.embed-mode .app-container { height: 100vh !important; } | |
| 67 | + body.embed-mode #map { width: 100% !important; } | |
| 68 | + | |
| 63 | 69 | .sidebar { |
| 64 | 70 | width: 170px; |
| 65 | 71 | background: #0f172a; |
| ... | ... | @@ -368,7 +374,11 @@ |
| 368 | 374 | </div> |
| 369 | 375 | |
| 370 | 376 | <script> |
| 371 | - | |
| 377 | + // Verificar si estamos en modo embebido | |
| 378 | + const urlParams = new URLSearchParams(window.location.search); | |
| 379 | + if (urlParams.get('mode') === 'embed') { | |
| 380 | + document.body.classList.add('embed-mode'); | |
| 381 | + } | |
| 372 | 382 | |
| 373 | 383 | const entidad = localStorage.getItem('entidad') || '505'; |
| 374 | 384 | const token = localStorage.getItem('jwt'); |
| ... | ... | @@ -564,7 +574,7 @@ |
| 564 | 574 | |
| 565 | 575 | map.setPaintProperty('lotes-layer', 'fill-color', [ |
| 566 | 576 | 'step', |
| 567 | - ['get', 'ultimo_pago'], | |
| 577 | + ['to-number', ['get', 'ultimo_pago'], 0], | |
| 568 | 578 | '#a91d1d', // < 2021 |
| 569 | 579 | 2021, '#a91d1d', |
| 570 | 580 | 2022, '#d05660', |
| ... | ... | @@ -583,18 +593,18 @@ |
| 583 | 593 | |
| 584 | 594 | legendContent.innerHTML = ` |
| 585 | 595 | <strong style="color: #60a5fa;">MONTO ADEUDADO</strong><br><br> |
| 586 | - <div class="legend-item"><div class="legend-color" style="background: #a91d1d;"></div> Rojo: > 2.134.819 Gs</div> | |
| 587 | - <div class="legend-item"><div class="legend-color" style="background: #f08060;"></div> Naranja: entre 2.134.819 y 1.231.876 Gs</div> | |
| 588 | - <div class="legend-item"><div class="legend-color" style="background: #ffd966;"></div> Amarillo: entre 1.231.876 y 718.984 Gs</div> | |
| 589 | - <div class="legend-item"><div class="legend-color" style="background: #b5c47a;"></div> Verde Claro: entre 718.984 y 355.628 Gs</div> | |
| 590 | - <div class="legend-item"><div class="legend-color" style="background: #6b9070;"></div> Verde Oscuro: <= 355.628 Gs</div> | |
| 596 | + <div class="legend-item"><div class="legend-color" style="background: #a91d1d;"></div> > 2.134.819 Gs</div> | |
| 597 | + <div class="legend-item"><div class="legend-color" style="background: #f08060;"></div> entre 2.134.819 y 1.231.876 Gs</div> | |
| 598 | + <div class="legend-item"><div class="legend-color" style="background: #ffd966;"></div> entre 1.231.876 y 718.984 Gs</div> | |
| 599 | + <div class="legend-item"><div class="legend-color" style="background: #b5c47a;"></div> entre 718.984 y 355.628 Gs</div> | |
| 600 | + <div class="legend-item"><div class="legend-color" style="background: #6b9070;"></div> <= 355.628 Gs</div> | |
| 591 | 601 | <div class="legend-item"><div class="legend-color" style="background: #64748b;"></div> NO REGISTRADOS</div> |
| 592 | 602 | `; |
| 593 | 603 | |
| 594 | 604 | map.setPaintProperty('lotes-layer', 'fill-color', [ |
| 595 | 605 | 'step', |
| 596 | - ['get', 'trb_total_deuda'], | |
| 597 | - '#6b9070', // Verde Oscuro: <= 355.628 | |
| 606 | + ['to-number', ['get', 'trb_total_deuda'], 0], | |
| 607 | + '#6b9070', // Verde Oscuro: <= 355.628 (fallback si es 0) | |
| 598 | 608 | 355629, '#b5c47a', // Verde Claro: 355.629 - 718.984 |
| 599 | 609 | 718985, '#ffd966', // Amarillo: 718.985 - 1.231.876 |
| 600 | 610 | 1231877, '#f08060', // Naranja: 1.231.877 - 2.134.819 | ... | ... |
src/main/resources/static/widgets.html
| ... | ... | @@ -12,6 +12,20 @@ |
| 12 | 12 | <style> |
| 13 | 13 | body { background-color: #f4f6f9; padding: 20px; font-family: 'Source Sans Pro', sans-serif; } |
| 14 | 14 | .welcome-header { font-size: 24px; color: #333; margin-bottom: 20px; font-weight: 600;} |
| 15 | + /* Estilos para el mapa embebido */ | |
| 16 | + .map-container { | |
| 17 | + width: 100%; | |
| 18 | + height: 500px; | |
| 19 | + border-radius: 8px; | |
| 20 | + overflow: hidden; | |
| 21 | + background-color: #0f172a; | |
| 22 | + position: relative; | |
| 23 | + } | |
| 24 | + iframe#welcome-map { | |
| 25 | + width: 100%; | |
| 26 | + height: 100%; | |
| 27 | + border: none; | |
| 28 | + } | |
| 15 | 29 | </style> |
| 16 | 30 | </head> |
| 17 | 31 | <body> |
| ... | ... | @@ -19,76 +33,178 @@ |
| 19 | 33 | <i class="fas fa-home text-primary"></i> Tablero General (Estadísticas Simuladas) |
| 20 | 34 | </div> |
| 21 | 35 | |
| 36 | + <!-- FILA 1: INFO BOXES ESTILO LEGADO (ESTADÍSTICAS) --> | |
| 22 | 37 | <div class="row"> |
| 23 | - <!-- Tarjeta 1 --> | |
| 24 | - <div class="col-lg-3 col-6"> | |
| 25 | - <div class="small-box bg-info shadow-sm"> | |
| 26 | - <div class="inner"> | |
| 27 | - <h3>99,999</h3> | |
| 28 | - <p>Lotes Registrados</p> | |
| 38 | + <!-- CONTRIBUYENTES --> | |
| 39 | + <div class="col-md-2 col-sm-6 col-12"> | |
| 40 | + <div class="info-box shadow-sm"> | |
| 41 | + <span class="info-box-icon bg-danger"><i class="fas fa-users"></i></span> | |
| 42 | + <div class="info-box-content"> | |
| 43 | + <span class="info-box-text" id="contribtext">CONTRIBUYENTES</span> | |
| 44 | + <span class="info-box-number" id="contribnum">---</span> | |
| 29 | 45 | </div> |
| 30 | - <div class="icon"> | |
| 31 | - <i class="fas fa-map-marked-alt"></i> | |
| 46 | + </div> | |
| 47 | + </div> | |
| 48 | + <!-- PROPIEDADES --> | |
| 49 | + <div class="col-md-2 col-sm-6 col-12"> | |
| 50 | + <div class="info-box shadow-sm"> | |
| 51 | + <span class="info-box-icon bg-danger"><i class="fas fa-map-marker-alt"></i></span> | |
| 52 | + <div class="info-box-content"> | |
| 53 | + <span class="info-box-text" id="proptext">PROPIEDADES</span> | |
| 54 | + <span class="info-box-number" id="propnum">---</span> | |
| 32 | 55 | </div> |
| 33 | - <a href="#" class="small-box-footer" onclick="alert('OPCIÓN NO IMPLEMENTADA')">Más info <i class="fas fa-arrow-circle-right"></i></a> | |
| 34 | 56 | </div> |
| 35 | 57 | </div> |
| 36 | - <!-- Tarjeta 2 --> | |
| 37 | - <div class="col-lg-3 col-6"> | |
| 38 | - <div class="small-box bg-success shadow-sm"> | |
| 39 | - <div class="inner"> | |
| 40 | - <h3>Gs. ---<sup style="font-size: 20px"></sup></h3> | |
| 41 | - <p>Recaudación del Día</p> | |
| 58 | + <!-- COMERCIOS --> | |
| 59 | + <div class="col-md-2 col-sm-6 col-12"> | |
| 60 | + <div class="info-box shadow-sm"> | |
| 61 | + <span class="info-box-icon bg-success"><i class="fas fa-money-bill-wave"></i></span> | |
| 62 | + <div class="info-box-content"> | |
| 63 | + <span class="info-box-text" id="comtext">COMERCIOS</span> | |
| 64 | + <span class="info-box-number" id="comnum">---</span> | |
| 42 | 65 | </div> |
| 43 | - <div class="icon"> | |
| 44 | - <i class="fas fa-hand-holding-usd"></i> | |
| 66 | + </div> | |
| 67 | + </div> | |
| 68 | + <!-- VEHICULOS --> | |
| 69 | + <div class="col-md-2 col-sm-6 col-12"> | |
| 70 | + <div class="info-box shadow-sm"> | |
| 71 | + <span class="info-box-icon bg-success"><i class="fas fa-car"></i></span> | |
| 72 | + <div class="info-box-content"> | |
| 73 | + <span class="info-box-text" id="vehitext">VEHICULOS</span> | |
| 74 | + <span class="info-box-number" id="vehinum">---</span> | |
| 45 | 75 | </div> |
| 46 | - <a href="#" class="small-box-footer" onclick="alert('OPCIÓN NO IMPLEMENTADA')">Más info <i class="fas fa-arrow-circle-right"></i></a> | |
| 47 | 76 | </div> |
| 48 | 77 | </div> |
| 49 | - | |
| 50 | - <!-- Tarjeta 3 --> | |
| 51 | - <div class="col-lg-3 col-6"> | |
| 52 | - <div class="small-box bg-warning shadow-sm"> | |
| 53 | - <div class="inner"> | |
| 54 | - <h3>---</h3> | |
| 55 | - <p>Nuevas Actividades Comerciales</p> | |
| 56 | - </div> | |
| 57 | - <div class="icon"> | |
| 58 | - <i class="fas fa-store"></i> | |
| 59 | - </div> | |
| 60 | - <a href="#" class="small-box-footer" onclick="alert('OPCIÓN NO IMPLEMENTADA')">Más info <i class="fas fa-arrow-circle-right"></i></a> | |
| 78 | + <!-- LICENCIAS --> | |
| 79 | + <div class="col-md-2 col-sm-6 col-12"> | |
| 80 | + <div class="info-box shadow-sm"> | |
| 81 | + <span class="info-box-icon bg-success"><i class="fas fa-credit-card"></i></span> | |
| 82 | + <div class="info-box-content"> | |
| 83 | + <span class="info-box-text" id="licentext">LICENCIAS</span> | |
| 84 | + <span class="info-box-number" id="licennum">---</span> | |
| 85 | + </div> | |
| 61 | 86 | </div> |
| 62 | 87 | </div> |
| 63 | - <!-- Tarjeta 4 --> | |
| 64 | - <div class="col-lg-3 col-6"> | |
| 65 | - <div class="small-box bg-danger shadow-sm"> | |
| 66 | - <div class="inner"> | |
| 67 | - <h3>45%</h3> | |
| 68 | - <p>Índice General de Morosidad</p> | |
| 88 | + </div> | |
| 89 | + | |
| 90 | + <!-- FILA 2: BIENVENIDA Y SOPORTE --> | |
| 91 | + <div class="row mt-4"> | |
| 92 | + <div class="col-md-8"> | |
| 93 | + <div class="card card-outline card-primary shadow-sm" style="border-top: 3px solid #0056b3;"> | |
| 94 | + <div class="card-header"> | |
| 95 | + <h3 class="card-title text-muted font-weight-bold" id="welcome-title"><i class="fas fa-map mr-1"></i> Bienvenido al Sistema Integrado de Gestión Municipal</h3> | |
| 96 | + <div class="card-tools"> | |
| 97 | + <button type="button" class="btn btn-tool" data-card-widget="collapse"><i class="fas fa-minus"></i></button> | |
| 98 | + </div> | |
| 99 | + </div> | |
| 100 | + <div class="card-body p-0"> | |
| 101 | + <div class="map-container"> | |
| 102 | + <!-- Mapa embebido de Control de Gestión (Modo Limpio) --> | |
| 103 | + <iframe id="welcome-map" src="/gis-geoserver/mapas?mode=embed"></iframe> | |
| 104 | + </div> | |
| 105 | + </div> | |
| 106 | + </div> | |
| 107 | + </div> | |
| 108 | + | |
| 109 | + <div class="col-md-4"> | |
| 110 | + <!-- SOPORTE Y APOYO TECNICO --> | |
| 111 | + <div class="info-box bg-gradient-info shadow-sm mx-auto" style="max-width: 80%;"> | |
| 112 | + <span class="info-box-icon"><i class="fas fa-headset"></i></span> | |
| 113 | + <div class="info-box-content text-center"> | |
| 114 | + <span class="info-box-text font-weight-bold">SOPORTE Y APOYO TÉCNICO</span> | |
| 115 | + <span class="info-box-number">CONSULTORA YVAGA</span> | |
| 116 | + <div class="text-xs mt-2"> | |
| 117 | + <i class="fas fa-globe mr-1"></i> www.yvaga.com.py<br> | |
| 118 | + <i class="fas fa-envelope mr-1"></i> soporte@yvaga.com.py<br> | |
| 119 | + <i class="fas fa-phone mr-1"></i> 0981-413151 | |
| 120 | + </div> | |
| 69 | 121 | </div> |
| 70 | - <div class="icon"> | |
| 71 | - <i class="fas fa-chart-pie"></i> | |
| 122 | + </div> | |
| 123 | + | |
| 124 | + <!-- INFRAESTRUCTURA Y TECNOLOGIA --> | |
| 125 | + <div class="info-box bg-success shadow-sm mx-auto" style="max-width: 80%;"> | |
| 126 | + <span class="info-box-icon"><i class="fas fa-cloud-upload-alt"></i></span> | |
| 127 | + <div class="info-box-content text-center"> | |
| 128 | + <span class="info-box-text font-weight-bold">INFRAESTRUCTURA Y TECNOLOGÍA</span> | |
| 129 | + <span class="info-box-number">YVAGA EAS</span> | |
| 130 | + <div class="text-xs mt-2"> | |
| 131 | + <i class="fas fa-globe mr-1"></i> www.yvaga.com.py<br> | |
| 132 | + <i class="fas fa-envelope mr-1"></i> soporte@yvaga.com.py<br> | |
| 133 | + <i class="fas fa-phone mr-1"></i> 0981-413151 | |
| 134 | + </div> | |
| 72 | 135 | </div> |
| 73 | - <a href="#" class="small-box-footer" onclick="alert('OPCIÓN NO IMPLEMENTADA')">Más info <i class="fas fa-arrow-circle-right"></i></a> | |
| 74 | 136 | </div> |
| 75 | 137 | </div> |
| 76 | 138 | </div> |
| 77 | - | |
| 139 | + | |
| 140 | + <!-- FILA 3 (INFERIOR): MÓDULOS DE GESTIÓN (ANCHO COMPLETO) --> | |
| 78 | 141 | <div class="row mt-4"> |
| 79 | - <div class="col-12"> | |
| 80 | - <div class="card card-outline card-primary shadow-sm" style="border-top: 3px solid #0056b3;"> | |
| 142 | + <!-- GESTIÓN FINANCIERA --> | |
| 143 | + <div class="col-md-4"> | |
| 144 | + <div class="card card-outline card-success shadow-sm h-100"> | |
| 145 | + <div class="card-header"> | |
| 146 | + <h3 class="card-title font-weight-bold">GESTIÓN FINANCIERA</h3> | |
| 147 | + <div class="card-tools"> | |
| 148 | + <span class="badge badge-danger">Próximamente!</span> | |
| 149 | + <button type="button" class="btn btn-tool" data-card-widget="collapse"><i class="fas fa-minus"></i></button> | |
| 150 | + </div> | |
| 151 | + </div> | |
| 152 | + <div class="card-body p-0 text-center d-flex align-items-center justify-content-center"> | |
| 153 | + <img src="https://sigemtest.yvaga.com.py/dist/img/sigem/gestion_financiera.png" alt="GESTIÓN FINANCIERA" class="img-fluid p-3" style="max-height: 200px;"> | |
| 154 | + </div> | |
| 155 | + <div class="card-footer text-center mt-auto"> | |
| 156 | + <a href="javascript:void(0)" class="text-sm font-weight-bold text-uppercase">Acceder a Versión Escritorio</a> | |
| 157 | + </div> | |
| 158 | + </div> | |
| 159 | + </div> | |
| 160 | + | |
| 161 | + <!-- GESTIÓN TRIBUTARIA --> | |
| 162 | + <div class="col-md-4"> | |
| 163 | + <div class="card card-outline card-success shadow-sm h-100"> | |
| 81 | 164 | <div class="card-header"> |
| 82 | - <h3 class="card-title text-muted"><i class="fas fa-info-circle mr-1"></i> Estado del Sistema</h3> | |
| 165 | + <h3 class="card-title font-weight-bold">GESTIÓN TRIBUTARIA</h3> | |
| 166 | + <div class="card-tools"> | |
| 167 | + <span class="badge badge-danger">Próximamente!</span> | |
| 168 | + <button type="button" class="btn btn-tool" data-card-widget="collapse"><i class="fas fa-minus"></i></button> | |
| 169 | + </div> | |
| 170 | + </div> | |
| 171 | + <div class="card-body p-0 text-center d-flex align-items-center justify-content-center"> | |
| 172 | + <img src="https://sigemtest.yvaga.com.py/dist/img/sigem/gestion_tributaria.png" alt="GESTIÓN TRIBUTARIA" class="img-fluid p-3" style="max-height: 200px;"> | |
| 173 | + </div> | |
| 174 | + <div class="card-footer text-center mt-auto"> | |
| 175 | + <a href="javascript:void(0)" class="text-sm font-weight-bold text-uppercase">Acceder a Versión Escritorio</a> | |
| 176 | + </div> | |
| 177 | + </div> | |
| 178 | + </div> | |
| 179 | + | |
| 180 | + <!-- INFORMES GERENCIALES --> | |
| 181 | + <div class="col-md-4"> | |
| 182 | + <div class="card card-outline card-success shadow-sm h-100"> | |
| 183 | + <div class="card-header"> | |
| 184 | + <h3 class="card-title font-weight-bold">INFORMES GERENCIALES</h3> | |
| 185 | + <div class="card-tools"> | |
| 186 | + <button type="button" class="btn btn-tool" data-card-widget="collapse"><i class="fas fa-minus"></i></button> | |
| 187 | + </div> | |
| 188 | + </div> | |
| 189 | + <div class="card-body p-0 text-center d-flex align-items-center justify-content-center"> | |
| 190 | + <img src="https://sigemtest.yvaga.com.py/dist/img/sigem/informes.png" alt="INFORMES" class="img-fluid p-3" style="max-height: 200px;"> | |
| 83 | 191 | </div> |
| 84 | - <div class="card-body"> | |
| 85 | - <p class="text-secondary text-sm">Use el menú lateral para navegar por los distintos módulos administrativos. La funcionalidad de Mapas Tributarios se encuentra activa bajo "Control de Gestión -> Mapas". Otras opciones en despliegue.</p> | |
| 192 | + <div class="card-footer text-center mt-auto"> | |
| 193 | + <a href="javascript:void(0)" class="text-sm font-weight-bold text-uppercase">Acceder</a> | |
| 86 | 194 | </div> |
| 87 | 195 | </div> |
| 88 | 196 | </div> |
| 89 | 197 | </div> |
| 198 | + <br> | |
| 90 | 199 | |
| 91 | 200 | <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> |
| 92 | 201 | <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js"></script> |
| 202 | +<script> | |
| 203 | + // Dinamizar el título con el nombre de la entidad si está disponible | |
| 204 | + const entidadText = localStorage.getItem('entidad_nombre') || ''; | |
| 205 | + if (entidadText) { | |
| 206 | + document.getElementById('welcome-title').innerHTML = `<i class="fas fa-map mr-1"></i> Bienvenido al Sistema Integrado de Gestión Municipal de ${entidadText}`; | |
| 207 | + } | |
| 208 | +</script> | |
| 93 | 209 | </body> |
| 94 | 210 | </html> | ... | ... |
update_morosidad_505.sql
0 → 100644
| 1 | +-- Punto 1: Actualización de la Vista Maestra de Morosidad con Filtro de Entidad | |
| 2 | +CREATE OR REPLACE VIEW public.vw_lotes_morosidad_505 AS | |
| 3 | +SELECT | |
| 4 | + l.cartodb_id, l.fid, l.dpto, l.dist, l.padron, l.zona, l.mz, l.lote, | |
| 5 | + l.shape_area, l.shape_len, l.ccc, l.obs, l.cc_lote, l.cc_man, l.layer, | |
| 6 | + l.borrado, l.geom, | |
| 7 | + m.inm_ficha, m.inm_ctacatastral, m.trb_total_deuda, m.trb_total_pago, m.ultimo_pago | |
| 8 | +FROM public.e505_lotes_conccc l | |
| 9 | +LEFT JOIN fdw_505.v_liq_entidad_totalxobjeto m ON l.ccc::text = m.inm_ctacatastral::text AND m.entidad = '505'; | |
| 10 | + | |
| 11 | +-- Punto 2: Creación de la Vista de Percentiles Filtrada por Entidad (Nuevo Estándar) | |
| 12 | +CREATE OR REPLACE VIEW public.vw_percentiles_505 AS | |
| 13 | +SELECT * FROM fdw_505.v_liq_entidad_percentiles WHERE entidad = '505'; | ... | ... |