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..3525fbe151 100644
--- a/src/app/modules/rup/components/ejecucion/prestacionValidacion.component.ts
+++ b/src/app/modules/rup/components/ejecucion/prestacionValidacion.component.ts
@@ -356,43 +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;
+ // hacemos el patch y luego creamos los planes
+ let cambioEstado: any = {
+ op: 'romperValidacion'
+ };
- // 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]);
- }
-
- 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');
+ // 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]);
+ }
+
+ 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();
});
}
-
});
});