Skip to content

Commit

Permalink
(RUP-363) Filtro por actualizacion de solicitudes
Browse files Browse the repository at this point in the history
  • Loading branch information
Fabio-Ramirez committed Jan 22, 2024
1 parent dcb85e1 commit 678d5a2
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 102 deletions.
103 changes: 38 additions & 65 deletions src/app/components/top/solicitudes/solicitudes.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,8 @@ export class SolicitudesComponent implements OnInit {
public fechaHastaSalidaActualizacion: Date = moment().startOf('day').toDate();
public fechaNotificacion = new Date();
public descripcionNotificacion = '';
public fechaDesde: Date = moment().startOf('day').toDate();
public fechaHasta: Date = moment().startOf('day').toDate();
public hoy: Date = moment().toDate();
public pacienteEntrada: any;
public pacienteSalida: any;
Expand Down Expand Up @@ -188,6 +190,8 @@ export class SolicitudesComponent implements OnInit {
this.fechaHastaEntrada = moment().startOf('day').toDate();
this.fechaDesdeEntrada = moment(this.fechaHastaEntrada).subtract(this.diasIntervalo, 'days').toDate();
}
this.fechaHasta = moment().startOf('day').toDate();
this.fechaDesde = moment(this.fechaHasta).subtract(this.diasIntervalo, 'days').toDate();
this.estadoEntrada = { id: 'asignada', nombre: 'ASIGNADA' };
}
this.buscarSolicitudes();
Expand All @@ -208,56 +212,51 @@ export class SolicitudesComponent implements OnInit {
recuperarFechas() {
const solicitudes = JSON.parse(localStorage.getItem('solicitudes'));
const fechaHoy = moment().startOf('day').toDate();

this.fechaDesdeEntrada = solicitudes.fechaDesdeEntrada || fechaHoy;
this.fechaHastaEntrada = solicitudes.fechaHastaEntrada || fechaHoy;
this.fechaDesdeSalida = solicitudes.fechaDesdeSalida || fechaHoy;
this.fechaHastaSalida = solicitudes.fechaHastaSalida || fechaHoy;
this.fechaDesde = solicitudes.fechaDesde || fechaHoy;
this.fechaHasta = solicitudes.fechaHasta || fechaHoy;
}

resetFechas() {
localStorage.setItem('solicitudes', JSON.stringify({}));
}

guardarFechas() {
localStorage.setItem('solicitudes', JSON.stringify({ fechaDesdeEntrada: this.fechaDesdeEntrada, fechaHastaEntrada: this.fechaHastaEntrada, fechaDesdeSalida: this.fechaDesdeSalida, fechaHastaSalida: this.fechaHastaSalida }));
localStorage.setItem('solicitudes', JSON.stringify({ fechaDesde: this.fechaDesde, fechaHasta: this.fechaHasta }));
}

cambioFechaDesde() {
const diferencia = moment(this.fechaHastaEntrada).diff(this.fechaDesdeEntrada, 'days');
const diferencia = moment(this.fechaHasta).diff(this.fechaDesde, 'days');

if (this.fechaDesdeEntrada) {
if (this.fechaDesde && this.tipoSolicitud === 'entrada') {
this.mostrarAlertaRangoDias = false;
if (!this.fechaHastaEntrada || (diferencia < 0) || (Math.abs(diferencia) > this.diasIntervalo)) {
this.fechaHastaEntrada = moment(this.fechaDesdeEntrada).add(this.diasIntervalo, 'days').toDate();

if (!this.fechaHasta || (diferencia < 0) || (Math.abs(diferencia) > this.diasIntervalo)) {
this.fechaHasta = moment(this.fechaDesde).add(this.diasIntervalo, 'days').toDate();
this.mostrarAlertaRangoDias = true;
}

this.cargarSolicitudes();
}
}

cambioFechaHasta() {
const diferencia = moment(this.fechaHastaEntrada).diff(this.fechaDesdeEntrada, 'days');
const diferencia = moment(this.fechaHasta).diff(this.fechaDesde, 'days');

if (this.fechaHastaEntrada) {
if (this.fechaHasta && this.tipoSolicitud === 'entrada') {
this.mostrarAlertaRangoDias = false;
if (!this.fechaDesdeEntrada || (diferencia < 0) || (Math.abs(diferencia) > this.diasIntervalo)) {
this.fechaDesdeEntrada = moment(this.fechaHastaEntrada).subtract(this.diasIntervalo, 'days').toDate();

if (!this.fechaDesde || (diferencia < 0) || (Math.abs(diferencia) > this.diasIntervalo)) {
this.fechaDesde = moment(this.fechaHasta).subtract(this.diasIntervalo, 'days').toDate();
this.mostrarAlertaRangoDias = true;
}

this.cargarSolicitudes();
}

this.guardarFechas();
}

cambio(activeTab) {
if (activeTab !== this.activeTab) {
this.actualizacion = false;
this.check = false;
this.actualizarFechas();
this.activeTab = activeTab;
this.tipoSolicitud = (this.activeTab === 0) ? 'entrada' : 'salida';
this.cargarSolicitudes();
Expand Down Expand Up @@ -366,18 +365,8 @@ export class SolicitudesComponent implements OnInit {
(this.tipoSolicitud === 'entrada' ? this.prestacionesEntrada : this.prestacionesSalida).length = 0;
this.skip = 0;
this.scrollEnd = false;

if ((this.tipoSolicitud === 'entrada' && (this.fechaDesdeEntrada && this.fechaHastaEntrada)) ||
(this.tipoSolicitud === 'entrada' && (this.fechaDesdeEntradaActualizacion && this.fechaHastaEntradaActualizacion))) {
this.loader = true;
this.buscarSolicitudes();
}

if ((this.tipoSolicitud === 'salida' && this.fechaDesdeSalida && this.fechaHastaSalida) ||
(this.tipoSolicitud === 'salida' && this.fechaDesdeSalidaActualizacion && this.fechaHastaSalidaActualizacion)) {
this.loader = true;
this.buscarSolicitudes();
}
this.loader = true;
this.buscarSolicitudes();
}

getParams() {
Expand All @@ -392,13 +381,13 @@ export class SolicitudesComponent implements OnInit {
]
};
if (this.tipoSolicitud === 'entrada') {
if (this.fechaDesdeEntrada && this.fechaHastaEntrada) {
params['solicitudDesde'] = this.fechaDesdeEntrada;
params['solicitudHasta'] = this.fechaHastaEntrada;
if (!this.check) {
params['solicitudDesde'] = this.fechaDesde;
params['solicitudHasta'] = this.fechaHasta;
params['ordenFechaDesc'] = true;
} else {
params['solicitudDesdeActualizacion'] = this.fechaDesdeEntradaActualizacion;
params['solicitudHastaActualizacion'] = this.fechaHastaEntradaActualizacion;
params['solicitudDesdeActualizacion'] = this.fechaDesde;
params['solicitudHastaActualizacion'] = this.fechaHasta;
params['ordenFechaDescAct'] = true;
}
/*
Expand Down Expand Up @@ -440,13 +429,13 @@ export class SolicitudesComponent implements OnInit {
params['paciente'] = this.pacienteEntrada;
}
} else {
if (this.fechaDesdeSalida && this.fechaHastaSalida) {
params['solicitudDesde'] = this.fechaDesdeSalida;
params['solicitudHasta'] = this.fechaHastaSalida;
if (!this.check) {
params['solicitudDesde'] = this.fechaDesde;
params['solicitudHasta'] = this.fechaHasta;
params['ordenFechaDesc'] = true;
} else {
params['solicitudDesdeActualizacion'] = this.fechaDesdeSalidaActualizacion;
params['solicitudHastaActualizacion'] = this.fechaHastaSalidaActualizacion;
params['solicitudDesdeActualizacion'] = this.fechaDesde;
params['solicitudHastaActualizacion'] = this.fechaHasta;
params['ordenFechaDescAct'] = true;
}
if (this.asignadas) {
Expand Down Expand Up @@ -523,6 +512,10 @@ export class SolicitudesComponent implements OnInit {
});
}

verFechaDateTimeEntrada() {
return (this.asignadas && this.tipoSolicitud === 'entrada' && !this.actualizacion);
}


returnAuditoria(event) {
this.closeSidebar();
Expand Down Expand Up @@ -661,40 +654,20 @@ export class SolicitudesComponent implements OnInit {
}

onChange() {
this.closeSidebar();
this.actualizacion = !this.actualizacion;
this.actualizarFechas();
this.loader = true;
this.buscarSolicitudes();
this.cargarSolicitudes();
}

actualizarFechas() {
if (this.tipoSolicitud === 'entrada') {
this.prestacionesEntrada = [];
if (this.actualizacion) {
this.fechaDesdeEntrada = null;
this.fechaHastaEntrada = null;
this.fechaDesdeEntradaActualizacion = moment().startOf('day').toDate();
this.fechaHastaEntradaActualizacion = moment().startOf('day').toDate();
} else {
this.fechaDesdeEntrada = moment().startOf('day').toDate();
this.fechaHastaEntrada = moment().startOf('day').toDate();
this.fechaDesdeEntradaActualizacion = null;
this.fechaHastaEntradaActualizacion = null;
}
this.fechaDesde = moment().startOf('day').toDate();
this.fechaHasta = moment().startOf('day').toDate();
} else {
this.prestacionesSalida = [];
if (this.actualizacion) {
this.fechaDesdeSalida = null;
this.fechaHastaSalida = null;
this.fechaDesdeSalidaActualizacion = moment().startOf('day').toDate();
this.fechaHastaSalidaActualizacion = moment().startOf('day').toDate();
} else {
this.fechaDesdeSalida = moment().startOf('day').toDate();
this.fechaHastaSalida = moment().startOf('day').toDate();
this.fechaDesdeSalidaActualizacion = null;
this.fechaHastaSalidaActualizacion = null;
}
this.fechaDesde = moment().startOf('day').toDate();
this.fechaHasta = moment().startOf('day').toDate();
}
}

Expand Down
51 changes: 14 additions & 37 deletions src/app/components/top/solicitudes/solicitudes.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,38 +25,25 @@
<plex-tab label="Entrada" (click)="panelIndex = 0">
<form #formEntrada="ngForm">
<plex-wrapper>
<plex-datetime *ngIf="asignadas && tipoSolicitud === 'entrada' && !this.actualizacion"
type="date" [(ngModel)]="fechaDesdeEntrada" (change)="cambioFechaDesde()"
<plex-datetime *ngIf="verFechaDateTimeEntrada()"
type="date" [(ngModel)]="fechaDesde" (change)="cambioFechaDesde()"
name="fechaDesdeLimitada" label="Registro desde" class="fechas" required>
</plex-datetime>
<plex-datetime *ngIf="asignadas && tipoSolicitud === 'entrada' && !this.actualizacion"
type="date" [(ngModel)]="fechaHastaEntrada" (change)="cambioFechaHasta()"
<plex-datetime *ngIf="verFechaDateTimeEntrada()"
type="date" [(ngModel)]="fechaHasta" (change)="cambioFechaHasta()"
name="fechaHastaLimitada" label="Registro hasta" class="fechas" required>
</plex-datetime>
<plex-datetime *ngIf="!(asignadas && tipoSolicitud === 'entrada') && !this.actualizacion"
type="date" [(ngModel)]="fechaDesdeEntrada" (change)="cargarSolicitudes()"
name="fechaDesde" label="Registro desde" class="fechas" [max]="fechaHastaEntrada"
<plex-datetime *ngIf="!(asignadas && tipoSolicitud === 'entrada')"
type="date" [(ngModel)]="fechaDesde" (change)="cargarSolicitudes()"
name="fechaDesde" label="Registro desde" class="fechas" [max]="fechaHasta"
required>
</plex-datetime>
<plex-datetime *ngIf="!(asignadas && tipoSolicitud === 'entrada') && !this.actualizacion"
type="date" [(ngModel)]="fechaHastaEntrada" (change)="cargarSolicitudes()"
name="fechaHasta" label="Registro hasta" class="fechas" [min]="fechaDesdeEntrada"
<plex-datetime *ngIf="!(asignadas && tipoSolicitud === 'entrada')"
type="date" [(ngModel)]="fechaHasta" (change)="cargarSolicitudes()"
name="fechaHasta" label="Registro hasta" class="fechas" [min]="fechaDesde"
[max]="hoy" required>
</plex-datetime>

<!--FILTRO DE FECHA ACTUALIZACION-->
<plex-datetime *ngIf="this.actualizacion" type="date"
[(ngModel)]="fechaDesdeEntradaActualizacion"
name="fechaDesdeEntradaActualizacion" label="Actualización desde" class="fechas"
(change)="cargarSolicitudes()" [max]="fechaHastaEntradaActualizacion" required>
</plex-datetime>
<plex-datetime *ngIf="this.actualizacion" type="date"
[(ngModel)]="fechaHastaEntradaActualizacion"
name="fechaHastaEntradaActualizacion" label="Actualización hasta" class="fechas"
(change)="cargarSolicitudes()" [min]="fechaDesdeEntradaActualizacion" [max]="hoy"
required>
</plex-datetime>

<plex-select [(ngModel)]="prestacionesDestinoEntrada" name="nombrePrestacion"
label="Prestación destino" name="prestacionDestino"
tmPrestaciones="solicitudes:tipoPrestacion:?" (change)="cargarSolicitudes()"
Expand Down Expand Up @@ -214,23 +201,13 @@
<plex-tab label="Salida">
<form #formSalida="ngForm">
<plex-wrapper>
<plex-datetime *ngIf="!actualizacion" type="date" [(ngModel)]="fechaDesdeSalida"
<plex-datetime type="date" [(ngModel)]="fechaDesde"
(change)="cargarSolicitudes()" name="fechaDesde" label="Registro desde"
class="fechas" [max]="fechaHastaSalida" required>
class="fechas" [max]="fechaHasta" required>
</plex-datetime>
<plex-datetime *ngIf="!actualizacion" type="date" [(ngModel)]="fechaHastaSalida"
<plex-datetime type="date" [(ngModel)]="fechaHasta"
(change)="cargarSolicitudes()" name="fechaHasta" label="Registro hasta"
class="fechas" [min]="fechaDesdeSalida" [max]="hoy" required>
</plex-datetime>
<!--FILTRO DE FECHA ACTUALIZACION-->
<plex-datetime *ngIf="actualizacion" type="date" [(ngModel)]="fechaDesdeSalidaActualizacion"
name="fechaDesdeSalidaActualizacion" label="Actualización desde" class="fechas"
(change)="cargarSolicitudes()" [max]="fechaHastaSalidaActualizacion" required>
</plex-datetime>
<plex-datetime *ngIf="actualizacion" type="date" [(ngModel)]="fechaHastaSalidaActualizacion"
name="fechaHastaSalidaActualizacion" label="Actualización hasta" class="fechas"
(change)="cargarSolicitudes()" [min]="fechaDesdeSalidaActualizacion" [max]="hoy"
required>
class="fechas" [min]="fechaDesde" [max]="hoy" required>
</plex-datetime>
<plex-select [(ngModel)]="prestacionesDestinoSalida" name="nombrePrestacion"
label="Prestación destino" name="prestacionDestino"
Expand Down

0 comments on commit 678d5a2

Please sign in to comment.