Se agregarò envìo de correos
This commit is contained in:
@@ -9,9 +9,27 @@ import { SetPasswordDto } from './dto/createPassword.dto';
|
||||
import { Response } from 'express';
|
||||
import { WhiteDto } from './dto/whiteList.dto';
|
||||
|
||||
interface Update{
|
||||
id:string;
|
||||
nombreNuevo:string;
|
||||
|
||||
}
|
||||
|
||||
@Controller()
|
||||
export class AuthController {
|
||||
constructor(private readonly authService: AuthService) { }
|
||||
//Comentar en producciòn
|
||||
|
||||
@Post('update')
|
||||
async update(@Body() user:Update) {
|
||||
return this.authService.updateCorreo(user.id,user.nombreNuevo);
|
||||
}
|
||||
|
||||
@Get('findAll')
|
||||
async findAll(){
|
||||
this.authService.all()
|
||||
|
||||
}
|
||||
|
||||
@Post('login')
|
||||
@AuthDocumentation.login()
|
||||
|
||||
@@ -41,8 +41,23 @@ export class AuthService {
|
||||
};
|
||||
}
|
||||
|
||||
async updateCorreo(id:string, nombreNuevo:string){
|
||||
console.log("id: ", id, "nombre: ", nombreNuevo)
|
||||
const usuarios=await this.userRepo.findOne({where:{id_usuario:id}})
|
||||
console.log(usuarios)
|
||||
if(!usuarios){throw new Error("usuaro no existe")}
|
||||
usuarios.correo=nombreNuevo;
|
||||
|
||||
return await this.userRepo.save(usuarios);
|
||||
}
|
||||
|
||||
|
||||
async all(){
|
||||
|
||||
const usuarios=await this.userRepo.find()
|
||||
console.log(usuarios)
|
||||
|
||||
}
|
||||
|
||||
async register(dto: RegisterDto) {
|
||||
// 1) Verificar duplicado
|
||||
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,11 @@ export class UsuariosController {
|
||||
finsdAll() {
|
||||
return this.usuariosService.enviarSolicitud();
|
||||
}
|
||||
@Get("mov/:move")
|
||||
findByMov(@Param('move') move:number){
|
||||
return this.usuariosService.findByMov(move);
|
||||
}
|
||||
|
||||
|
||||
@Get(':noCuenta')
|
||||
findOne(@Param('noCuenta') noCuenta: string) {
|
||||
|
||||
@@ -43,6 +43,33 @@ export class UsuariosService {
|
||||
return 'This action adds a new usuario';
|
||||
}
|
||||
|
||||
|
||||
|
||||
async findByMov(id:number){
|
||||
const usuarios = await this.usuarioRepository.find({
|
||||
where: {
|
||||
//movimiento:{id_mov:id},
|
||||
|
||||
servActivo: {
|
||||
PrestamosStatus: 'Inactivo', // solo los que no tienen servicio activo
|
||||
Prestamos: true, // solo los que tienen el servicio de préstamos activo
|
||||
}
|
||||
|
||||
},
|
||||
relations: [
|
||||
'usuarioTipos',
|
||||
'usuarioTipos.tipoUsuario',
|
||||
'servActivo'
|
||||
],
|
||||
|
||||
});
|
||||
if(!usuarios)throw new Error("No existe suauarios relacionados a ese movimiento");
|
||||
return usuarios;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
async findOneStatus(noCuenta: string) {
|
||||
const usuario = await this.usuarioRepository.findOne({
|
||||
where: { num_cuenta: noCuenta },
|
||||
@@ -434,6 +461,7 @@ export class UsuariosService {
|
||||
|
||||
|
||||
async cargaIndividual(usuario: CreateUsuarioDto, origen: string) {
|
||||
console.log('Iniciando carga individual para usuario:', usuario);
|
||||
const queryRunner = this.usuarioRepository.manager.connection.createQueryRunner();
|
||||
await queryRunner.connect();
|
||||
await queryRunner.startTransaction();
|
||||
@@ -525,7 +553,10 @@ export class UsuariosService {
|
||||
await queryRunner.manager.save(usuarioTipo);
|
||||
|
||||
|
||||
|
||||
let at:boolean=false;
|
||||
let correo:boolean=false;
|
||||
let red:boolean=false;
|
||||
let solicita:boolean=false;
|
||||
|
||||
|
||||
switch (usuario.tipo_usuario.trim()) {
|
||||
@@ -540,8 +571,8 @@ export class UsuariosService {
|
||||
CorreoStatus: 'Inactivo',
|
||||
PrestamosStatus: 'Inactivo',
|
||||
});
|
||||
correo=true;
|
||||
await queryRunner.manager.save(servActivosDiplomado);
|
||||
|
||||
break;
|
||||
|
||||
case 'Extra Largo':
|
||||
@@ -555,6 +586,8 @@ export class UsuariosService {
|
||||
PrestamosStatus: 'Inactivo',
|
||||
|
||||
});
|
||||
solicita=true;
|
||||
correo=true;
|
||||
await queryRunner.manager.save(servActivosExtraLargo);
|
||||
break;
|
||||
|
||||
@@ -569,6 +602,9 @@ export class UsuariosService {
|
||||
CorreoStatus: 'Inactivo',
|
||||
PrestamosStatus: 'Inactivo',
|
||||
});
|
||||
at=true;
|
||||
red=true;
|
||||
correo=true;
|
||||
await queryRunner.manager.save(servActivosServicio);
|
||||
break;
|
||||
|
||||
@@ -585,6 +621,8 @@ export class UsuariosService {
|
||||
CorreoStatus: 'Inactivo',
|
||||
PrestamosStatus: 'Inactivo',
|
||||
});
|
||||
red=true;
|
||||
correo=true;
|
||||
await queryRunner.manager.save(servActivosIdiomas);
|
||||
|
||||
break;
|
||||
@@ -611,6 +649,10 @@ export class UsuariosService {
|
||||
CorreoStatus: 'Inactivo',
|
||||
PrestamosStatus: 'Inactivo',
|
||||
});
|
||||
at=true;
|
||||
red=true;
|
||||
correo=true;
|
||||
solicita=true;
|
||||
await queryRunner.manager.save(servActivos);
|
||||
|
||||
break;
|
||||
@@ -624,6 +666,7 @@ export class UsuariosService {
|
||||
RedStatus: 'Inactivo',
|
||||
|
||||
});
|
||||
red=true;
|
||||
await queryRunner.manager.save(servActivosTrabajadores);
|
||||
break;
|
||||
}
|
||||
@@ -634,7 +677,7 @@ export class UsuariosService {
|
||||
|
||||
|
||||
|
||||
return { saved: savedUser, movId: mov.id_mov };
|
||||
return { saved: savedUser, movId: mov.id_mov, at, correo, red, solicita };
|
||||
|
||||
} catch (error) {
|
||||
await queryRunner.rollbackTransaction();
|
||||
|
||||
Reference in New Issue
Block a user