listo para mañana

This commit is contained in:
xXpuma99Xx 2022-11-13 22:49:49 -06:00
parent f3cd658c47
commit 842e9f3a47
2 changed files with 46 additions and 39 deletions

View File

@ -23,6 +23,7 @@ import { Usuario } from '../../../usuario/entity/usuario.entity';
.addSelect('p.id_equipo', 'id_equipo')
.addSelect('p.id_usuario', 'id_usuario')
.addSelect('e.equipo', 'equipo')
.addSelect('e.u', 'u')
.addSelect('e.id_carrito', 'id_carrito')
.addSelect('e.id_status', 'id_status')
.addSelect('e.numero_inventario', 'numero_inventario')
@ -119,4 +120,7 @@ export class PrestamoInformacionView {
@ViewColumn()
usuario: string;
@ViewColumn()
u: number;
}

View File

@ -84,23 +84,25 @@ export class PrestamoService {
prestamo.fecha_entrega = ahora.toDate();
prestamo.cancelado_operador = true;
prestamo.operadorRegreso = operadorRegreso;
prestamo.equipo.u = null;
prestamo.equipo.status.id_status = 6;
// Guardo cambios en el equipo, y envio el motivo de cancelación
return (
this.equipoService
.updateStatus(prestamo.equipo, operadorRegreso, motivo)
// Guardo cambios del prestamo
.then((_) => this.repository.save(prestamo))
.then((_) => {
// Actualizo interfaz de usaurios
this.appGateway.actualizarUsuario(prestamo.usuario.id_usuario);
this.appGateway.actualizarOperador(
operadorRegreso.institucion.id_institucion,
);
return { message: 'Se canceló correctamente este préstamo.' };
})
);
if (prestamo.equipo.u === prestamo.usuario.id_usuario) {
prestamo.equipo.u = null;
prestamo.equipo.status.id_status = 6;
// Guardo cambios en el equipo, y envio el motivo de cancelación
await this.equipoService.updateStatus(
prestamo.equipo,
operadorRegreso,
motivo,
);
}
// Guardo cambios del prestamo
return this.repository.save(prestamo).then((_) => {
// Actualizo interfaz de usaurios
this.appGateway.actualizarUsuario(prestamo.usuario.id_usuario);
this.appGateway.actualizarOperador(
operadorRegreso.institucion.id_institucion,
);
return { message: 'Se canceló correctamente este préstamo.' };
});
}
async cancelarUsuario(usuario: Usuario) {
@ -109,27 +111,27 @@ export class PrestamoService {
this.validacionBasicaPrestamo(prestamo);
// Saco error en status de equipo 3
if (prestamo.equipo.status.id_status === 3)
throw new ConflictException(
'No puedes cancelar este préstamo una vez que se te entregó el equipo.',
);
if (prestamo.equipo.u === usuario.id_usuario) {
if (prestamo.equipo.status.id_status === 3)
throw new ConflictException(
'No puedes cancelar este préstamo una vez que se te entregó el equipo.',
);
prestamo.equipo.u = null;
prestamo.equipo.status.id_status = 1;
// Guardo cambios en el equipo
await this.equipoService.updateStatus(prestamo.equipo);
}
prestamo.activo = false;
prestamo.fecha_entrega = ahora.toDate();
prestamo.cancelado_usuario = true;
prestamo.equipo.u = null;
prestamo.equipo.status.id_status = 1;
// Guardo cambios en el equipo
return this.equipoService
.updateStatus(prestamo.equipo)
.then((_) => this.repository.save(prestamo)) // Guardo cambios del prestamo
.then((_) => {
// Actualizo interfaz de usaurios
this.appGateway.actualizarUsuario(usuario.id_usuario);
this.appGateway.actualizarOperador(
prestamo.equipo.carrito.modulo.institucion.id_institucion,
);
return { message: 'Se canceló correctamente este préstamo.' };
});
// Guardo cambios del prestamo
return this.repository.save(prestamo).then((_) => {
// Actualizo interfaz de operador
this.appGateway.actualizarOperador(
prestamo.equipo.carrito.modulo.institucion.id_institucion,
);
return { message: 'Se canceló correctamente este préstamo.' };
});
}
async create(
@ -341,6 +343,10 @@ export class PrestamoService {
throw new ConflictException(
'Ya se entregó el equipo de cómputo al usuario.',
);
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.',
);
prestamo.hora_inicio = ahora.toDate();
prestamo.hora_fin =
ahora > horaMax
@ -724,6 +730,7 @@ export class PrestamoService {
id_equipo: infoPrestamo.id_equipo,
equipo: infoPrestamo.equipo,
numero_inventario: infoPrestamo.numero_inventario,
u: infoPrestamo.u,
carrito: {
id_carrito: infoPrestamo.id_carrito,
carrito: infoPrestamo.carrito,
@ -833,10 +840,6 @@ export class PrestamoService {
);
if (id_institucion_infraccion && !descripcion)
throw new ConflictException('No se mandó la descripción de lo ocurrido.');
if (prestamo.usuario.id_usuario !== prestamo.equipo.u)
throw new ConflictException(
'Este equipo fue asignado 2 veces y este es el préstamo incorrecto, espere unos segundos y se desactivará este préstamo.',
);
prestamo.activo = false;
prestamo.fecha_entrega = ahora.toDate();
prestamo.operadorRegreso = operadorRegreso;