From fee71d0de034b1154a1650a7f56e3dea9c9ee470 Mon Sep 17 00:00:00 2001 From: mramirezg Date: Thu, 12 Jun 2025 16:21:41 -0600 Subject: [PATCH] Se agrego otro grid editable donde se muestran las actualizaciones de seguridad que se le hicieron al equipo durante el mantenimiento --- .../models/ActualizacioneSeguridadModel.java | 27 ++++++++++++++++ .../services/DatabaseService.java | 30 +++++++++++++++++ .../gob/jumapacelaya/ui/DetallesMantView.java | 32 ++++++++++++++++++- 3 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 src/main/java/mx/gob/jumapacelaya/models/ActualizacioneSeguridadModel.java diff --git a/src/main/java/mx/gob/jumapacelaya/models/ActualizacioneSeguridadModel.java b/src/main/java/mx/gob/jumapacelaya/models/ActualizacioneSeguridadModel.java new file mode 100644 index 0000000..aace753 --- /dev/null +++ b/src/main/java/mx/gob/jumapacelaya/models/ActualizacioneSeguridadModel.java @@ -0,0 +1,27 @@ +package mx.gob.jumapacelaya.models; + +public class ActualizacioneSeguridadModel { + private int actualizacionsegId; + private String descripcion; + private String otrasactualizaciones; + private int mantenimientoId; + + public ActualizacioneSeguridadModel(int actualizacionsegId, String descripcion, String otrasactualizaciones, int mantenimientoId) { + this.actualizacionsegId = actualizacionsegId; + this.descripcion = descripcion; + this.otrasactualizaciones = otrasactualizaciones; + this.mantenimientoId = mantenimientoId; + } + + + public int getActualizacionsegId() { return actualizacionsegId; } + public String getDescripcion() { return descripcion; } + public String getOtrasactualizaciones() { return otrasactualizaciones; } + public int getMantenimientoId() { return mantenimientoId; } + + public void setActualizacionsegId(int actualizacionsegId) { this.actualizacionsegId = actualizacionsegId; } + public void setDescripcion(String descripcion) { this.descripcion = descripcion; } + public void setOtrasactualizaciones(String otrasactualizaciones) { this.otrasactualizaciones = otrasactualizaciones; } + public void setMantenimientoId(int mantenimientoId) { this.mantenimientoId = mantenimientoId;} + +} diff --git a/src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java b/src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java index dcc41bd..4fb739c 100644 --- a/src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java +++ b/src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java @@ -279,6 +279,36 @@ public class DatabaseService { } + /* ---------------- Obtener las actualizaciones de seguridad ---------------- */ + public List getActualizacionesSeg(int mantenimientoId) { + List actualizaciones = new ArrayList<>(); + String query = "SELECT *\r\n" + // + "FROM ACTUALIZACIONESSEG a\r\n" + // + "WHERE a.MANTENIMIENTOID = ?"; + + try (Connection conn = getMysqlConnection(); + PreparedStatement stmt = conn.prepareStatement(query)) { + + stmt.setInt(1, mantenimientoId); + ResultSet rs = stmt.executeQuery(); + + while (rs.next()) { + ActualizacioneSeguridadModel actualizacion = new ActualizacioneSeguridadModel( + rs.getInt("ACTUALIZACIONSEGID"), + rs.getString("DESCRIPCION"), + rs.getString("OTRASACTUALIZACIONES"), + rs.getInt("MANTENIMIENTOID") + ); + actualizaciones.add(actualizacion); + } + + } catch (SQLException e) { + e.printStackTrace(); + } + return actualizaciones; + } + + /*-=iii=<() *-=iii=<() *-=iii=<() *-=iii=<() *-=iii=<() *-=iii=<()*/ /*-=iii=<() *-=iii=<() *-=iii=<() *-=iii=<() *-=iii=<()*/ /*-=iii=<() *-=iii=<() *-=iii=<() *-=iii=<()*/ diff --git a/src/main/java/mx/gob/jumapacelaya/ui/DetallesMantView.java b/src/main/java/mx/gob/jumapacelaya/ui/DetallesMantView.java index 90c219a..1c6e1d4 100644 --- a/src/main/java/mx/gob/jumapacelaya/ui/DetallesMantView.java +++ b/src/main/java/mx/gob/jumapacelaya/ui/DetallesMantView.java @@ -33,6 +33,7 @@ import com.vaadin.flow.router.PageTitle; import com.vaadin.flow.router.Route; import jakarta.annotation.security.PermitAll; +import mx.gob.jumapacelaya.models.ActualizacioneSeguridadModel; import mx.gob.jumapacelaya.models.DepartamentosModel; import mx.gob.jumapacelaya.models.DetalleMantenimientoModel; import mx.gob.jumapacelaya.models.HardwareDetalle; @@ -61,6 +62,7 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser private ComboBox cbUsuario; private ComboBox cbDepartamento; private GridPro gridHardware; + private GridPro gridActualizaciones; private Button btnEditar; private Button btnImprimirRepo; private Button btnCancelar; @@ -127,6 +129,7 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser layout3.add(cbUsuario,cbDepartamento); + // Grid que muestra los detalles del hardware gridHardware = new GridPro<>(); gridHardware.addColumn(item -> item.getDescripcion()) .setHeader("Descripción"); @@ -152,6 +155,26 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser gridHardware.addThemeVariants(GridVariant.LUMO_ROW_STRIPES); + + // Grid que muestra las actualizaciones de seguridad + gridActualizaciones = new GridPro<>(); + gridActualizaciones.addEditColumn(ActualizacioneSeguridadModel::getDescripcion) + .text((item, newValue) -> item.setDescripcion(newValue)) + .setHeader("Descripción") + .setEditorComponent(new TextField()); + + gridActualizaciones.addEditColumn(ActualizacioneSeguridadModel::getOtrasactualizaciones) + .text((item, newValue) -> item.setOtrasactualizaciones(newValue)) + .setHeader("Otras Actualizaciones") + .setEditorComponent(new TextField()); + + gridActualizaciones.setWidthFull(); + gridActualizaciones.setEditOnClick(false); + gridActualizaciones.setHeight("200px"); + gridActualizaciones.addThemeVariants(GridVariant.LUMO_ROW_STRIPES); + + + botonesLayout = new HorizontalLayout(); botonesLayout.setWidthFull(); botonesLayout.setJustifyContentMode(JustifyContentMode.CENTER); @@ -180,6 +203,7 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser btnGuardar.setVisible(true); btnCancelar.setVisible(true); gridHardware.setEditOnClick(true); + gridActualizaciones.setEditOnClick(true); }); btnCancelar.addClickListener(e -> { @@ -195,6 +219,8 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser btnCancelar.setVisible(false); gridHardware.setEditOnClick(false); gridHardware.getEditor().cancel(); + gridActualizaciones.setEditOnClick(false); + gridActualizaciones.getEditor().cancel(); }); @@ -258,7 +284,7 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser confirmDialog.getFooter().add(dialogButtons); - mainLayout.add(headerLayout,layout2,fechasLayout,layout3,gridHardware,botonesLayout); + mainLayout.add(headerLayout,layout2,fechasLayout,layout3,gridHardware,gridActualizaciones,botonesLayout); add(mainLayout); } @@ -362,6 +388,10 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser int mantId = detalle.getId(); List listaHardware = service.getHardwaredetallePorMantId(mantId); gridHardware.setItems(listaHardware); + + List listaActualizaciones = service.getActualizacionesSeg(mantId); + gridActualizaciones.setItems(listaActualizaciones); + gridActualizaciones.setVisible(!listaActualizaciones.isEmpty()); } else { id.setText("No se encontro informacion para el Plan ID: " + planId); }