@ -33,6 +33,7 @@ import com.vaadin.flow.component.textfield.NumberField;
import com.vaadin.flow.component.textfield.TextField ;
import com.vaadin.flow.component.upload.Upload ;
import com.vaadin.flow.component.upload.receivers.MemoryBuffer ;
import com.vaadin.flow.data.provider.ListDataProvider ;
import com.vaadin.flow.data.value.ValueChangeMode ;
import com.vaadin.flow.function.ValueProvider ;
import com.vaadin.flow.router.PageTitle ;
@ -60,6 +61,8 @@ import java.time.Year;
import java.time.format.DateTimeFormatter ;
import java.util.* ;
import java.util.function.Consumer ;
import java.util.stream.Collectors ;
import java.util.stream.IntStream ;
@PermitAll
@PageTitle ( "Plan Anual de Mantenimiento" )
@ -69,6 +72,7 @@ public class PlanAnualView extends VerticalLayout {
private final Environment env ;
private final ReportService reportService ;
private ListDataProvider < PlanAnual > dataProvider ;
H4 titulo = new H4 ( ) ;
H5 titulo1 = new H5 ( ) ;
@ -364,7 +368,36 @@ public class PlanAnualView extends VerticalLayout {
enviarEncConfirm . addConfirmListener ( e - > { } ) ;
btnEnviarEncuestas . addClickListener ( e - > enviarEncConfirm . open ( ) ) ;
btnImprimirLayout = new HorizontalLayout ( btnColumns , btnImprimirRpt , btnAddEquipo , btnEnviarEncuestas ) ;
ComboBox < Integer > yearFilter = new ComboBox < > ( ) ;
int currentYear = Year . now ( ) . getValue ( ) ;
List < Integer > years = IntStream . rangeClosed ( currentYear - 1 , currentYear + 4 )
. boxed ( ) . collect ( Collectors . toList ( ) ) ;
yearFilter . setItems ( years ) ;
yearFilter . setPlaceholder ( "Año" ) ;
yearFilter . setClearButtonVisible ( true ) ;
List < PlanAnual > todosLosPlanes = databaseService . getPlanAnual ( ) ;
dataProvider = new ListDataProvider < > ( todosLosPlanes ) ;
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 ;
} ) ;
}
ds . refreshAll ( ) ;
} ) ;
btnImprimirLayout = new HorizontalLayout ( btnColumns , btnImprimirRpt , btnAddEquipo /*, btnEnviarEncuestas*/ , yearFilter ) ;
btnImprimirLayout . setAlignItems ( Alignment . BASELINE ) ;
HorizontalLayout columnSelectorLayout = new HorizontalLayout ( ) ;
columnSelectorLayout . setAlignItems ( Alignment . END ) ;
@ -406,8 +439,7 @@ public class PlanAnualView extends VerticalLayout {
chkColumns . setValue ( defaultColumns ) ;
popover . add ( heading , chkColumns ) ;
/ / Cargar datos
planAnualGrid . setItems ( databaseService . getPlanAnual ( ) ) ;
return planAnualGrid ;
}