Skip to content

HUDS (Fix) - Error creando/enviando archivo +15mb#2198

Open
negro89 wants to merge 5 commits into
masterfrom
HUDS-184
Open

HUDS (Fix) - Error creando/enviando archivo +15mb#2198
negro89 wants to merge 5 commits into
masterfrom
HUDS-184

Conversation

@negro89
Copy link
Copy Markdown
Contributor

@negro89 negro89 commented Mar 9, 2026

Requerimiento

https://proyectos.andes.gob.ar/browse/HUDS-184

Funcionalidad desarrollada

  1. Reemplaza la antigua librería html-pdf por puppeteer
  2. Agrega el uso de p_limit para limitar la concurrencia en la generación de gran cantidad de pdfs en la exportacion de la huds
  3. Los cambios anteriores implican el uso de un buffer para evitar usar disco, por lo tanto se adaptó un poco la clase "informe" y los endpoints del archivo "descarga" que la llamaban
  4. Agrega soporte para impresion de CDAs

IMPORTANTE: Es importante probar todas las pantallas desde donde se descargan pdfs y envian mails. Dejar comentado aquellos que haya que ajustar 🙏🏼

UserStories llegó a completarse

  • Si
  • No

Requiere actualizaciones en la base de datos

  • Si
  • No

GLPI RELACIONADO: https://glpi.andes.gob.ar/front/ticket.form.php?id=5081

@negro89 negro89 requested review from a team as code owners March 9, 2026 21:07
@negro89 negro89 force-pushed the HUDS-184 branch 4 times, most recently from 71d5e3e to 7f7d161 Compare March 10, 2026 18:46
@negro89 negro89 force-pushed the HUDS-184 branch 2 times, most recently from d5764a5 to 74d4a46 Compare March 11, 2026 16:49
@nicolasarana
Copy link
Copy Markdown
Contributor

nicolasarana commented Apr 22, 2026

Error exportando la huds , el archivo zip tiene el contenido y pesa 500 kb pero al momento de descargar esta con error el pdf con 0 bytes
image

  • Desde RUP se puede descargar el pdf con imagenes que superan los 15 mb sin problema
  • Desde Facturación (normalizadas) e puede descargar el pdf con imagenes que superan los 15 mb sin problema ( el ejemplo son 3 imagenes que superan los 50 mb)
  • Desde estadística .. censo diario y mensual sin problema y rápido

@github-actions github-actions Bot added the has_conflicts Tiene conlfictos label May 5, 2026
@nicolasarana
Copy link
Copy Markdown
Contributor

Se volvio a probar luego del nuevo commit :

  • Ya funciona todo ok, pdf muy pesados con imagenes de mas de 30 mb tarda 11 segundos
  • Se tarda el mismo tiempo en descargar desde exportar huds que desde el huds directo
  • Pdf "normales" en menos de un segundo descargan bien.

Copy link
Copy Markdown
Contributor Author

@negro89 negro89 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nico, la idea general esta bien pero dejo algunas observaciones en base al ultimo commit


// ruta para verificar si existe historial antes de generar el zip
ExportHudsRouter.post('/export/check-history', async (req: any, res, next) => {
const { checkHistory } = require('./exportHuds.controller');
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

este tipo de importaciones no solemos hacerlas; por convencion preferimos importaciones "estaticas" al principio del archivo. Ademas el uso de require imports está desaconsejado desde angular 10 ya que penaliza la optimización 😅

}

// Verifica si hay historial antes de generar el zip
export async function checkHistory(params) {
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

es por acá el camino, pero hay mucho codigo repetido con el createFile. Lo ideal sería modularizar el bloque de busqueda de createFile para poder llamarlo desde ambos métodos.
Tener en cuenta el comentario de la linea 78, si no se hace de esa forma no va a levantar nunca un cda.

query['solicitud.organizacion.id'] = organizacion;
}

const countPrestaciones = await Prestacion.countDocuments(query);
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

la idea era usar findOne o exists que son mas eficientes ya que que tanto el coundDocument como el count primero recorren toda la coleccion buscando el total de los resultados y despues encima realizan el conteo. Mientras los primeros apenas encuentran un match cortan la ejecución y retornan el documento o un bool respectivamente.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

has_conflicts Tiene conlfictos

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants