From 14af6c59537939c268506c73ec485eb44663a903 Mon Sep 17 00:00:00 2001 From: "jiramirez_nqn@hotmail.com" Date: Fri, 27 Sep 2024 09:58:48 -0300 Subject: [PATCH] (FEAT) turnos profesional cambiar tipo --- modules/turnos/controller/agenda.ts | 36 ++++++++++++++--------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/modules/turnos/controller/agenda.ts b/modules/turnos/controller/agenda.ts index ccbc42345..5d2bbb6d8 100644 --- a/modules/turnos/controller/agenda.ts +++ b/modules/turnos/controller/agenda.ts @@ -6,7 +6,7 @@ import * as request from 'request'; import { Auth } from '../../../auth/auth.class'; import { userScheduler, diasNoLaborables } from '../../../config.private'; import { SnomedCtr } from '../../../core/term/controller/snomed.controller'; -import { NotificationService } from '../../../modules/mobileApp/controller/NotificationService'; +import { Constantes } from '../../../modules/constantes/constantes.schema'; import { toArray } from '../../../utils/utils'; import * as prestacionController from '../../rup/controllers/prestacion'; import { Prestacion } from '../../rup/schemas/prestacion'; @@ -455,11 +455,6 @@ export function actualizarEstado(req, data) { data.bloques[j].restantesProgramados = data.bloques[j].restantesProgramados + data.bloques[j].restantesGestion + data.bloques[j].restantesProfesional; data.bloques[j].restantesGestion = 0; data.bloques[j].restantesProfesional = 0; - } else { - if (data.bloques[j].reservadoProfesional > 0) { - data.bloques[j].restantesGestion = data.bloques[j].restantesGestion + data.bloques[j].restantesProfesional; - data.bloques[j].restantesProfesional = 0; - } } } } @@ -718,7 +713,7 @@ function esFeriado(fecha) { * @returns resultado */ export async function actualizarTiposDeTurno() { - const hsActualizar = 48; + const hsActualizar = await actualizarTurnosHs(); const cantDias = hsActualizar / 24; let fechaActualizar = moment(new Date()).add(cantDias, 'days'); const esDomingo = false; @@ -773,30 +768,21 @@ export async function actualizarTiposDeTurno() { agendaLog.error('actualizarTiposTurnos', { queryAgendas: condicion, agenda }, error); } }); - - } // Dada una agenda, actualiza los turnos restantes (Para agendas dentro de las 48hs a partir de hoy). export function actualizarTurnos(agenda) { for (let j = 0; j < agenda.bloques.length; j++) { const cantAccesoDirecto = agenda.bloques[j].accesoDirectoDelDia + agenda.bloques[j].accesoDirectoProgramado; - if (cantAccesoDirecto > 0) { - // agenda.bloques[j].restantesProgramados = agenda.bloques[j].restantesProgramados + agenda.bloques[j].restantesGestion + agenda.bloques[j].restantesProfesional; - // agenda.bloques[j].restantesGestion = 0; - // agenda.bloques[j].restantesProfesional = 0; - // } else { - if (agenda.bloques[j].reservadoProfesional > 0) { - agenda.bloques[j].restantesGestion = agenda.bloques[j].restantesGestion + agenda.bloques[j].restantesProfesional; - agenda.bloques[j].restantesProfesional = 0; - } + agenda.bloques[j].restantesProgramados = agenda.bloques[j].restantesProgramados + agenda.bloques[j].restantesGestion + agenda.bloques[j].restantesProfesional; + agenda.bloques[j].restantesGestion = 0; + agenda.bloques[j].restantesProfesional = 0; } } return agenda; } - /** * Actualiza los estados de las agendas que se ejecutaron el día anterior a Pendiente Asistencia o * Pendiente Auditoría según corresponda @@ -1531,3 +1517,15 @@ export function agendaNueva(data, clon, req) { nueva['sobreturnos'] = []; return nueva; } + +async function actualizarTurnosHs() { + let constante; + const key = 'actualizarTurnosHs'; + try { + constante = await Constantes.findOne({ key }); + return constante ? parseInt(constante.nombre, 10) : 48; + } catch (error) { + log.error('actualizarTurnosHs', { constante, key }, { error: error.message }, userScheduler); + return 48; + } +}