Skip to content

Commit 3be73d2

Browse files
aldoEMatamalaaldoEMatamala
authored andcommitted
fix(MISC-368): Facturación no-nominalizadas
1 parent a1b10c4 commit 3be73d2

1 file changed

Lines changed: 20 additions & 3 deletions

File tree

modules/estadistica/controller/procesarAgendas.ts

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1+
import { Prestacion } from '../../rup/schemas/prestacion';
12
import { Agenda } from '../../turnos/schemas/agenda';
23
import * as mongoose from 'mongoose';
4+
import { IPrestacionDoc } from '../../rup/prestaciones.interface';
35

46
/**
57
* @export Devuelve los turnos con paciente asignado que cumplen con los filtros
@@ -40,7 +42,7 @@ export async function procesar(parametros: any) {
4042
match['tipoPrestaciones.conceptId'] = parametros.prestacion;
4143
matchTurno['$expr'] = { $and: [{ $eq: ['$_bloques.turnos.estado', 'asignado'] }, { $eq: ['$_bloques.turnos.tipoPrestacion.conceptId', parametros.prestacion] }] };
4244
} else {
43-
matchTurno['$expr'] = { $and: [{ $eq: ['$_bloques.turnos.estado', 'asignado'] }] };
45+
matchTurno['$expr'] = parametros.noNominalizada ? { $and: [{ $eq: ['$_bloques.turnos.estado', 'disponible'] }] } : { $and: [{ $eq: ['$_bloques.turnos.estado', 'asignado'] }] };
4446
}
4547

4648
if (parametros.profesional) {
@@ -215,7 +217,22 @@ export async function procesar(parametros: any) {
215217
$match: matchOS
216218
}
217219
];
220+
try {
221+
const turnosAsignados = await Agenda.aggregate(pipelineBuscador);
222+
for (const turno of turnosAsignados) {
223+
const prestacion: IPrestacionDoc = await Prestacion.findById(turno.idPrestacion) as IPrestacionDoc;
224+
if (prestacion) {
225+
const registro = prestacion.ejecucion?.registros?.find(x => x.valor?.informe !== null);
226+
turno.actividad = registro.valor?.informe?.tipoActividad?.term;
227+
turno.tematica = registro.valor?.informe?.tematica;
228+
turno.profesionales = turno.profesionales;
229+
turno.estadoActual = prestacion.estadoActual;
230+
}
231+
}
232+
return turnosAsignados;
233+
} catch (error) {
234+
return (error);
235+
}
236+
218237

219-
const turnosAsignados = await Agenda.aggregate(pipelineBuscador);
220-
return turnosAsignados;
221238
}

0 commit comments

Comments
 (0)