Skip to content

Commit

Permalink
ref(in): agrega columna obra social en listado
Browse files Browse the repository at this point in the history
  • Loading branch information
negro89 committed May 19, 2021
1 parent 11bca1f commit 1640e6e
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@
</plex-select>
<plex-select [(ngModel)]="filtros.estado" [data]='estadosInternacion' label="Estado" (change)="filtrar()">
</plex-select>
<plex-select name="obraSocial" label="Obra Social" [(ngModel)]="filtros.obraSocial" (change)="filtrar()"
(getData)="loadObrasSociales($event)">
</plex-select>
</div>
<plex-button *ngIf="permisosMapaCamasService.descargarListado" type="warning" icon="download mdi-14px"
title="Descargar Csv" titlePosition="top" (click)="reporteInternaciones()"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ import { PermisosMapaCamasService } from '../../../services/permisos-mapa-camas.
import { Observable } from 'rxjs/internal/Observable';
import { MapaCamasHTTP } from '../../../services/mapa-camas.http';
import { map } from 'rxjs/operators';
import { ObraSocialService } from 'src/app/services/obraSocial.service';
import { IObraSocial } from 'src/app/interfaces/IObraSocial';

@Component({
selector: 'app-filtros-internacion',
Expand All @@ -23,13 +25,15 @@ export class FiltrosInternacionComponent implements OnInit {
estadosInternacion;
requestInProgress: boolean;
unidadesOrganizativas$: Observable<any[]>;
obrasSociales$: Observable<IObraSocial[]>;

constructor(
private auth: Auth,
private listadoInternacionService: ListadoInternacionService,
private servicioDocumentos: DocumentosService,
public permisosMapaCamasService: PermisosMapaCamasService,
private camasHttp: MapaCamasHTTP
private camasHttp: MapaCamasHTTP,
private obraSocialService: ObraSocialService
) { }

ngOnInit() {
Expand All @@ -51,6 +55,7 @@ export class FiltrosInternacionComponent implements OnInit {
this.listadoInternacionService.pacienteText.next(this.filtros.paciente);
this.listadoInternacionService.estado.next(this.filtros.estado?.id);
this.listadoInternacionService.unidadOrganizativa.next(this.filtros.unidadOrganizativa);
this.listadoInternacionService.obraSocial.next(this.filtros.obraSocial);
}

filtrarFecha() {
Expand Down Expand Up @@ -78,4 +83,14 @@ export class FiltrosInternacionComponent implements OnInit {
() => this.requestInProgress = false
);
}

loadObrasSociales(event) {
if (event.query) {
this.obraSocialService.getListado({ nombre: event.query }).subscribe(resultado => {
event.callback(resultado);
});
} else {
event.callback(null);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
<th rowspan="2">Fecha de ingreso</th>
<th rowspan="2">Fecha de egreso</th>
<th rowspan="2">Unidad Organizativa</th>
<th rowspan="2" class="w-25">Obra Social</th>
<th rowspan="2">Estado</th>
</tr>
</thead>
Expand Down Expand Up @@ -47,6 +48,9 @@
<td>
{{ internacion.ejecucion.unidadOrganizativa?.term }}
</td>
<td>
{{ internacion.paciente.obraSocial?.nombre }}
</td>
<td>
<span> {{internacion.estados[internacion.estados.length - 1].tipo}}</span>
</td>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ export class ListadoInternacionService {
public fechaEgresoDesde = new BehaviorSubject<Date>(null);
public fechaEgresoHasta = new BehaviorSubject<Date>(null);
public unidadOrganizativa = new BehaviorSubject<any>(null);
public obraSocial = new BehaviorSubject<any[]>(null);

public estado = new BehaviorSubject<any>(null);

Expand Down Expand Up @@ -45,15 +46,16 @@ export class ListadoInternacionService {
this.listaInternacion$,
this.pacienteText,
this.estado,
this.unidadOrganizativa
this.unidadOrganizativa,
this.obraSocial
).pipe(
map(([listaInternacion, paciente, estado, unidad]) =>
this.filtrarListaInternacion(listaInternacion, paciente, estado, unidad)
map(([listaInternacion, paciente, estado, unidad, obraSocial]) =>
this.filtrarListaInternacion(listaInternacion, paciente, estado, unidad, obraSocial),
)
);
}

filtrarListaInternacion(listaInternacion: IPrestacion[], paciente: string, estado: string, unidad: any) {
filtrarListaInternacion(listaInternacion: IPrestacion[], paciente: string, estado: string, unidad: any, obraSocial: any) {
let listaInternacionFiltrada = listaInternacion;

if (paciente) {
Expand All @@ -77,6 +79,11 @@ export class ListadoInternacionService {
internacion.ejecucion.unidadOrganizativa?.id === unidad.id
);
}
if (obraSocial) {
listaInternacionFiltrada = listaInternacionFiltrada.filter((internacion: IPrestacion) =>
internacion.paciente.obraSocial?.nombre === obraSocial.nombre
);
}
return listaInternacionFiltrada;
}

Expand Down

0 comments on commit 1640e6e

Please sign in to comment.