From 7fbbca892d6f6b5ba2b8a816b4edaf4346a6e767 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Antonio=20Ram=C3=ADrez=20Galv=C3=A1n?= Date: Mon, 30 Sep 2024 16:20:23 -0600 Subject: [PATCH] Se agrego datos de mustra al grid de plan anual y alguna que otra funcion --- .../mx/gob/jumapacelaya/models/PlanAnual.java | 12 +++- .../mx/gob/jumapacelaya/ui/PlanAnualView.java | 67 +++++++++++++++---- 2 files changed, 64 insertions(+), 15 deletions(-) diff --git a/src/main/java/mx/gob/jumapacelaya/models/PlanAnual.java b/src/main/java/mx/gob/jumapacelaya/models/PlanAnual.java index 7e46586..af63523 100644 --- a/src/main/java/mx/gob/jumapacelaya/models/PlanAnual.java +++ b/src/main/java/mx/gob/jumapacelaya/models/PlanAnual.java @@ -3,6 +3,7 @@ package mx.gob.jumapacelaya.models; public class PlanAnual { private int Numero; private String nomEquipo; + private String departamento; private String monitor; private String teclado; private String mouse; @@ -18,7 +19,7 @@ public class PlanAnual { private String fechaRealizado; // Constructor completo - public PlanAnual(int Numero, String nomEquipo, String monitor, + public PlanAnual(int Numero, String nomEquipo, String departamento, String monitor, String teclado, String mouse, String regulador, String cpu, String impresora, String miniPrint, String laptop, String escaner, String fecha, @@ -26,6 +27,7 @@ public class PlanAnual { this.Numero = Numero; this.nomEquipo = nomEquipo; + this.departamento = departamento; this.monitor = monitor; this.teclado = teclado; this.mouse = mouse; @@ -58,6 +60,14 @@ public class PlanAnual { this.nomEquipo = nomEquipo; } + public String getDepartamento() { + return departamento; + } + + public void setDepartamento(String departamento) { + this.departamento = departamento; + } + public String getMonitor() { return monitor; } diff --git a/src/main/java/mx/gob/jumapacelaya/ui/PlanAnualView.java b/src/main/java/mx/gob/jumapacelaya/ui/PlanAnualView.java index 7a39078..885a8d6 100644 --- a/src/main/java/mx/gob/jumapacelaya/ui/PlanAnualView.java +++ b/src/main/java/mx/gob/jumapacelaya/ui/PlanAnualView.java @@ -1,9 +1,13 @@ package mx.gob.jumapacelaya.ui; +import com.vaadin.flow.component.button.Button; import com.vaadin.flow.component.dependency.CssImport; import com.vaadin.flow.component.grid.Grid; import com.vaadin.flow.component.html.H4; import com.vaadin.flow.component.html.H5; +import com.vaadin.flow.component.icon.Icon; +import com.vaadin.flow.component.icon.VaadinIcon; +import com.vaadin.flow.component.notification.Notification; import com.vaadin.flow.component.orderedlayout.HorizontalLayout; import com.vaadin.flow.component.orderedlayout.VerticalLayout; import com.vaadin.flow.component.textfield.TextField; @@ -12,6 +16,10 @@ import com.vaadin.flow.router.Route; import jakarta.annotation.security.PermitAll; import mx.gob.jumapacelaya.models.PlanAnual; +import java.lang.reflect.Array; +import java.util.Arrays; +import java.util.List; + @PermitAll @PageTitle("Plan Anual de Mantenimiento") @Route(value = "/", layout = MainLayout.class) @@ -43,29 +51,60 @@ public class PlanAnualView extends VerticalLayout { Grid planAnualGrid = new Grid<>(); planAnualGrid.addColumn(PlanAnual::getNumero).setHeader("No."); - planAnualGrid.addColumn(PlanAnual::getNomEquipo).setHeader("Equipo"); - planAnualGrid.addColumn(PlanAnual::getMonitor).setHeader("Monitor"); - planAnualGrid.addColumn(PlanAnual::getTeclado).setHeader("Teclado"); - planAnualGrid.addColumn(PlanAnual::getMouse).setHeader("Mouse"); - planAnualGrid.addColumn(PlanAnual::getRegulador).setHeader("Regulador"); - planAnualGrid.addColumn(PlanAnual::getCpu).setHeader("CPU"); - planAnualGrid.addColumn(PlanAnual::getImpresora).setHeader("Impresora"); - planAnualGrid.addColumn(PlanAnual::getMiniPrint).setHeader("MiniPrint"); - planAnualGrid.addColumn(PlanAnual::getLaptop).setHeader("Laptop"); - planAnualGrid.addColumn(PlanAnual::getEscaner).setHeader("Escáner"); - planAnualGrid.addColumn(PlanAnual::getFecha).setHeader("Fecha"); - planAnualGrid.addColumn(PlanAnual::getSmt).setHeader("SMT"); - planAnualGrid.addColumn(PlanAnual::getEstado).setHeader("Estado"); - planAnualGrid.addColumn(PlanAnual::getFechaRealizado).setHeader("Fecha Realizado"); + planAnualGrid.addColumn(PlanAnual::getNomEquipo).setHeader("Equipo").setAutoWidth(true); + planAnualGrid.addColumn(PlanAnual::getDepartamento).setHeader("Departamento").setAutoWidth(true); + + planAnualGrid.addComponentColumn(plan -> getIcon(plan.getMonitor())).setHeader("Monitor").setAutoWidth(true); + planAnualGrid.addComponentColumn(plan -> getIcon(plan.getTeclado())).setHeader("Teclado").setAutoWidth(true); + planAnualGrid.addComponentColumn(plan -> getIcon(plan.getMouse())).setHeader("Mouse").setAutoWidth(true); + planAnualGrid.addComponentColumn(plan -> getIcon(plan.getRegulador())).setHeader("Regulador").setAutoWidth(true); + planAnualGrid.addComponentColumn(plan -> getIcon(plan.getCpu())).setHeader("CPU").setAutoWidth(true); + planAnualGrid.addComponentColumn(plan -> getIcon(plan.getImpresora())).setHeader("Impresora").setAutoWidth(true); + planAnualGrid.addComponentColumn(plan -> getIcon(plan.getMiniPrint())).setHeader("MiniPrint").setAutoWidth(true); + planAnualGrid.addComponentColumn(plan -> getIcon(plan.getLaptop())).setHeader("Laptop").setAutoWidth(true); + planAnualGrid.addComponentColumn(plan -> getIcon(plan.getEscaner())).setHeader("Escáner").setAutoWidth(true); + planAnualGrid.addColumn(PlanAnual::getFecha).setHeader("Realizar").setAutoWidth(true); + planAnualGrid.addColumn(PlanAnual::getSmt).setHeader("Smt").setAutoWidth(true); + planAnualGrid.addColumn(PlanAnual::getEstado).setHeader("Estado").setAutoWidth(true); + planAnualGrid.addColumn(PlanAnual::getFechaRealizado).setHeader("Mes Realizacion").setAutoWidth(true); + + planAnualGrid.addComponentColumn(plan -> { + Button btnRealizar = new Button("Realizar"); + btnRealizar.addClickListener(event -> { + btnRealizar.getUI().ifPresent(ui -> ui.navigate(MantenimientoView.class)); + }); + return btnRealizar; + }).setHeader("Realizar").setAutoWidth(true); + planAnualGrid.setItems(); + //Datos de ejemplo + List planes = Arrays.asList( + new PlanAnual(1, "INFORM15","T.I", "No", "Logitech", "Logitech", "APC", "si", "HP", "No", "Dell", "Canon", "01-01-2024", "Hector", "Pendiente", "02-01-2024"), + new PlanAnual(2, "ATENCI01", "Atencion", "si", "Dell", "no", "APC", "AMD", "Brother", "Sí", "HP", "no", "15-01-2024", "JuanPI", "Realizado", "16-01-2024"), + new PlanAnual(3, "MEDCAT08", "T.I", "si", "Dell", "no", "APC", "AMD", "Brother", "Sí", "HP", "no", "15-01-2024", "JuanPI", "Cancelado", "16-01-2024"), + new PlanAnual(4, "CALAGUA03", "T.I", "si", "Dell", "no", "APC", "AMD", "Brother", "Sí", "HP", "no", "15-01-2024", "JuanPI", "Pendiente", "16-01-2024") + ); + + planAnualGrid.setItems(planes); + + VerticalLayout gridLayout = new VerticalLayout(); gridLayout.add(planAnualGrid); + this.setPadding(false); this.setMargin(false); this.setSpacing(false); add(headerLayout, gridLayout); } + + private Icon getIcon(String value) { + if (value.equalsIgnoreCase("Si") || !value.equalsIgnoreCase("No")) { + return new Icon(VaadinIcon.CHECK_CIRCLE); + } else { + return new Icon(); + } + } }