Se agregarò envìo de correos

This commit is contained in:
2025-09-05 11:05:30 -06:00
parent 784b8b1205
commit d9550f1bf1
6 changed files with 142 additions and 39 deletions
+38 -18
View File
@@ -41,10 +41,25 @@ export class ExcelController {
html: `<p>La carga de datos se ha realizado con éxito ${alta} </p>`,
});
await this.excelService.enviarCargaMasiva();
if(alta.at){
await this.excelService.enviarInforme('AT',"Carga Individual de datos en Servicios PCpuma",
`Se ha hecho una carga individual en el sistema`)
}
if(alta.red){
await this.excelService.enviarInforme('RED',"Carga Individual de datos en Servicios PCpuma",
`Se ha hecho una carga individual en el sistema`)
}
if(alta.solicita){
await this.excelService.enviarInforme('SOLICITA',"Carga Individual de datos en Servicios PCpuma",
`Se ha hecho una carga individual en el sistema` )
}
if(alta.correo){
await this.excelService.enviarInforme('CORREO',"Carga Individual de datos en Servicios PCpuma",
`Se ha hecho una carga individual en el sistema`)
}
}
@@ -121,24 +136,29 @@ export class ExcelController {
<ul>${result.errors.map(error => `<li>${error}</li>`).join('')}</ul>`,
});
await this.excelService.enviarCargaMasiva();
// await this.excelService.enviarCargaMasiva();
if(result.conteoTiposAt>0){
await this.excelService.enviarInforme('AT',"Carga de datos en Servicios PCpuma",
`Se ha hecho una carga en el sistema \n ${result.conteoTiposAt}`
)
await this.excelService.enviarInforme('AT',"Carga de datos en Servicios PCpuma",
`Se ha hecho una carga en el sistema de \n ${result.conteoTiposAt} usarios`)
}
if(result.conteoTiposRed>0){
await this.excelService.enviarInforme('RED',"Carga de datos en Servicios PCpuma",
`Se ha hecho una carga en el sistema \n ${result.conteoTiposRed} usarios`)
}
await this.excelService.enviarInforme('RED',"Carga de datos en Servicios PCpuma",
`Se ha hecho una carga en el sistema \n ${result.conteoTiposRed}`
)
await this.excelService.enviarInforme('SOLICITA',"Carga de datos en Servicios PCpuma",
`Se ha hecho una carga en el sistema \n ${result.conteoTiposCorreo}`
)
await this.excelService.enviarInforme('CORREO',"Carga de datos en Servicios PCpuma",
`Se ha hecho una carga en el sistema \n ${result.conteoTiposCorreo}`
)
if(result.conteoTiposSolicita>0){
await this.excelService.enviarInforme('SOLICITA',"Carga de datos en Servicios PCpuma",
`Se ha hecho una carga en el sistema \n ${result.conteoTiposSolicita} usarios` )
}
if(result.conteoTiposCorreo>0){
await this.excelService.enviarInforme('CORREO',"Carga de datos en Servicios PCpuma",
`Se ha hecho una carga en el sistema \n ${result.conteoTiposCorreo} usarios`)
}
+20 -18
View File
@@ -209,10 +209,10 @@ export class ExcelService {
);
}
const conteoTiposRed: Record<string, number> = {};
const conteoTiposAt: Record<string, number> = {};
const conteoTiposSolicita: Record<string, number> = {};
const conteoTiposCorreo: Record<string, number> = {};
let conteoTiposRed: number=0;
let conteoTiposAt: number=0;
let conteoTiposSolicita: number=0;
let conteoTiposCorreo: number=0;
const queryRunner = this.dataSource.createQueryRunner();
await queryRunner.connect();
@@ -361,24 +361,24 @@ export class ExcelService {
switch (r.tipo.trim()) {
case 'Diplomado':
Object.assign(servData, { Correo: true });
conteoTiposCorreo[r.tipo] = (conteoTiposCorreo[r.tipo] ?? 0) + 1;
conteoTiposCorreo++;
break;
case 'Extra Largo':
Object.assign(servData, { Correo: true, Prestamos: true });
conteoTiposCorreo[r.tipo] = (conteoTiposCorreo[r.tipo] ?? 0) + 1;
conteoTiposSolicita[r.tipo] = (conteoTiposSolicita[r.tipo] ?? 0) + 1;
conteoTiposCorreo++;
conteoTiposSolicita++;
break;
case 'Servicio Social':
Object.assign(servData, { Correo: true, AT: true, Red: true });
conteoTiposCorreo[r.tipo] = (conteoTiposCorreo[r.tipo] ?? 0) + 1;
conteoTiposAt[r.tipo] = (conteoTiposAt[r.tipo] ?? 0) + 1;
conteoTiposRed[r.tipo] = (conteoTiposRed[r.tipo] ?? 0) + 1;
conteoTiposCorreo++;
conteoTiposAt++;
conteoTiposRed++;
break;
case 'Idiomas R (UNAM)':
case 'Idiomas Sabatino':
Object.assign(servData, { Correo: true, Red: true });
conteoTiposCorreo[r.tipo] = (conteoTiposCorreo[r.tipo] ?? 0) + 1;
conteoTiposRed[r.tipo] = (conteoTiposRed[r.tipo] ?? 0) + 1;
conteoTiposCorreo++;
conteoTiposRed++;
break;
case 'Reinscrito':
case 'Posgrado':
@@ -393,14 +393,14 @@ export class ExcelService {
Red: true,
Prestamos: true,
});
conteoTiposCorreo[r.tipo] = (conteoTiposCorreo[r.tipo] ?? 0) + 1;
conteoTiposRed[r.tipo] = (conteoTiposRed[r.tipo] ?? 0) + 1;
conteoTiposAt[r.tipo] = (conteoTiposAt[r.tipo] ?? 0) + 1;
conteoTiposSolicita[r.tipo] = (conteoTiposSolicita[r.tipo] ?? 0) + 1;
conteoTiposCorreo++;
conteoTiposRed++;
conteoTiposAt++;
conteoTiposSolicita++;
break;
case 'Trabajadores':
Object.assign(servData, { Red: true });
conteoTiposRed[r.tipo] = (conteoTiposRed[r.tipo] ?? 0) + 1;
conteoTiposRed++;
break;
}
@@ -418,6 +418,7 @@ export class ExcelService {
await queryRunner.manager.save(serviciosActivos);
await queryRunner.commitTransaction();
return {
inserted: rows.length - contador,
@@ -579,6 +580,7 @@ export class ExcelService {
],
});
const header = [
'num_cuenta', 'nombre', 'a_paterno', 'a_materno',
'carreras', 'rfc', 'tipos_usuario'
@@ -605,7 +607,7 @@ export class ExcelService {
}).join('\n');
const tablaCompleta = header + rows;
console.log("rows:",rows)
return tablaCompleta;
}