diff --git a/src/excel/excel.service.ts b/src/excel/excel.service.ts index db8ab59..05e156c 100644 --- a/src/excel/excel.service.ts +++ b/src/excel/excel.service.ts @@ -417,46 +417,49 @@ export class ExcelService { }, }, servActivo: { - CorreoStatus: 'Inactivo', // solo los que no tienen servicio activo - Correo: true, // solo los que tienen el servicio de correo activo - } + CorreoStatus: 'Inactivo', + Correo: true, + }, }, relations: [ 'genero', - 'carreraUsuarios', // relación intermedia - 'carreraUsuarios.carrera', // carrera asociada a través de la intermedia + 'carreraUsuarios', + 'carreraUsuarios.carrera', + 'usuarioTipos', + 'usuarioTipos.tipoUsuario', ], - }); - - - const header = [ 'num_cuenta', 'nombre', 'a_paterno', 'a_materno', - 'carreras', 'rfc', 'fecha_nacimiento', 'generacion' + 'carreras', 'rfc', 'fecha_nacimiento', 'generacion', 'tipos_usuario' ].join(',') + '\n'; const rows = usuarios.map(u => { const carreras = (u.carreraUsuarios ?? []) - .map(cu => cu.carrera?.carrera ?? '') // obtenemos solo el nombre - .join(', '); // une todas las carreras en un solo string + .map(cu => cu.carrera?.carrera ?? '') + .join(' | '); + + const tiposUsuario = (u.usuarioTipos ?? []) + .map(utu => utu.tipoUsuario?.tipo_usuario ?? '') + .join(' | '); return [ u.num_cuenta ?? '', u.nombre ?? '', u.a_paterno ?? '', u.a_materno ?? '', - carreras ?? '', + carreras, u.rfc ?? '', u.fecha_nacimiento ?? '', - u.generacion?.toString() ?? '' + u.generacion?.toString() ?? '', + tiposUsuario ].join(','); }).join('\n'); const tablaCompleta = header + rows; - return tablaCompleta; + } async generateCsvSolicita(): Promise { @@ -491,38 +494,24 @@ export class ExcelService { 'genero', 'carreraUsuarios', // relación intermedia 'carreraUsuarios.carrera', // carrera asociada a través de la intermedia + 'usuarioTipos', + 'usuarioTipos.tipoUsuario', ], }); - - const usuariosTipo = await this.usuarioRepo.find({ - - relations: [ - 'genero', - 'carreraUsuarios', // relación intermedia - 'carreraUsuarios.carrera', - 'usuarioTipos', // relación con tipo de usuario - 'usuarioTipos.tipoUsuario', // tipo de usuario asociado - ], - - }); - - console.log('Usuarios encontrados:', usuariosTipo); - - console.log('Usuarios encontrados:', usuarios); - - - - const header = [ 'num_cuenta', 'nombre', 'a_paterno', 'a_materno', - 'carreras', 'rfc' + 'carreras', 'rfc', 'tipos_usuario' ].join(',') + '\n'; const rows = usuarios.map(u => { const carreras = (u.carreraUsuarios ?? []) .map(cu => cu.carrera?.carrera ?? '') // obtenemos solo el nombre - .join(', '); // une todas las carreras en un solo string + .join(' | '); // une todas las carreras en un solo string + + const tiposUsuario = (u.usuarioTipos ?? []) + .map(utu => utu.tipoUsuario?.tipo_usuario ?? '') + .join(' | '); // une todos los tipos de usuario en un solo string return [ u.num_cuenta ?? '', @@ -531,6 +520,7 @@ export class ExcelService { u.a_materno ?? '', carreras ?? '', u.rfc ?? '', + tiposUsuario ].join(','); }).join('\n'); @@ -573,6 +563,7 @@ export class ExcelService { 'genero', 'carreraUsuarios', // relación intermedia 'carreraUsuarios.carrera', // carrera asociada a través de la intermedia + ], }); @@ -628,6 +619,8 @@ export class ExcelService { 'genero', 'carreraUsuarios', // relación intermedia 'carreraUsuarios.carrera', // carrera asociada a través de la intermedia + 'usuarioTipos', + 'usuarioTipos.tipoUsuario', ], }); @@ -637,13 +630,17 @@ export class ExcelService { const header = [ 'num_cuenta', 'nombre', 'a_paterno', 'a_materno', - 'carreras', 'fecha_nacimiento', 'generacion' + 'carreras', 'fecha_nacimiento', 'generacion', 'tipos_usuario' ].join(',') + '\n'; const rows = usuarios.map(u => { const carreras = (u.carreraUsuarios ?? []) .map(cu => cu.carrera?.carrera ?? '') // obtenemos solo el nombre - .join(','); // une todas las carreras en un solo string + .join(' | '); // une todas las carreras en un solo string + + const tiposUsuario = (u.usuarioTipos ?? []) + .map(utu => utu.tipoUsuario?.tipo_usuario ?? '') + .join(' | '); // une todos los tipos de usuario en un solo string return [ u.num_cuenta ?? '', @@ -652,7 +649,8 @@ export class ExcelService { u.a_materno ?? '', carreras ?? '', u.fecha_nacimiento ?? '', - u.generacion?.toString() ?? '' + u.generacion?.toString() ?? '', + tiposUsuario ].join(','); }).join('\n'); diff --git a/src/usuarios/usuarios.service.ts b/src/usuarios/usuarios.service.ts index 996e270..9d6583d 100644 --- a/src/usuarios/usuarios.service.ts +++ b/src/usuarios/usuarios.service.ts @@ -106,7 +106,7 @@ export class UsuariosService { - return { resultado, usuario: usuario.num_cuenta }; + return { resultado, usuario: usuario.nombre }; }