utn-cli 2.0.46 → 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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "utn-cli",
3
- "version": "2.0.46",
3
+ "version": "2.0.48",
4
4
  "description": "Herramienta CLI unificada para la gestión de plantillas en SIGU.",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -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'],
@@ -202,7 +202,6 @@
202
202
  line-height: 20px;
203
203
  vertical-align: middle;
204
204
  }
205
- }
206
205
 
207
206
  .numero-animado {
208
207
  display: block;
@@ -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;" matTooltip="Usuarios activos">remove_red_eye</mat-icon>
73
- <span class="valor-fijo">{{ UsuariosActivos | number }}</span>
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
- this.UsuariosActivos = data.UsuariosActivos;
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
  }