From 9a7612f9995738ce992334724cd57eccaefe0b5d Mon Sep 17 00:00:00 2001 From: Lautaro Molina Date: Tue, 13 Jul 2021 14:01:19 -0300 Subject: [PATCH 1/2] ref(rup): modifica metodo clonar y romper validacion en servicio de prestaciones --- .../listado-internacion.component.ts | 33 +++++------- .../prestacionValidacion.component.ts | 54 +++++++------------ .../rup/services/prestaciones.service.ts | 51 +++++------------- 3 files changed, 44 insertions(+), 94 deletions(-) diff --git a/src/app/apps/rup/mapa-camas/views/listado-internacion/listado-internacion.component.ts b/src/app/apps/rup/mapa-camas/views/listado-internacion/listado-internacion.component.ts index 1eb3e3649c..d7c18f1e96 100644 --- a/src/app/apps/rup/mapa-camas/views/listado-internacion/listado-internacion.component.ts +++ b/src/app/apps/rup/mapa-camas/views/listado-internacion/listado-internacion.component.ts @@ -259,27 +259,18 @@ export class InternacionListadoComponent implements OnInit { romperValidacion(selectedPrestacion: IPrestacion, fechaHasta: Date) { this.plex.confirm('Esta acción puede traer consecuencias
¿Desea continuar?', 'Romper validación').then(validar => { if (validar) { - // guardamos una copia de la prestacion antes de romper la validacion. - let prestacionCopia = JSON.parse(JSON.stringify(selectedPrestacion)); - // Agregamos el estado de la prestacion copiada. - let estado = { tipo: 'modificada', idOrigenModifica: prestacionCopia.id }; - // Guardamos la prestacion copia - this.prestacionService.clonar(prestacionCopia, estado).subscribe(prestacionClonada => { - let prestacionModificada = prestacionClonada; - // hacemos el patch y luego creamos los planes - let cambioEstado: any = { - op: 'romperValidacion', - estado: { tipo: 'ejecucion', idOrigenModifica: prestacionModificada.id }, - desdeInternacion: true - }; - // Vamos a cambiar el estado de la prestación a ejecucion - this.prestacionService.patch(selectedPrestacion.id, cambioEstado).subscribe(prestacion => { - this.listadoInternacionService.setFechaHasta(fechaHasta); - this.mapaCamasService.selectPrestacion(prestacion); - this.verificarPrestacion(prestacion); - }, (err) => { - this.plex.toast('danger', 'ERROR: No es posible romper la validación de la prestación'); - }); + // hacemos el patch y luego creamos los planes + let cambioEstado: any = { + op: 'romperValidacion', + desdeInternacion: true + }; + // En api el estado de la prestación cambia a ejecucion + this.prestacionService.patch(selectedPrestacion.id, cambioEstado).subscribe(prestacion => { + this.listadoInternacionService.setFechaHasta(fechaHasta); + this.mapaCamasService.selectPrestacion(prestacion); + this.verificarPrestacion(prestacion); + }, (err) => { + this.plex.toast('danger', 'ERROR: No es posible romper la validación de la prestación'); }); } }); diff --git a/src/app/modules/rup/components/ejecucion/prestacionValidacion.component.ts b/src/app/modules/rup/components/ejecucion/prestacionValidacion.component.ts index c9693f5f63..e853083408 100644 --- a/src/app/modules/rup/components/ejecucion/prestacionValidacion.component.ts +++ b/src/app/modules/rup/components/ejecucion/prestacionValidacion.component.ts @@ -356,42 +356,26 @@ export class PrestacionValidacionComponent implements OnInit, OnDestroy { if (!validar) { return false; } else { - // guardamos una copia de la prestacion antes de romper la validacion. - // let prestacionCopia = JSON.parse(JSON.stringify(this.prestacion)); - const prestacionCopia = this.prestacion; - - // Agregamos el estado de la prestacion copiada. - let estado = { tipo: 'modificada', idOrigenModifica: prestacionCopia._id }; - - // Guardamos la prestacion copia - this.servicioPrestacion.clonar(prestacionCopia, estado).subscribe(prestacionClonada => { - - let prestacionModificada = prestacionClonada; - - // hacemos el patch y luego creamos los planes - let cambioEstado: any = { - op: 'romperValidacion', - estado: { tipo: 'ejecucion', idOrigenModifica: prestacionModificada.id } - }; - - this.route.params.subscribe(params => { - // Vamos a cambiar el estado de la prestación a ejecucion - this.servicioPrestacion.patch(this.prestacion._id || params['id'], cambioEstado).subscribe(prestacion => { - - this.prestacion = prestacion; - // chequeamos si es no nominalizada si - if (!this.prestacion.solicitud.tipoPrestacion.noNominalizada) { - // actualizamos las prestaciones de la HUDS - this.servicioPrestacion.getByPaciente(this.paciente.id, true).subscribe(resultado => { - }); - } else { - this.router.navigate(['rup/ejecucion', this.prestacion.id]); - } - + // hacemos el patch y luego creamos los planes + let cambioEstado: any = { + op: 'romperValidacion' + }; + this.route.params.subscribe(params => { + // En api el estado de la prestación cambia a ejecucion + this.servicioPrestacion.patch(this.prestacion._id || params['id'], cambioEstado).subscribe(prestacion => { + this.prestacion = prestacion; + // chequeamos si es no nominalizada si + if (!this.prestacion.solicitud.tipoPrestacion.noNominalizada) { + // actualizamos las prestaciones de la HUDS + this.servicioPrestacion.getByPaciente(this.paciente.id, true).subscribe(resultado => { + }); + } else { this.router.navigate(['rup/ejecucion', this.prestacion.id]); - }, (err) => { - this.plex.toast('danger', 'ERROR: No es posible romper la validación de la prestación'); - }); + } + + this.router.navigate(['rup/ejecucion', this.prestacion.id]); + }, (err) => { + this.plex.toast('danger', 'ERROR: No es posible romper la validación de la prestación'); }); }); } diff --git a/src/app/modules/rup/services/prestaciones.service.ts b/src/app/modules/rup/services/prestaciones.service.ts index 8b630ae2c9..a4b6388be2 100644 --- a/src/app/modules/rup/services/prestaciones.service.ts +++ b/src/app/modules/rup/services/prestaciones.service.ts @@ -620,21 +620,6 @@ export class PrestacionesService { return this.patch(prestacion.id, data); } - /** - * Método clonar. Inserta una copia de una prestacion. - * @param {any} prestacionCopia Recibe una copia de una prestacion - */ - clonar(prestacionCopia: any, estado: any): Observable { - - // Agregamos el estado de la prestacion copiada. - prestacionCopia.estados.push(estado); - - // Eliminamos los id de la prestacion - delete prestacionCopia.id; - delete prestacionCopia._id; - - return this.server.post(this.prestacionesUrl, prestacionCopia); - } /** * Devuelve un listado de prestaciones planificadas desde una prestación origen @@ -713,31 +698,21 @@ export class PrestacionesService { observer.complete(); return false; } else { - const prestacionCopia = JSON.parse(JSON.stringify(prestacion)); - const estado = { tipo: 'modificada', idOrigenModifica: prestacionCopia._id }; - - // Guardamos la prestacion copia - this.clonar(prestacionCopia, estado).subscribe(prestacionClonada => { - const prestacionModificada = prestacionClonada; - - // hacemos el patch y luego creamos los planes - let cambioEstado: any = { - op: 'romperValidacion', - estado: { tipo: 'ejecucion', idOrigenModifica: prestacionModificada.id } - }; - - // Vamos a cambiar el estado de la prestación a ejecucion - this.patch(prestacion.id, cambioEstado).subscribe(() => { - observer.next(); - observer.complete(); - }, (err) => { - this.plex.toast('danger', 'ERROR: No es posible romper la validación de la prestación'); - observer.error(); - observer.complete(); - }); + // hacemos el patch y luego creamos los planes + let cambioEstado: any = { + op: 'romperValidacion' + }; + + // En api el estado de la prestación cambia a ejecucion + this.patch(prestacion.id, cambioEstado).subscribe(() => { + observer.next(); + observer.complete(); + }, (err) => { + this.plex.toast('danger', 'ERROR: No es posible romper la validación de la prestación'); + observer.error(); + observer.complete(); }); } - }); }); From 061f9a677bb32e20ecaa6bf50c795c8f523b8856 Mon Sep 17 00:00:00 2001 From: Mariano Andres Botta Date: Mon, 19 Jul 2021 13:53:34 -0300 Subject: [PATCH 2/2] refact(rup): quita consulta de params --- .../prestacionValidacion.component.ts | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/src/app/modules/rup/components/ejecucion/prestacionValidacion.component.ts b/src/app/modules/rup/components/ejecucion/prestacionValidacion.component.ts index e853083408..3525fbe151 100644 --- a/src/app/modules/rup/components/ejecucion/prestacionValidacion.component.ts +++ b/src/app/modules/rup/components/ejecucion/prestacionValidacion.component.ts @@ -360,23 +360,22 @@ export class PrestacionValidacionComponent implements OnInit, OnDestroy { let cambioEstado: any = { op: 'romperValidacion' }; - this.route.params.subscribe(params => { - // En api el estado de la prestación cambia a ejecucion - this.servicioPrestacion.patch(this.prestacion._id || params['id'], cambioEstado).subscribe(prestacion => { - this.prestacion = prestacion; - // chequeamos si es no nominalizada si - if (!this.prestacion.solicitud.tipoPrestacion.noNominalizada) { - // actualizamos las prestaciones de la HUDS - this.servicioPrestacion.getByPaciente(this.paciente.id, true).subscribe(resultado => { - }); - } else { - this.router.navigate(['rup/ejecucion', this.prestacion.id]); - } + // En api el estado de la prestación cambia a ejecucion + this.servicioPrestacion.patch(this.prestacion._id, cambioEstado).subscribe(prestacion => { + this.prestacion = prestacion; + // chequeamos si es no nominalizada si + if (!this.prestacion.solicitud.tipoPrestacion.noNominalizada) { + // actualizamos las prestaciones de la HUDS + this.servicioPrestacion.getByPaciente(this.paciente.id, true).subscribe(resultado => { + }); + } else { this.router.navigate(['rup/ejecucion', this.prestacion.id]); - }, (err) => { - this.plex.toast('danger', 'ERROR: No es posible romper la validación de la prestación'); - }); + } + + this.router.navigate(['rup/ejecucion', this.prestacion.id]); + }, (err) => { + this.plex.toast('danger', 'ERROR: No es posible romper la validación de la prestación'); }); }