Skip to content

Commit

Permalink
fix(mpi): salva valor de scan utilizado en la busqueda
Browse files Browse the repository at this point in the history
  • Loading branch information
negro89 committed Jan 28, 2021
1 parent ded5a5a commit 2abf1b1
Show file tree
Hide file tree
Showing 13 changed files with 43 additions and 42 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -103,14 +103,15 @@ export class AgregarPacienteComponent implements OnInit {
this.loading = true;
}

onSearchEnd(pacientes: IPaciente[], escaneado: boolean) {
onSearchEnd(pacientes: IPaciente[], scan: string) {
this.loading = false;
this.pacienteCache.setScanState(escaneado);
if (escaneado && pacientes.length === 1 && pacientes[0].id) {
this.esEscaneado = scan?.length > 0;
this.pacienteCache.setScanCode(scan);
if (this.esEscaneado && pacientes.length === 1 && pacientes[0].id) {
this.onSelect(pacientes[0]);
} else if (escaneado && pacientes.length === 1 && (!pacientes[0].id || (pacientes[0].estado === 'temporal' && pacientes[0].scan))) {
} else if (this.esEscaneado && pacientes.length === 1 && (!pacientes[0].id || (pacientes[0].estado === 'temporal' && pacientes[0].scan))) {
this.pacienteCache.setPaciente(pacientes[0]);
this.pacienteCache.setScanState(escaneado);
this.pacienteCache.setScanCode(scan);
this.router.navigate(['/apps/mpi/paciente/con-dni/sobreturno']); // abre paciente-cru
} else {
this.pacientes = pacientes;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
</span>
<ng-container *ngIf="!showPaciente && pacientesSearch">
<paciente-busqueda (searchStart)="onSearchStart()"
(searchEnd)="onSearchEnd($event.pacientes,$event.escaneado)"
(searchEnd)="onSearchEnd($event.pacientes,$event.scan)"
(searchClear)="onSearchClear()" (selected)="onSelect($event)" [offset]="110">
</paciente-busqueda>
</ng-container>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -417,14 +417,15 @@ export class RevisionAgendaComponent implements OnInit, OnDestroy {
}


searchEnd(pacientes: IPaciente[], escaneado: boolean) {
searchEnd(pacientes: IPaciente[], scan: string) {
this.loading = false;
this.pacienteCache.setScanState(escaneado);
const escaneado = scan?.length > 0;
this.pacienteCache.setScanCode(scan);
if (escaneado && pacientes.length === 1 && pacientes[0].id) {
this.onSelect(pacientes[0]);
} else if (escaneado && pacientes.length === 1 && (!pacientes[0].id || (pacientes[0].estado === 'temporal' && pacientes[0].scan))) {
this.pacienteCache.setPaciente(pacientes[0]);
this.pacienteCache.setScanState(escaneado);
this.pacienteCache.setScanCode(scan);
this.router.navigate(['/apps/mpi/paciente/con-dni/sobreturno']); // abre paciente-cru
} else {
this.resultadoBusqueda = pacientes;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,7 @@ <h4> No existe un paciente asociado al turno</h4>
</div>
</div>
<ng-container *ngIf="pacientesSearch">
<paciente-buscar (searchStart)="searchStart()"
(searchEnd)="searchEnd($event.pacientes,$event.escaneado)"
<paciente-buscar (searchStart)="searchStart()" (searchEnd)="searchEnd($event.pacientes,$event.scan)"
(searchClear)="onSearchClear()">
</paciente-buscar>

Expand Down Expand Up @@ -539,4 +538,4 @@ <h5>
<plex-layout-footer>
<plex-button position="right" type="primary" label="Volver" (click)="volver()"></plex-button>
</plex-layout-footer>
</plex-layout>
</plex-layout>
Original file line number Diff line number Diff line change
Expand Up @@ -110,14 +110,15 @@ export class AgregarSobreturnoComponent implements OnInit {
this.loading = true;
}

onSearchEnd(pacientes: IPaciente[], escaneado: boolean) {
onSearchEnd(pacientes: IPaciente[], scan: string) {
this.loading = false;
this.pacienteCache.setScanState(escaneado);
if (escaneado && pacientes.length === 1 && pacientes[0].id) {
this.esEscaneado = scan?.length > 0;
if (this.esEscaneado && pacientes.length === 1 && pacientes[0].id) {
this.pacienteCache.setScanCode(scan);
this.onSelect(pacientes[0]);
} else if (escaneado && pacientes.length === 1 && (!pacientes[0].id || (pacientes[0].estado === 'temporal' && pacientes[0].scan))) {
} else if (this.esEscaneado && pacientes.length === 1 && (!pacientes[0].id || (pacientes[0].estado === 'temporal' && pacientes[0].scan))) {
this.pacienteCache.setPaciente(pacientes[0]);
this.pacienteCache.setScanState(escaneado);
this.pacienteCache.setScanCode(scan);
this.router.navigate(['/apps/mpi/paciente/con-dni/sobreturno']); // abre paciente-cru
} else {
this.pacientes = pacientes;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,7 @@
</span>
</form>
<ng-container *ngIf="!showSobreturno && pacientesSearch">
<paciente-buscar (searchStart)="onSearchStart()"
(searchEnd)="onSearchEnd($event.pacientes,$event.escaneado)"
<paciente-buscar (searchStart)="onSearchStart()" (searchEnd)="onSearchEnd($event.pacientes,$event.scan)"
(searchClear)="onSearchClear()">
</paciente-buscar>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,18 +95,18 @@ export class PuntoInicioTurnosComponent implements OnInit {
this.loading = true;
}

onSearchEnd(pacientes: any[], escaneado: boolean) {
onSearchEnd(pacientes: any[], scan: string) {
this.esEscaneado = scan?.length > 0;
this.searchClear = false;
this.loading = false;
this.pacienteCache.setScanState(escaneado);
if (escaneado && pacientes.length === 1) {
if (this.esEscaneado && pacientes.length === 1) {
if (pacientes[0].paciente) {
this.pacienteCache.setPaciente(pacientes[0].paciente);
this.pacienteCache.setScanState(escaneado);
this.pacienteCache.setScanCode(scan);
this.onPacienteSelected(pacientes[0].paciente);
} else {
this.pacienteCache.setPaciente(pacientes[0]);
this.pacienteCache.setScanState(escaneado);
this.pacienteCache.setScanCode(scan);
this.onPacienteSelected(pacientes[0]);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<plex-layout-main>
<!-- BOTONES DE REGISTRO MPI -->

<paciente-buscar (searchStart)="onSearchStart()" (searchEnd)="onSearchEnd($event.pacientes,$event.escaneado)"
<paciente-buscar (searchStart)="onSearchStart()" (searchEnd)="onSearchEnd($event.pacientes,$event.scan)"
(searchClear)="onSearchClear()" [returnScannedPatient]="true" [hostComponent]="'puntoInicio'"
[create]="true">
</paciente-buscar>
Expand Down Expand Up @@ -73,7 +73,7 @@
<estadisticas-agendas></estadisticas-agendas>
</div>
<div *ngIf="showMostrarEstadisticasPacientes && paciente" type="info">
<estadisticas-pacientes [paciente]="paciente" [showTab]="showTab" >
<estadisticas-pacientes [paciente]="paciente" [showTab]="showTab">
</estadisticas-pacientes>
</div>
<div *ngIf="showIngresarSolicitud && paciente" type="info">
Expand All @@ -93,4 +93,4 @@

<!--Components-->
<dar-turnos *ngIf="autorizado && showDarTurnos && paciente" [pacienteSeleccionado]="paciente"
[solicitudPrestacion]="solicitudPrestacion" (afterDarTurno)="afterDarTurno($event)"></dar-turnos>
[solicitudPrestacion]="solicitudPrestacion" (afterDarTurno)="afterDarTurno($event)"></dar-turnos>
9 changes: 4 additions & 5 deletions src/app/core/mpi/components/busqueda-mpi.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,11 @@ export class BusquedaMpiComponent implements OnInit {
// -------------- SOBRE BUSCADOR ----------------


onSearchEnd(pacientes: any[], escaneado: boolean) {
this.escaneado = escaneado;
if (escaneado) {
onSearchEnd(pacientes: any[], scan: string) {
this.escaneado = scan?.length > 0;
if (this.escaneado) {
this.pacienteCache.setPaciente(pacientes[0]);
this.pacienteCache.setScanState(this.escaneado);
this.pacienteCache.setScanCode(scan);
this.router.navigate(['apps/mpi/paciente']); // abre paciente-cru
}
}
Expand All @@ -65,7 +65,6 @@ export class BusquedaMpiComponent implements OnInit {
if (paciente) {
this.historialBusquedaService.add(paciente);
this.pacienteCache.setPaciente(paciente);
this.pacienteCache.setScanState(this.escaneado);
if (paciente.numeroIdentificacion || paciente.tipoIdentificacion) {
this.router.navigate(['apps/mpi/paciente/extranjero/mpi']); // abre formulario paciente extranjero
} else {
Expand Down
2 changes: 1 addition & 1 deletion src/app/core/mpi/components/busqueda-mpi.html
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<plex-layout main="{{ sidebar }}">
<plex-layout-main>
<paciente-busqueda [hostComponent]="'mpi'" [create]="true" [returnScannedPatient]="true" [editing]="true"
(searchEnd)="onSearchEnd($event.pacientes,$event.escaneado)" (selected)="toVisualize($event)"
(searchEnd)="onSearchEnd($event.pacientes,$event.scan)" (selected)="toVisualize($event)"
(edit)="toEdit($event)" [offset]="80">
</paciente-busqueda>
</plex-layout-main>
Expand Down
6 changes: 4 additions & 2 deletions src/app/core/mpi/components/paciente.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ export class PacienteComponent implements OnInit {
public pacientes: IPacienteMatch[] | IPaciente[];
public disableValidar = true;
public escaneado = false;
public scanCode = null;
public paciente: IPaciente;
public showDeshacer = false;
private subscripcionValidar: Subscription = null;
Expand Down Expand Up @@ -139,7 +140,8 @@ export class PacienteComponent implements OnInit {
this.tipoPaciente = params['opcion'] ? params['opcion'] : '';
});
this.paciente = this.pacienteCache.getPacienteValor();
this.escaneado = this.pacienteCache.getScanState();
this.scanCode = this.pacienteCache.getScan();
this.escaneado = this.scanCode.length > 0;
this.pacienteCache.clearPaciente();
this.pacienteCache.clearScanState();
this.parentescoService.get().subscribe(resultado => {
Expand All @@ -159,7 +161,7 @@ export class PacienteComponent implements OnInit {
this.pacienteService.getById(this.paciente.id).subscribe(resultado => {
if (resultado) {
if (!resultado.scan) {
resultado.scan = this.paciente.scan;
resultado.scan = this.scanCode;
}
if (this.escaneado && resultado.estado !== 'validado') {
resultado.nombre = resultado.nombre.toUpperCase();
Expand Down
7 changes: 3 additions & 4 deletions src/app/core/mpi/services/paciente-buscar.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -90,11 +90,10 @@ export class PacienteBuscarService {
apellido: pacienteEscaneado.apellido,
nombre: pacienteEscaneado.nombre,
documento: pacienteEscaneado.documento,
sexo: pacienteEscaneado.sexo,
escaneado: true
sexo: pacienteEscaneado.sexo
}).pipe(
map(resultado => {
return resultado.length ? { escaneado: true, pacientes: resultado, err: null } : null;
return resultado.length ? { scan: textoLibre, pacientes: resultado, err: null } : null;
}),
mergeMap((resultado: any) => {
// 1.2. Si encuentra el paciente (un matcheo al 100%) finaliza la búsqueda
Expand All @@ -116,7 +115,7 @@ export class PacienteBuscarService {
// 1.3.2. Busca a uno con el mismo código de barras
let candidato = resultadoSuggest.find(elto => elto.paciente.scan && elto.paciente.scan === textoLibre);
if (candidato) {
return { escaneado: true, pacientes: [candidato], err: null };
return { scan: textoLibre, pacientes: [candidato], err: null };
} else {
// 1.3.3. Busca uno con un porcentaje alto de matcheo
if (resultadoSuggest[0]._score >= 0.94) {
Expand Down
6 changes: 3 additions & 3 deletions src/app/core/mpi/services/pacienteCache.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@ export class PacienteCacheService {
this.pacienteCache.next(null);
}

setScanState(scanState: boolean) {
this.isScannedCache.next(scanState);
setScanCode(scan: string) {
this.isScannedCache.next(scan);
}

getScanState(): boolean {
getScan(): string {
return this.isScannedCache.value;
}

Expand Down

0 comments on commit 2abf1b1

Please sign in to comment.