correcciones
This commit is contained in:
parent
f0f3b7d3dc
commit
c36c9c0925
@ -114,7 +114,7 @@ export class CarreraProgramaService {
|
||||
// Validamos que el usuario pertenezca a la institución de la información que solicita
|
||||
if (!institucionUsuario)
|
||||
throw new ForbiddenException(
|
||||
'No puedes acceder a esta información porque no le pertenece a tu institución.',
|
||||
'No puedes acceder a esta información porque no peteneces a esta institución.',
|
||||
);
|
||||
return this.findAllByInstitucion(institucion);
|
||||
});
|
||||
|
@ -74,7 +74,7 @@ export class InstitucionDiaService {
|
||||
// Validamos que el usuario pertenezca a la institución de la información que solicita
|
||||
if (!institucionUsuario)
|
||||
throw new ForbiddenException(
|
||||
'No puedes acceder a esta información porque no le pertenece a tu institución.',
|
||||
'No puedes acceder a esta información porque no peteneces a esta institución.',
|
||||
);
|
||||
return this.hoy(institucion);
|
||||
});
|
||||
|
@ -115,6 +115,31 @@ export class InstitucionUsuarioService {
|
||||
);
|
||||
}
|
||||
|
||||
findFullInfoAllByIdUsuario(
|
||||
usuario: Usuario,
|
||||
activosSinMulta = true,
|
||||
): Promise<InstitucionUsuario[]> {
|
||||
const busqueda: FindOptionsWhere<FullInformacionInstitucionUsuarioView> = {
|
||||
id_usuario: usuario.id_usuario,
|
||||
};
|
||||
|
||||
if (activosSinMulta) {
|
||||
busqueda.activo = 1;
|
||||
busqueda.multa = 0;
|
||||
}
|
||||
return this.fullInformacionInstitucionUsuarioView
|
||||
.find({ where: busqueda })
|
||||
.then((infoInstitucionesUsuario) => {
|
||||
const institucionesUsuario: InstitucionUsuario[] = [];
|
||||
|
||||
for (let i = 0; i < infoInstitucionesUsuario.length; i++)
|
||||
institucionesUsuario.push(
|
||||
this.fullViewToInstitucionUsuario(infoInstitucionesUsuario[i]),
|
||||
);
|
||||
return institucionesUsuario;
|
||||
});
|
||||
}
|
||||
|
||||
findFullInfoAllByIdUsuarioIdInstitucion(
|
||||
usuario: Usuario,
|
||||
institucion: Institucion,
|
||||
@ -142,31 +167,6 @@ export class InstitucionUsuarioService {
|
||||
});
|
||||
}
|
||||
|
||||
findFullInfoAllByIdUsuario(
|
||||
usuario: Usuario,
|
||||
activosSinMulta = true,
|
||||
): Promise<InstitucionUsuario[]> {
|
||||
const busqueda: FindOptionsWhere<FullInformacionInstitucionUsuarioView> = {
|
||||
id_usuario: usuario.id_usuario,
|
||||
};
|
||||
|
||||
if (activosSinMulta) {
|
||||
busqueda.activo = 1;
|
||||
busqueda.multa = 0;
|
||||
}
|
||||
return this.fullInformacionInstitucionUsuarioView
|
||||
.find({ where: busqueda })
|
||||
.then((infoInstitucionesUsuario) => {
|
||||
const institucionesUsuario: InstitucionUsuario[] = [];
|
||||
|
||||
for (let i = 0; i < infoInstitucionesUsuario.length; i++)
|
||||
institucionesUsuario.push(
|
||||
this.fullViewToInstitucionUsuario(infoInstitucionesUsuario[i]),
|
||||
);
|
||||
return institucionesUsuario;
|
||||
});
|
||||
}
|
||||
|
||||
findFullInfoByIdUsuarioIdInstitucionCarrera(
|
||||
usuario: Usuario,
|
||||
institucionCarrera: InstitucionCarrera,
|
||||
|
@ -91,7 +91,7 @@ export class PrestamoService {
|
||||
prestamo.operadorRegreso = operadorRegreso;
|
||||
// Validamos que el equipo si se la haya asignado al usuario del registro
|
||||
if (prestamo.equipo.u === prestamo.usuario.id_usuario) {
|
||||
// Reseteamos datos de equipo
|
||||
// Reseteamos datos del equipo
|
||||
prestamo.equipo.u = null;
|
||||
prestamo.equipo.status.id_status = 6;
|
||||
// Guardamos cambios en el equipo
|
||||
@ -125,7 +125,12 @@ export class PrestamoService {
|
||||
throw new ConflictException(
|
||||
'No puedes cancelar este préstamo una vez que se te entregó el equipo.',
|
||||
);
|
||||
// Reseteamos datos de equipo
|
||||
// Solo se puede cancelar si esta en status apartado
|
||||
if (prestamo.equipo.status.id_status != 2)
|
||||
throw new ConflictException(
|
||||
'Hubo un error, comunicate con los desarrolladores.',
|
||||
);
|
||||
// Reseteamos datos del equipo
|
||||
prestamo.equipo.u = null;
|
||||
prestamo.equipo.status.id_status = 1;
|
||||
// Guardamos cambios en el equipo
|
||||
@ -283,6 +288,11 @@ export class PrestamoService {
|
||||
throw new ConflictException(
|
||||
'Ya se entregó el equipo de cómputo al usuario.',
|
||||
);
|
||||
// Solo se puede entregar si esta en status apartado
|
||||
if (prestamo.equipo.status.id_status != 2)
|
||||
throw new ConflictException(
|
||||
'Hubo un error, comunicate con los desarrolladores.',
|
||||
);
|
||||
if (prestamo.usuario.id_usuario != prestamo.equipo.u)
|
||||
throw new ConflictException(
|
||||
'Este equipo fue asignado más de una vez y este es el préstamo incorrecto, espere unos segundos y se desactivará este préstamo o tanto el usario como el opeardor pueden cancelarlo manualmente.',
|
||||
@ -713,7 +723,7 @@ export class PrestamoService {
|
||||
const tardanza = Math.trunc(ahora.diff(moment(prestamo.hora_fin)) / 60000); // Si la resta ahora - hora_fin es positiva es que ya se tardo en entregar
|
||||
const semanasCastigo = Math.trunc(
|
||||
tardanza / modulo.institucion.tiempo_entrega,
|
||||
); // Semanas de castigo correspondiente al tiempo de tardanza de cada institución
|
||||
); // Semanas de castigo correspondiente al tiempo de entrega de cada institución
|
||||
|
||||
this.validacionBasicaPrestamo(prestamo);
|
||||
this.validacionOperadorPrestamo(prestamo, operadorRegreso, modulo);
|
||||
@ -722,6 +732,12 @@ export class PrestamoService {
|
||||
throw new ConflictException(
|
||||
'Aún no se ha entregado el equipo de cómputo al usuario.',
|
||||
);
|
||||
// Solo se puede regresar si esta en status apartado
|
||||
if (prestamo.equipo.status.id_status != 3)
|
||||
throw new ConflictException(
|
||||
'Hubo un error, comunicate con los desarrolladores.',
|
||||
);
|
||||
// Validamos que se mande la descripción si es que se manda una infracción
|
||||
if (id_institucion_infraccion && !descripcion)
|
||||
throw new ConflictException(
|
||||
'No se mandó la descripción para el reporte de incidencia.',
|
||||
@ -730,14 +746,14 @@ export class PrestamoService {
|
||||
prestamo.activo = false;
|
||||
prestamo.fecha_entrega = ahora.toDate();
|
||||
prestamo.operadorRegreso = operadorRegreso;
|
||||
// Reseteamos datos de equipo
|
||||
// Reseteamos datos del equipo
|
||||
prestamo.equipo.u = null;
|
||||
prestamo.equipo.status = status;
|
||||
// Si semanasCastigo es mayor a 0 significa que hay multa por atraso
|
||||
if (semanasCastigo > 0) {
|
||||
const mensajeTardanza = `El usuario se tardó: ${tardanza} minutos en entregar el equipo de cómputo.`;
|
||||
|
||||
// Si se mando id_institucion_infraccion significa que ademas de entregar tarde cometió una infracción
|
||||
// Si se mando id_institucion_infraccion significa que ademas de entregar tarde, cometió una infracción
|
||||
if (id_institucion_infraccion)
|
||||
await this.multaService.create(
|
||||
operadorRegreso,
|
||||
|
@ -15,7 +15,7 @@ export class StatusService {
|
||||
|
||||
findById(id_status: number) {
|
||||
return this.repository.findOne({ where: { id_status } }).then((status) => {
|
||||
if (!status) throw new NotFoundException('No existe este status.');
|
||||
if (!status) throw new NotFoundException('No existe este id status.');
|
||||
return status;
|
||||
});
|
||||
}
|
||||
|
@ -132,6 +132,28 @@ export class UsuarioService {
|
||||
return query.getManyAndCount();
|
||||
}
|
||||
|
||||
findById(id_usuario: number): Promise<Usuario> {
|
||||
return this.repository
|
||||
.findOne({
|
||||
select: ['id_usuario', 'correo', 'password', 'usuario'],
|
||||
where: { id_usuario },
|
||||
})
|
||||
.then((usuario) => {
|
||||
if (!usuario) throw new NotFoundException('No existe este usuario.');
|
||||
return usuario;
|
||||
});
|
||||
}
|
||||
|
||||
findByUsuario(usuario: string, rfc?: string): Promise<Usuario> {
|
||||
const busqueda: FindOptionsWhere<Usuario> = { usuario };
|
||||
|
||||
if (rfc) busqueda.rfc = rfc;
|
||||
return this.repository.findOne({
|
||||
select: ['id_usuario', 'correo', 'nombre', 'password', 'usuario'],
|
||||
where: busqueda,
|
||||
});
|
||||
}
|
||||
|
||||
findFullInfoByUsuario(operador: Operador, usuario: string): Promise<Usuario> {
|
||||
return this.fullInformacionUsuarioView
|
||||
.findOne({ where: { usuario } })
|
||||
@ -161,28 +183,6 @@ export class UsuarioService {
|
||||
});
|
||||
}
|
||||
|
||||
findById(id_usuario: number): Promise<Usuario> {
|
||||
return this.repository
|
||||
.findOne({
|
||||
select: ['id_usuario', 'correo', 'password', 'usuario'],
|
||||
where: { id_usuario },
|
||||
})
|
||||
.then((usuario) => {
|
||||
if (!usuario) throw new NotFoundException('No existe este usuario.');
|
||||
return usuario;
|
||||
});
|
||||
}
|
||||
|
||||
findByUsuario(usuario: string, rfc?: string): Promise<Usuario> {
|
||||
const busqueda: FindOptionsWhere<Usuario> = { usuario };
|
||||
|
||||
if (rfc) busqueda.rfc = rfc;
|
||||
return this.repository.findOne({
|
||||
select: ['id_usuario', 'correo', 'nombre', 'password', 'usuario'],
|
||||
where: busqueda,
|
||||
});
|
||||
}
|
||||
|
||||
passwordReset(
|
||||
operador: Operador,
|
||||
id_usuario: number,
|
||||
|
Loading…
Reference in New Issue
Block a user