utn-cli 2.0.47 → 2.0.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/templates/backend/servicios/Nucleo/Miscelaneas.js +1 -1
- package/templates/frontend/src/app/Paginas/Nucleo/contenedor-componentes/contenedor-componentes.component.html +8 -3
- package/templates/frontend/src/app/Paginas/Nucleo/contenedor-componentes/contenedor-componentes.component.ts +10 -1
package/package.json
CHANGED
|
@@ -43,7 +43,7 @@ class Miscelaneo {
|
|
|
43
43
|
async UsuariosActuales() {
|
|
44
44
|
const ConexionSigu = await crearObjetoConexionSIGU();
|
|
45
45
|
const Actuales = await ConexionSigu.query("SELECT COUNT(DISTINCT `Identificador`) AS `Total` FROM `SIGU`.`SIGU_Sesiones` WHERE `LastUpdate` >= NOW() - INTERVAL 2 HOUR");
|
|
46
|
-
const Activos = await ConexionSigu.query("SELECT COUNT(DISTINCT CONCAT(JSON_VALUE(`Solicitud`, '$.ip'), JSON_VALUE(`Solicitud`, '$.userAgent')) ) FROM `SIGU`.`SIGU_BitacoraDeSolicitudes` WHERE `LastUpdate` >= NOW() - INTERVAL 5 MINUTE");
|
|
46
|
+
const Activos = await ConexionSigu.query("SELECT COUNT(DISTINCT CONCAT(JSON_VALUE(`Solicitud`, '$.ip'), JSON_VALUE(`Solicitud`, '$.userAgent')) ) AS `Total` FROM `SIGU`.`SIGU_BitacoraDeSolicitudes` WHERE `LastUpdate` >= NOW() - INTERVAL 5 MINUTE");
|
|
47
47
|
if (ConexionSigu) await ConexionSigu.end();
|
|
48
48
|
return {
|
|
49
49
|
UsuariosActuales: Actuales[0][0]['Total'],
|
|
@@ -69,8 +69,13 @@
|
|
|
69
69
|
}
|
|
70
70
|
</div>
|
|
71
71
|
<span class="separador-usuarios">|</span>
|
|
72
|
-
<mat-icon class="icono-usuarios" style="color: #4caf50;"
|
|
73
|
-
|
|
72
|
+
<mat-icon class="icono-usuarios" style="color: #4caf50;"
|
|
73
|
+
matTooltip="Usuarios con sesión activa en este momento">remove_red_eye</mat-icon>
|
|
74
|
+
<div class="numeros-container">
|
|
75
|
+
@if (AnimarUsuariosActivos) {
|
|
76
|
+
<div class="numero-animado">{{ UsuariosActivos | number }}</div>
|
|
77
|
+
}
|
|
78
|
+
</div>
|
|
74
79
|
</div>
|
|
75
80
|
</div>
|
|
76
81
|
<div class="pie-col derecha">
|
|
@@ -101,4 +106,4 @@
|
|
|
101
106
|
</button>
|
|
102
107
|
</div>
|
|
103
108
|
</div>
|
|
104
|
-
</div>
|
|
109
|
+
</div>
|
|
@@ -31,6 +31,7 @@ export class ContenedorComponentesComponent implements OnInit, OnDestroy {
|
|
|
31
31
|
public UsuariosActuales: number = 0;
|
|
32
32
|
public UsuariosActivos: number = 0;
|
|
33
33
|
public AnimarUsuarios: boolean = true;
|
|
34
|
+
public AnimarUsuariosActivos: boolean = true;
|
|
34
35
|
private intervaloUsuarios: any;
|
|
35
36
|
|
|
36
37
|
constructor(private http: HttpClient, private datosGlobalesService: DatosGlobalesService, private location: Location, private dialog: MatDialog) {
|
|
@@ -218,6 +219,7 @@ export class ContenedorComponentesComponent implements OnInit, OnDestroy {
|
|
|
218
219
|
obtenerUsuariosActuales(): void {
|
|
219
220
|
this.http.get(this.datosGlobalesService.ObtenerURL() + 'misc/UsuariosActuales').subscribe((datos: any) => {
|
|
220
221
|
const data = datos.body;
|
|
222
|
+
|
|
221
223
|
if (this.UsuariosActuales !== data.UsuariosActuales) {
|
|
222
224
|
this.UsuariosActuales = data.UsuariosActuales;
|
|
223
225
|
this.AnimarUsuarios = false;
|
|
@@ -225,7 +227,14 @@ export class ContenedorComponentesComponent implements OnInit, OnDestroy {
|
|
|
225
227
|
this.AnimarUsuarios = true;
|
|
226
228
|
}, 50);
|
|
227
229
|
}
|
|
228
|
-
|
|
230
|
+
|
|
231
|
+
if (this.UsuariosActivos !== data.UsuariosActivos) {
|
|
232
|
+
this.UsuariosActivos = data.UsuariosActivos;
|
|
233
|
+
this.AnimarUsuariosActivos = false;
|
|
234
|
+
setTimeout(() => {
|
|
235
|
+
this.AnimarUsuariosActivos = true;
|
|
236
|
+
}, 50);
|
|
237
|
+
}
|
|
229
238
|
});
|
|
230
239
|
}
|
|
231
240
|
}
|