This commit is contained in:
2022-02-05 21:22:51 -06:00
parent 3f360879e6
commit 69cd00bc43
7 changed files with 86 additions and 41 deletions
@@ -7,6 +7,7 @@ const Equipo = require(`${dbPath}/Equipo`);
const Multa = require(`${dbPath}/Multa`);
const Operador = require(`${dbPath}/Operador`);
const Prestamo = require(`${dbPath}/Prestamo`);
const Usuario = require(`${dbPath}/Usuario`);
const regresarNumeroInventario = async (body) => {
const ahora = moment();
@@ -22,6 +23,7 @@ const regresarNumeroInventario = async (body) => {
'id operador regreso',
true
);
const update = { idOperadorRegreso };
let diferencia = null;
let idPrestamo = null;
@@ -49,25 +51,31 @@ const regresarNumeroInventario = async (body) => {
if (res.Equipo.idStatus === 1)
throw new Error('Aun no se ha entregado el equipo al usuario.');
idPrestamo = res.idPrestamo;
diferencia = parseInt((ahora - moment(res.horaFin)) / 60000);
if (diferencia >= 15)
await Multa.create({
idPrestamo,
idInfraccion: 1,
idOperadorMulta: idOperadorRegreso,
descripcion: `Se paso por ${diferencia} minutos para entregar el equipo.`,
fechaFin: ahoraAux.add(parseInt(diferencia / 15) * 7, 'd').format(),
});
if (!res.regresoInmediato) {
update.horaEntrega = ahora.format();
update.activo = false;
diferencia = parseInt((ahora - moment(res.horaFin)) / 60000);
if (diferencia >= 15)
await Multa.create({
idPrestamo,
idInfraccion: 1,
idOperadorMulta: 1,
descripcion: `Se paso por ${diferencia} minutos para entregar el equipo.`,
fechaFin: ahoraAux.add(parseInt(diferencia / 15) * 7, 'd').format(),
}).then((res) =>
Usuario.update(
{ multa: true },
{ where: { idUsuario: res.idUsuario } }
)
);
}
return Equipo.update(
{ idStatus: 4 },
{ where: { idEquipo: res.idEquipo } }
);
})
.then(() => {
Prestamo.update(
{ idOperadorRegreso, horaEntrega: ahora.format(), activo: false },
{ where: { idPrestamo } }
);
Prestamo.update(update, { where: { idPrestamo } });
})
.then(() => {
io.getIO().emit('actualizar');