diff --git a/src/main/java/mx/gob/jumapacelaya/models/PlanAnual.java b/src/main/java/mx/gob/jumapacelaya/models/PlanAnual.java new file mode 100644 index 0000000..7e46586 --- /dev/null +++ b/src/main/java/mx/gob/jumapacelaya/models/PlanAnual.java @@ -0,0 +1,164 @@ +package mx.gob.jumapacelaya.models; + +public class PlanAnual { + private int Numero; + private String nomEquipo; + private String monitor; + private String teclado; + private String mouse; + private String regulador; + private String cpu; + private String impresora; + private String miniPrint; + private String laptop; + private String escaner; + private String fecha; + private String smt; + private String estado; + private String fechaRealizado; + + // Constructor completo + public PlanAnual(int Numero, String nomEquipo, String monitor, + String teclado, String mouse, String regulador, + String cpu, String impresora, String miniPrint, + String laptop, String escaner, String fecha, + String smt, String estado, String fechaRealizado) { + + this.Numero = Numero; + this.nomEquipo = nomEquipo; + this.monitor = monitor; + this.teclado = teclado; + this.mouse = mouse; + this.regulador = regulador; + this.cpu = cpu; + this.impresora = impresora; + this.miniPrint = miniPrint; + this.laptop = laptop; + this.escaner = escaner; + this.fecha = fecha; + this.smt = smt; + this.estado = estado; + this.fechaRealizado = fechaRealizado; + } + + // Getters y setters + public int getNumero() { + return Numero; + } + + public void setNumero(int numero) { + Numero = numero; + } + + public String getNomEquipo() { + return nomEquipo; + } + + public void setNomEquipo(String nomEquipo) { + this.nomEquipo = nomEquipo; + } + + public String getMonitor() { + return monitor; + } + + public void setMonitor(String monitor) { + this.monitor = monitor; + } + + public String getTeclado() { + return teclado; + } + + public void setTeclado(String teclado) { + this.teclado = teclado; + } + + public String getMouse() { + return mouse; + } + + public void setMouse(String mouse) { + this.mouse = mouse; + } + + public String getCpu() { + return cpu; + } + + public void setCpu(String cpu) { + this.cpu = cpu; + } + + public String getRegulador() { + return regulador; + } + + public void setRegulador(String regulador) { + this.regulador = regulador; + } + + public String getImpresora() { + return impresora; + } + + public void setImpresora(String impresora) { + this.impresora = impresora; + } + + public String getMiniPrint() { + return miniPrint; + } + + public void setMiniPrint(String miniPrint) { + this.miniPrint = miniPrint; + } + + public String getLaptop() { + return laptop; + } + + public void setLaptop(String laptop) { + this.laptop = laptop; + } + + public String getEscaner() { + return escaner; + } + + public void setEscaner(String escaner) { + this.escaner = escaner; + } + + public String getFecha() { + return fecha; + } + + public void setFecha(String fecha) { + this.fecha = fecha; + } + + public String getSmt() { + return smt; + } + + public void setSmt(String smt) { + this.smt = smt; + } + + public String getEstado() { + return estado; + } + + public void setEstado(String estado) { + this.estado = estado; + } + + public String getFechaRealizado() { + return fechaRealizado; + } + + public void setFechaRealizado(String fechaRealizado) { + this.fechaRealizado = fechaRealizado; + } +} diff --git a/src/main/java/mx/gob/jumapacelaya/ui/MantenimientoView.java b/src/main/java/mx/gob/jumapacelaya/ui/MantenimientoView.java index 9121226..4c8ed29 100644 --- a/src/main/java/mx/gob/jumapacelaya/ui/MantenimientoView.java +++ b/src/main/java/mx/gob/jumapacelaya/ui/MantenimientoView.java @@ -133,18 +133,25 @@ public class MantenimientoView extends VerticalLayout { List tiposHardware = databaseService.getTiposHardware(); tipoHardware.setItems(tiposHardware); tipoHardware.setPlaceholder("Tipo de hardware"); + tipoHardware.setSizeFull(); TextField noSerie = new TextField(); noSerie.setEnabled(false); + noSerie.setRequired(true); noSerie.setPlaceholder("No. Serie"); + noSerie.setSizeFull(); TextField modelo = new TextField(); modelo.setEnabled(false); + modelo.setRequired(true); modelo.setPlaceholder("Modelo"); + modelo.setSizeFull(); TextField placa = new TextField(); placa.setEnabled(false); + placa.setRequired(true); placa.setPlaceholder("Placa"); + placa.setSizeFull(); tipoHardware.addValueChangeListener(event -> { String tipoSeleccionado = event.getValue(); @@ -175,6 +182,7 @@ public class MantenimientoView extends VerticalLayout { //Crear nuevo layout horizontal con estos campos HorizontalLayout hardwareDetailsLayout = new HorizontalLayout(); hardwareDetailsLayout.add(tipoHardware, noSerie, modelo, placa, btnEliminar); + hardwareDetailsLayout.setWidthFull(); //Listener para eliminar el tipo @@ -184,6 +192,7 @@ public class MantenimientoView extends VerticalLayout { controlsLayout.add(hardwareDetailsLayout); + controlsLayout.setSizeFull(); } @@ -197,17 +206,40 @@ public class MantenimientoView extends VerticalLayout { actualizaciones.setItems("S.O", "Antivirus", "Firewall"); RadioButtonGroup formaGroup = new RadioButtonGroup<>(); + formaGroup.setRequired(true); formaGroup.setLabel("Actividad Realizada de Forma:"); formaGroup.setItems("Remota", "Manual"); - VerticalLayout actualizacionesGroup = new VerticalLayout(); - actualizacionesGroup.add(actualizaciones); + TextArea txtCuales = new TextArea(); + txtCuales.setLabel("¿Cuales?"); + txtCuales.setEnabled(false); + txtCuales.setWidthFull(); + + RadioButtonGroup masActualizacionesGroup = new RadioButtonGroup<>(); + masActualizacionesGroup.setRequired(true); + masActualizacionesGroup.setLabel("¿Requiere Más Actualizaciones?"); + masActualizacionesGroup.setItems("Si","No"); + masActualizacionesGroup.addValueChangeListener(event -> { + if ("Si".equals(event.getValue())) { + txtCuales.setEnabled(true); + txtCuales.setRequired(true); + } else { + txtCuales.setEnabled(false); + txtCuales.setRequired(false); + } + }); + + + /*VerticalLayout actualizacionesGroup = new VerticalLayout(); + actualizacionesGroup.add(actualizaciones);*/ + HorizontalLayout formasLayout = new HorizontalLayout(); - formasLayout.add(formaGroup); + formasLayout.add(formaGroup, masActualizacionesGroup, txtCuales); + formasLayout.setSizeFull(); - actualizacionesLayout.add(Titulo, actualizacionesGroup, formasLayout); + actualizacionesLayout.add(Titulo, actualizaciones, formasLayout); actualizacionesLayout.setSpacing(false); } } diff --git a/src/main/java/mx/gob/jumapacelaya/ui/PlanAnualView.java b/src/main/java/mx/gob/jumapacelaya/ui/PlanAnualView.java index 0cd2044..7a39078 100644 --- a/src/main/java/mx/gob/jumapacelaya/ui/PlanAnualView.java +++ b/src/main/java/mx/gob/jumapacelaya/ui/PlanAnualView.java @@ -1,13 +1,16 @@ package mx.gob.jumapacelaya.ui; import com.vaadin.flow.component.dependency.CssImport; -import com.vaadin.flow.component.html.*; +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.orderedlayout.HorizontalLayout; import com.vaadin.flow.component.orderedlayout.VerticalLayout; import com.vaadin.flow.component.textfield.TextField; import com.vaadin.flow.router.PageTitle; import com.vaadin.flow.router.Route; import jakarta.annotation.security.PermitAll; +import mx.gob.jumapacelaya.models.PlanAnual; @PermitAll @PageTitle("Plan Anual de Mantenimiento") @@ -22,36 +25,47 @@ public class PlanAnualView extends VerticalLayout { public PlanAnualView() { VerticalLayout headerLayout = new VerticalLayout(); headerLayout.addClassName("plan-anual-header"); - headerLayout.add(titulo, titulo1); titulo.addClassName("plan-anual-titulo"); titulo1.addClassName("plan-anual-titulo1"); titulo.setText("Plan Anual de Mantenimiento Preventivo de Equipo de Computo"); titulo1.setText("2024"); - header.setAlignSelf(Alignment.CENTER, titulo, titulo1); - - HorizontalLayout nomenclaturaLayout = new HorizontalLayout(); - // Image celayaLogo = new Image("images/logocelaya2124.png", "celaya2024"); - // celayaLogo.addClassName("celaya-logo"); - TextField nomenclaturaTxt = new TextField(); nomenclaturaTxt.setValue("FR01-PA-7.1.3-02"); nomenclaturaTxt.setReadOnly(true); nomenclaturaTxt.addClassName("nomenclatura-txt"); + header.setAlignSelf(Alignment.CENTER, titulo, titulo1); + + headerLayout.add(titulo, titulo1); - // nomenclaturaLayout.add(celayaLogo); - nomenclaturaLayout.addAndExpand(new HorizontalLayout()); - nomenclaturaLayout.add(nomenclaturaTxt); + 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.setItems(); + VerticalLayout gridLayout = new VerticalLayout(); + gridLayout.add(planAnualGrid); this.setPadding(false); this.setMargin(false); this.setSpacing(false); - add(headerLayout, nomenclaturaLayout); - + add(headerLayout, gridLayout); } }