diff --git a/modules/turnos/routes/listaEspera.ts b/modules/turnos/routes/listaEspera.ts index 6ec687d41..94a903fb4 100644 --- a/modules/turnos/routes/listaEspera.ts +++ b/modules/turnos/routes/listaEspera.ts @@ -2,6 +2,7 @@ import * as express from 'express'; import * as moment from 'moment'; import * as mongoose from 'mongoose'; import { Auth } from '../../../auth/auth.class'; +import { getHistorial } from '../controller/historialCitasController/historialCitasController'; import { Agenda } from '../schemas/agenda'; import { demanda, listaEspera } from '../schemas/listaEspera'; import { defaultLimit, maxLimit } from './../../../config'; @@ -29,10 +30,10 @@ router.get('/listaEspera/:id*?', (req, res, next) => { } if (req.query.fechaDesde) { - const fechaDesde = moment(req.query.fechaDesde).startOf('day').toDate(); + const fechaDesde = moment(new Date(req.query.fechaDesde)).startOf('day').toDate(); if (req.query.fechaHasta) { - const fechaHasta = moment(req.query.fechaHasta).endOf('day').toDate(); + const fechaHasta = moment(new Date(req.query.fechaHasta)).endOf('day').toDate(); opciones['fecha'] = { $gte: fechaDesde, $lte: fechaHasta }; } else { opciones['fecha'] = { $gte: fechaDesde }; @@ -126,6 +127,18 @@ router.get('/listaEspera/:id*?', (req, res, next) => { }); router.post('/listaEspera', async (req, res, next) => { + const historial = await getHistorial({ + ...req, query: { + pacienteId: req.body.paciente.id, turnosProximos: true, estado: 'asignado', conceptId: req.body.tipoPrestacion.conceptId + } + }); + + const turno = historial.length ? historial.filter(item => { return moment(item.horaInicio).isAfter(moment().startOf('day')); }).filter(item => item.estado === 'asignado') : undefined; + + if (turno.length) { + return res.status(500).json({ error: { code: 'turno_existente', data: turno[0] } }); + } + const params = { 'paciente.id': req.body.paciente.id, 'tipoPrestacion.conceptId': req.body.tipoPrestacion.conceptId, @@ -156,7 +169,8 @@ router.post('/listaEspera', async (req, res, next) => { Auth.audit(newListaDocument, req); listaSaved = await newListaDocument.save(); } - res.json(listaSaved); + + res.json({ data: { listado: listaSaved } }); } catch (error) { return next(error); }