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
|
// Validamos que el usuario pertenezca a la institución de la información que solicita
|
||||||
if (!institucionUsuario)
|
if (!institucionUsuario)
|
||||||
throw new ForbiddenException(
|
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);
|
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
|
// Validamos que el usuario pertenezca a la institución de la información que solicita
|
||||||
if (!institucionUsuario)
|
if (!institucionUsuario)
|
||||||
throw new ForbiddenException(
|
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);
|
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(
|
findFullInfoAllByIdUsuarioIdInstitucion(
|
||||||
usuario: Usuario,
|
usuario: Usuario,
|
||||||
institucion: Institucion,
|
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(
|
findFullInfoByIdUsuarioIdInstitucionCarrera(
|
||||||
usuario: Usuario,
|
usuario: Usuario,
|
||||||
institucionCarrera: InstitucionCarrera,
|
institucionCarrera: InstitucionCarrera,
|
||||||
|
@ -91,7 +91,7 @@ export class PrestamoService {
|
|||||||
prestamo.operadorRegreso = operadorRegreso;
|
prestamo.operadorRegreso = operadorRegreso;
|
||||||
// Validamos que el equipo si se la haya asignado al usuario del registro
|
// Validamos que el equipo si se la haya asignado al usuario del registro
|
||||||
if (prestamo.equipo.u === prestamo.usuario.id_usuario) {
|
if (prestamo.equipo.u === prestamo.usuario.id_usuario) {
|
||||||
// Reseteamos datos de equipo
|
// Reseteamos datos del equipo
|
||||||
prestamo.equipo.u = null;
|
prestamo.equipo.u = null;
|
||||||
prestamo.equipo.status.id_status = 6;
|
prestamo.equipo.status.id_status = 6;
|
||||||
// Guardamos cambios en el equipo
|
// Guardamos cambios en el equipo
|
||||||
@ -125,7 +125,12 @@ export class PrestamoService {
|
|||||||
throw new ConflictException(
|
throw new ConflictException(
|
||||||
'No puedes cancelar este préstamo una vez que se te entregó el equipo.',
|
'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.u = null;
|
||||||
prestamo.equipo.status.id_status = 1;
|
prestamo.equipo.status.id_status = 1;
|
||||||
// Guardamos cambios en el equipo
|
// Guardamos cambios en el equipo
|
||||||
@ -283,6 +288,11 @@ export class PrestamoService {
|
|||||||
throw new ConflictException(
|
throw new ConflictException(
|
||||||
'Ya se entregó el equipo de cómputo al usuario.',
|
'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)
|
if (prestamo.usuario.id_usuario != prestamo.equipo.u)
|
||||||
throw new ConflictException(
|
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.',
|
'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 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(
|
const semanasCastigo = Math.trunc(
|
||||||
tardanza / modulo.institucion.tiempo_entrega,
|
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.validacionBasicaPrestamo(prestamo);
|
||||||
this.validacionOperadorPrestamo(prestamo, operadorRegreso, modulo);
|
this.validacionOperadorPrestamo(prestamo, operadorRegreso, modulo);
|
||||||
@ -722,6 +732,12 @@ export class PrestamoService {
|
|||||||
throw new ConflictException(
|
throw new ConflictException(
|
||||||
'Aún no se ha entregado el equipo de cómputo al usuario.',
|
'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)
|
if (id_institucion_infraccion && !descripcion)
|
||||||
throw new ConflictException(
|
throw new ConflictException(
|
||||||
'No se mandó la descripción para el reporte de incidencia.',
|
'No se mandó la descripción para el reporte de incidencia.',
|
||||||
@ -730,14 +746,14 @@ export class PrestamoService {
|
|||||||
prestamo.activo = false;
|
prestamo.activo = false;
|
||||||
prestamo.fecha_entrega = ahora.toDate();
|
prestamo.fecha_entrega = ahora.toDate();
|
||||||
prestamo.operadorRegreso = operadorRegreso;
|
prestamo.operadorRegreso = operadorRegreso;
|
||||||
// Reseteamos datos de equipo
|
// Reseteamos datos del equipo
|
||||||
prestamo.equipo.u = null;
|
prestamo.equipo.u = null;
|
||||||
prestamo.equipo.status = status;
|
prestamo.equipo.status = status;
|
||||||
// Si semanasCastigo es mayor a 0 significa que hay multa por atraso
|
// Si semanasCastigo es mayor a 0 significa que hay multa por atraso
|
||||||
if (semanasCastigo > 0) {
|
if (semanasCastigo > 0) {
|
||||||
const mensajeTardanza = `El usuario se tardó: ${tardanza} minutos en entregar el equipo de cómputo.`;
|
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)
|
if (id_institucion_infraccion)
|
||||||
await this.multaService.create(
|
await this.multaService.create(
|
||||||
operadorRegreso,
|
operadorRegreso,
|
||||||
|
@ -15,7 +15,7 @@ export class StatusService {
|
|||||||
|
|
||||||
findById(id_status: number) {
|
findById(id_status: number) {
|
||||||
return this.repository.findOne({ where: { id_status } }).then((status) => {
|
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;
|
return status;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -132,6 +132,28 @@ export class UsuarioService {
|
|||||||
return query.getManyAndCount();
|
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> {
|
findFullInfoByUsuario(operador: Operador, usuario: string): Promise<Usuario> {
|
||||||
return this.fullInformacionUsuarioView
|
return this.fullInformacionUsuarioView
|
||||||
.findOne({ where: { usuario } })
|
.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(
|
passwordReset(
|
||||||
operador: Operador,
|
operador: Operador,
|
||||||
id_usuario: number,
|
id_usuario: number,
|
||||||
|
Loading…
Reference in New Issue
Block a user