@ -387,22 +387,17 @@ public class PlanAnualView extends VerticalLayout {
dataProvider = new ListDataProvider < > ( todosLosPlanes ) ;
dataProvider = new ListDataProvider < > ( todosLosPlanes ) ;
planAnualGrid . setDataProvider ( dataProvider ) ;
planAnualGrid . setDataProvider ( dataProvider ) ;
yearFilter . addValueChangeListener ( event - > {
ListDataProvider < PlanAnual > ds = ( ListDataProvider < PlanAnual > ) planAnualGrid . getDataProvider ( ) ;
Integer selectedYear = event . getValue ( ) ;
ds . clearFilters ( ) ;
if ( selectedYear ! = null ) {
ds . addFilter ( plan - > {
LocalDate fecha = plan . getFechaProgramada ( ) ;
return fecha ! = null & & fecha . getYear ( ) = = selectedYear ;
} ) ;
dataProvider . addFilter ( plan - > {
if ( "REALIZADO" . equalsIgnoreCase ( plan . getEstado ( ) ) ) {
return ! "NO REALIZADO" . equalsIgnoreCase ( plan . getSituacion ( ) ) ;
}
}
ds . refreshAll ( ) ;
return true ;
} ) ;
} ) ;
yearFilter . addValueChangeListener ( event - >
aplicarFiltros ( event . getValue ( ) )
) ;
btnImprimirLayout = new HorizontalLayout ( btnColumns , btnImprimirRpt , btnAddEquipo /*, btnEnviarEncuestas*/ , yearFilter ) ;
btnImprimirLayout = new HorizontalLayout ( btnColumns , btnImprimirRpt , btnAddEquipo /*, btnEnviarEncuestas*/ , yearFilter ) ;
btnImprimirLayout . setAlignItems ( Alignment . BASELINE ) ;
btnImprimirLayout . setAlignItems ( Alignment . BASELINE ) ;
HorizontalLayout columnSelectorLayout = new HorizontalLayout ( ) ;
HorizontalLayout columnSelectorLayout = new HorizontalLayout ( ) ;
@ -1000,4 +995,23 @@ public class PlanAnualView extends VerticalLayout {
dialog . getFooter ( ) . add ( dialogFooter ) ;
dialog . getFooter ( ) . add ( dialogFooter ) ;
dialog . open ( ) ;
dialog . open ( ) ;
}
}
private void aplicarFiltros ( Integer selectedYear ) {
dataProvider . clearFilters ( ) ;
if ( selectedYear ! = null ) {
dataProvider . addFilter ( plan - > {
LocalDate fecha = plan . getFechaProgramada ( ) ;
return fecha ! = null & & fecha . getYear ( ) = = selectedYear ;
} ) ;
}
dataProvider . addFilter ( plan - > {
if ( "REALIZADO" . equalsIgnoreCase ( plan . getEstado ( ) ) ) {
return ! "NO REALIZADO" . equalsIgnoreCase ( plan . getSituacion ( ) ) ;
}
return true ;
} ) ;
}
}
}