From 33f628a8109d7ee346d13f6455d27983bb0faba8 Mon Sep 17 00:00:00 2001 From: Andres2908 Date: Thu, 23 Sep 2021 16:30:11 -0500 Subject: [PATCH] ya multo en caso de que se demore en entregar el equipo --- server/controller/Multa/multar.js | 7 ++++--- server/controller/Prestamo/regresar.js | 23 +++++++++++++++++------ 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/server/controller/Multa/multar.js b/server/controller/Multa/multar.js index 8c03602..a612472 100644 --- a/server/controller/Multa/multar.js +++ b/server/controller/Multa/multar.js @@ -18,10 +18,9 @@ const multar = async (body) => { ); let prestamo = {}; let fechaFin = moment(); - return Operador.findOne({ where: { idOperador: idOperadorMulta } }) .then((res) => { - if (!res) throw new Error('No existe esta este operador.'); + if (!res) throw new Error('No existe este operador.'); return Infraccion.findOne({ where: { idInfraccion } }); }) .then((res) => { @@ -55,7 +54,9 @@ const multar = async (body) => { idPrestamo, }) ) - .then((res) => ({ message: `Se levantó correctamente el reporte de multa.` })); + .then((res) => ({ + message: `Se levantó correctamente el reporte de multa.`, + })); }; module.exports = multar; diff --git a/server/controller/Prestamo/regresar.js b/server/controller/Prestamo/regresar.js index dd53b07..9190efd 100644 --- a/server/controller/Prestamo/regresar.js +++ b/server/controller/Prestamo/regresar.js @@ -1,5 +1,7 @@ const moment = require('moment'); +const multar = require('../Multa/multar'); const { validarId } = require('../../helper/validar'); +const prestamo = require('./prestamoUsuario'); const dbPath = '../../db/tablas'; const Equipo = require(`${dbPath}/Equipo`); const Operador = require(`${dbPath}/Operador`); @@ -10,7 +12,6 @@ const regresar = async (body) => { const idOperadorRegreso = validarId(body.idOperadorRegreso); const ahora = moment(); - // Multar por hora de entrega return Operador.findOne({ where: { idOperador: idOperadorRegreso } }) .then((res) => { if (!res) throw new Error('No existe este operador.'); @@ -19,18 +20,28 @@ const regresar = async (body) => { include: [{ model: Equipo }], }); }) - .then((res) => { - if (!res) throw new Error('No existe este prestamo.'); - if (!res.activo) throw new Error('Este prestamo ya no esta activo.'); + .then(async (res) => { + if (!res) throw new Error('No existe este préstamo.'); + if (!res.activo) throw new Error('Este préstamo ya no esta activo.'); if (!res.Equipo.enUso) throw new Error('Aun no se ha entregado el equipo al usuario.'); + + if (res.horaFin > ahora) { + await multar({ + idOperadorMulta: idOperadorRegreso, + idPrestamo: res.idPrestamo, + idInfraccion: 1, + descripcion: 'Demora', + }); + } + return Equipo.update( { enUso: false, apartado: false }, { where: { idEquipo: res.Equipo.idEquipo } } ); }) - .then((res) => { - Prestamo.update( + .then(async (res) => { + await Prestamo.update( { idOperadorRegreso, horaEntrega: ahora.format(), activo: false }, { where: { idPrestamo } } );