diff --git a/src/main/java/mx/gob/jumapacelaya/ui/DetallesMantView.java b/src/main/java/mx/gob/jumapacelaya/ui/DetallesMantView.java index 388662f..62c3989 100644 --- a/src/main/java/mx/gob/jumapacelaya/ui/DetallesMantView.java +++ b/src/main/java/mx/gob/jumapacelaya/ui/DetallesMantView.java @@ -201,7 +201,7 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser HorizontalLayout botonesHeaderLyt = new HorizontalLayout(); botonesHeaderLyt.setWidthFull(); - botonesHeaderLyt.add(btnImprimirRepo); + botonesHeaderLyt.add(btnImprimirRepo, btnEnviarEncuesta); HorizontalLayout botonesLayout = new HorizontalLayout(); botonesLayout.setWidthFull(); @@ -529,8 +529,15 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser String linkEncuesta = baseUrl + "/encuesta?mantenimientoId=" + mantenimientoIdActual; - String cuerpo = linkEncuesta; - String imagePath = ""; + String cuerpo = "" + + "" + + "" + + ""+ + "" + + "" + + ""; + + String imagePath = "META-INF/resources/images/imgCorreo/imgEncuesta.png"; emailService.enviarCorreo(destinatario,asunto,cuerpo,imagePath); Notification.show("Encuesta enviada correctamente para el mantenimiento No. " + mantenimientoIdActual, 3000, Notification.Position.MIDDLE) diff --git a/src/main/java/mx/gob/jumapacelaya/ui/MantenimientoView.java b/src/main/java/mx/gob/jumapacelaya/ui/MantenimientoView.java index 50cffb1..32c49a6 100644 --- a/src/main/java/mx/gob/jumapacelaya/ui/MantenimientoView.java +++ b/src/main/java/mx/gob/jumapacelaya/ui/MantenimientoView.java @@ -565,7 +565,7 @@ public class MantenimientoView extends VerticalLayout implements BeforeEnterObse "" + ""; - String imagePath = "META-INF/resources/images/imgCorreo/correoMantt.png"; + String imagePath = "META-INF/resources/images/imgCorreo/MttoRealizado.png"; emailService.enviarCorreo(destinatario, asunto, cuerpo, imagePath); diff --git a/src/main/java/mx/gob/jumapacelaya/ui/PlanAnualView.java b/src/main/java/mx/gob/jumapacelaya/ui/PlanAnualView.java index db78c42..9e73cfd 100644 --- a/src/main/java/mx/gob/jumapacelaya/ui/PlanAnualView.java +++ b/src/main/java/mx/gob/jumapacelaya/ui/PlanAnualView.java @@ -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 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 yearFilter = new ComboBox<>(); + int currentYear = Year.now().getValue(); + List years = IntStream.rangeClosed(currentYear - 1, currentYear + 4) + .boxed().collect(Collectors.toList()); + yearFilter.setItems(years); + yearFilter.setPlaceholder("Año"); + yearFilter.setClearButtonVisible(true); + + List todosLosPlanes = databaseService.getPlanAnual(); + dataProvider = new ListDataProvider<>(todosLosPlanes); + planAnualGrid.setDataProvider(dataProvider); + + yearFilter.addValueChangeListener(event -> { + ListDataProvider ds = (ListDataProvider) 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; } diff --git a/src/main/resources/META-INF/resources/images/imgCorreo/MttoRealizado.png b/src/main/resources/META-INF/resources/images/imgCorreo/MttoRealizado.png new file mode 100644 index 0000000..390473a Binary files /dev/null and b/src/main/resources/META-INF/resources/images/imgCorreo/MttoRealizado.png differ diff --git a/src/main/resources/META-INF/resources/images/imgCorreo/imgEncuesta.png b/src/main/resources/META-INF/resources/images/imgCorreo/imgEncuesta.png new file mode 100644 index 0000000..fffa464 Binary files /dev/null and b/src/main/resources/META-INF/resources/images/imgCorreo/imgEncuesta.png differ