utn-cli 2.1.11 → 2.1.14

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.1.11",
3
+ "version": "2.1.14",
4
4
  "description": "Herramienta CLI unificada para la gestión de plantillas en SIGU.",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -268,7 +268,7 @@ class Miscelaneo {
268
268
  try {
269
269
  const titulo = tarjeta['Título'];
270
270
  const existentes = await ejecutarConsultaSIGU(
271
- `SELECT CAST(JSON_VALUE(\`Datos\`, '$."Posición"') AS UNSIGNED) AS Posicion, JSON_VALUE(\`Datos\`, '$."Título"') AS Titulo, JSON_VALUE(\`Datos\`, '$."Descripción"') AS Descripcion FROM \`SIGU\`.\`ModulosV2Tarjetas\` WHERE \`Modulo\` = ? AND JSON_VALUE(\`Datos\`, '$."Título"') = ?`,
271
+ `SELECT CAST(JSON_VALUE(\`Datos\`, '$."Posición"') AS UNSIGNED) AS Posicion, JSON_VALUE(\`Datos\`, '$."Título"') AS Titulo, JSON_VALUE(\`Datos\`, '$."Descripción"') AS Descripcion FROM \`SIGU\`.\`SIGU_ModulosV2Tarjetas\` WHERE \`Modulo\` = ? AND JSON_VALUE(\`Datos\`, '$."Título"') = ?`,
272
272
  [this.NombreCanonicoDelModulo, titulo]
273
273
  );
274
274
 
@@ -276,21 +276,21 @@ class Miscelaneo {
276
276
  if (existentes.length > 0) {
277
277
  datosFinales = { ...tarjeta, 'Posición': existentes[0].Posicion, 'Título': existentes[0].Titulo, 'Descripción': existentes[0].Descripcion, 'Archivo': archivo };
278
278
  await ejecutarConsultaSIGU(
279
- `UPDATE \`SIGU\`.\`ModulosV2Tarjetas\` SET \`Datos\` = ?, \`LastUser\` = 'Sistema' WHERE \`Modulo\` = ? AND JSON_VALUE(\`Datos\`, '$."Título"') = ?`,
279
+ `UPDATE \`SIGU\`.\`SIGU_ModulosV2Tarjetas\` SET \`Datos\` = ?, \`LastUser\` = 'Sistema' WHERE \`Modulo\` = ? AND JSON_VALUE(\`Datos\`, '$."Título"') = ?`,
280
280
  [JSON.stringify(datosFinales), this.NombreCanonicoDelModulo, titulo]
281
281
  );
282
282
  } else {
283
283
  let posicion = tarjeta['Posición'];
284
284
  if (posicion === undefined) {
285
285
  const [{ NuevaPosicion }] = await ejecutarConsultaSIGU(
286
- `SELECT COALESCE(MAX(CAST(JSON_VALUE(\`Datos\`, '$."Posición"') AS UNSIGNED)), 0) + 10 AS NuevaPosicion FROM \`SIGU\`.\`ModulosV2Tarjetas\` WHERE \`Modulo\` = ?`,
286
+ `SELECT COALESCE(MAX(CAST(JSON_VALUE(\`Datos\`, '$."Posición"') AS UNSIGNED)), 0) + 10 AS NuevaPosicion FROM \`SIGU\`.\`SIGU_ModulosV2Tarjetas\` WHERE \`Modulo\` = ?`,
287
287
  [this.NombreCanonicoDelModulo]
288
288
  );
289
289
  posicion = NuevaPosicion;
290
290
  }
291
291
  datosFinales = { ...tarjeta, 'Posición': posicion, 'Archivo': archivo };
292
292
  await ejecutarConsultaSIGU(
293
- `INSERT INTO \`SIGU\`.\`ModulosV2Tarjetas\` (\`Modulo\`, \`Datos\`, \`LastUser\`) VALUES (?, ?, 'Sistema')`,
293
+ `INSERT INTO \`SIGU\`.\`SIGU_ModulosV2Tarjetas\` (\`Modulo\`, \`Datos\`, \`LastUser\`) VALUES (?, ?, 'Sistema')`,
294
294
  [this.NombreCanonicoDelModulo, JSON.stringify(datosFinales)]
295
295
  );
296
296
  }
@@ -947,11 +947,14 @@ class Miscelaneo {
947
947
  `a`.`EnlaceDelVideo`,`a`.`EnlaceDelManual`\
948
948
  , `a`.`Estado`, REGEXP_SUBSTR(SUBSTRING_INDEX(`a`.`Repositorios`, '/', -1), '[^,]*front[^,]*') AS `Frontend`\
949
949
  , `c`.`Etiqueta`, `c`.`ColorDeLaEtiqueta`\
950
+ , (SELECT COUNT(*) FROM `SIGU`.`SIGU_ModulosV2` `h`\
951
+ JOIN `SIGU`.`SIGU_PermisosV2` `hp` ON (`h`.`Nombre` = `hp`.`Modulo`)\
952
+ WHERE `h`.`Estado` = 'Activo' AND `h`.`Padre` = `a`.`Nombre` AND `hp`.`PermisoId` IN (?)) AS `CantidadDeHijos`\
950
953
  FROM `SIGU`.`SIGU_ModulosV2` `a`\
951
954
  JOIN `SIGU`.`SIGU_PermisosV2` `b` ON (`a`.`Nombre` = `b`.`Modulo`)\
952
955
  LEFT JOIN `SIGU`.`SIGU_ModulosV2InformacionExtra` `c` ON (`a`.`Nombre` = `c`.`Modulo`)\
953
956
  WHERE `a`.`Estado` = 'Activo' AND `a`.`Padre` = ? AND `b`.`PermisoId` IN (?)\
954
- ORDER BY FIELD(a.Nombre, " + ModulosFavoritos + ") DESC, a.Nombre", [Padre, Permisos.map(p => p.PermisoId)]);
957
+ ORDER BY FIELD(a.Nombre, " + ModulosFavoritos + ") DESC, a.Nombre", [Permisos.map(p => p.PermisoId), Padre, Permisos.map(p => p.PermisoId)]);
955
958
  return Modulos.map((linea) => {
956
959
  linea.Enlace = this.generarEnlace(linea.Frontend);
957
960
  return linea;
@@ -2497,7 +2500,7 @@ class Miscelaneo {
2497
2500
 
2498
2501
  async obtenerTarjetas() {
2499
2502
  const resultados = await ejecutarConsultaSIGU(
2500
- "SELECT `Datos` FROM `SIGU`.`ModulosV2Tarjetas` WHERE `Modulo` = ? AND JSON_EXTRACT(`Datos`, '$.Activa') = TRUE",
2503
+ "SELECT `Datos` FROM `SIGU`.`SIGU_ModulosV2Tarjetas` WHERE `Modulo` = ? AND JSON_EXTRACT(`Datos`, '$.Activa') = TRUE",
2501
2504
  [this.NombreCanonicoDelModulo]
2502
2505
  );
2503
2506
  return resultados.map(fila => typeof fila.Datos === 'string' ? JSON.parse(fila.Datos) : fila.Datos);
@@ -65,6 +65,7 @@
65
65
  } -->
66
66
  <div class="contenido">
67
67
  @if(TienePermiso){
68
+ @if(Descripcion !== '' && Descripcion !== '-') {
68
69
  <div class="cabecera2">
69
70
  <div class="cabecera2-info">
70
71
  <p class="titulo2">{{ Descripcion }}</p>
@@ -84,6 +85,7 @@
84
85
  </div>
85
86
  }
86
87
  </div>
88
+ }
87
89
  <ng-content><router-outlet /></ng-content>
88
90
  }@else{
89
91
  <h3>No tiene permisos para consultar este módulo</h3>