Browse Source

ya se muestra lo que hay en la tabla de mttoprogramados en el grid de la vista de plan anual

master
mramirezg 9 months ago
parent
commit
6b2d18c965
4 changed files with 185 additions and 205 deletions
  1. +28
    -93
      src/main/java/mx/gob/jumapacelaya/models/PlanAnual.java
  2. +45
    -1
      src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java
  3. +53
    -49
      src/main/java/mx/gob/jumapacelaya/ui/MantenimientoView.java
  4. +59
    -62
      src/main/java/mx/gob/jumapacelaya/ui/PlanAnualView.java

+ 28
- 93
src/main/java/mx/gob/jumapacelaya/models/PlanAnual.java View File

@ -1,31 +1,30 @@
package mx.gob.jumapacelaya.models; package mx.gob.jumapacelaya.models;
public class PlanAnual { public class PlanAnual {
private int Numero;
private int numero;
private String nomEquipo; private String nomEquipo;
private String departamento; private String departamento;
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 boolean monitor; // Cambiado a boolean
private boolean teclado; // Cambiado a boolean
private boolean mouse; // Cambiado a boolean
private boolean regulador; // Cambiado a boolean
private boolean cpu; // Cambiado a boolean
private boolean impresora; // Cambiado a boolean
private boolean miniPrint; // Cambiado a boolean
private boolean laptop; // Cambiado a boolean
private boolean escaner; // Cambiado a boolean
private String fecha; private String fecha;
private String smt; private String smt;
private String estado; private String estado;
private String fechaRealizado; private String fechaRealizado;
// Constructor completo
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,
// Constructor
public PlanAnual(int numero, String nomEquipo, String departamento, boolean monitor,
boolean teclado, boolean mouse, boolean regulador,
boolean cpu, boolean impresora, boolean miniPrint,
boolean laptop, boolean escaner, String fecha,
String smt, String estado, String fechaRealizado) { String smt, String estado, String fechaRealizado) {
this.Numero = Numero;
this.numero = numero;
this.nomEquipo = nomEquipo; this.nomEquipo = nomEquipo;
this.departamento = departamento; this.departamento = departamento;
this.monitor = monitor; this.monitor = monitor;
@ -43,132 +42,68 @@ public class PlanAnual {
this.fechaRealizado = fechaRealizado; this.fechaRealizado = fechaRealizado;
} }
// Getters y setters
// Getters
public int getNumero() { public int getNumero() {
return Numero;
}
public void setNumero(int numero) {
Numero = numero;
return numero;
} }
public String getNomEquipo() { public String getNomEquipo() {
return nomEquipo; return nomEquipo;
} }
public void setNomEquipo(String nomEquipo) {
this.nomEquipo = nomEquipo;
}
public String getDepartamento() { public String getDepartamento() {
return departamento; return departamento;
} }
public void setDepartamento(String departamento) {
this.departamento = departamento;
}
public String getMonitor() {
public boolean isMonitor() {
return monitor; return monitor;
} }
public void setMonitor(String monitor) {
this.monitor = monitor;
}
public String getTeclado() {
public boolean isTeclado() {
return teclado; return teclado;
} }
public void setTeclado(String teclado) {
this.teclado = teclado;
}
public String getMouse() {
public boolean isMouse() {
return mouse; 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() {
public boolean isRegulador() {
return regulador; return regulador;
} }
public void setRegulador(String regulador) {
this.regulador = regulador;
public boolean isCpu() {
return cpu;
} }
public String getImpresora() {
public boolean isImpresora() {
return impresora; return impresora;
} }
public void setImpresora(String impresora) {
this.impresora = impresora;
}
public String getMiniPrint() {
public boolean isMiniPrint() {
return miniPrint; return miniPrint;
} }
public void setMiniPrint(String miniPrint) {
this.miniPrint = miniPrint;
}
public String getLaptop() {
public boolean isLaptop() {
return laptop; return laptop;
} }
public void setLaptop(String laptop) {
this.laptop = laptop;
}
public String getEscaner() {
public boolean isEscaner() {
return escaner; return escaner;
} }
public void setEscaner(String escaner) {
this.escaner = escaner;
}
public String getFecha() { public String getFecha() {
return fecha; return fecha;
} }
public void setFecha(String fecha) {
this.fecha = fecha;
}
public String getSmt() { public String getSmt() {
return smt; return smt;
} }
public void setSmt(String smt) {
this.smt = smt;
}
public String getEstado() { public String getEstado() {
return estado; return estado;
} }
public void setEstado(String estado) {
this.estado = estado;
}
public String getFechaRealizado() { public String getFechaRealizado() {
return fechaRealizado; return fechaRealizado;
} }
public void setFechaRealizado(String fechaRealizado) {
this.fechaRealizado = fechaRealizado;
}
} }

+ 45
- 1
src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java View File

@ -1,6 +1,7 @@
package mx.gob.jumapacelaya.services; package mx.gob.jumapacelaya.services;
import com.fasterxml.jackson.databind.jsontype.impl.StdTypeResolverBuilder; import com.fasterxml.jackson.databind.jsontype.impl.StdTypeResolverBuilder;
import mx.gob.jumapacelaya.models.PlanAnual;
import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
@ -141,8 +142,49 @@ public class DatabaseService {
return nombreUsuario; return nombreUsuario;
} }
/* ----------------Obtener el Plan Anual de Mantenimiento ---------------- */
public List<PlanAnual> getPlanAnual() {
List<PlanAnual> planAnualList = new ArrayList<>();
String query = "SELECT * FROM MTTOPROGRAMADOS";
/* -------------- Metodos para insetar en la BD ---------------- */
try (Connection connection = getConnection();
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query)) {
while (resultSet.next()) {
PlanAnual planAnual = new PlanAnual(
resultSet.getInt("mttoprogramadoid"),
resultSet.getString("nomEquipo"),
resultSet.getString("departamento"),
resultSet.getBoolean("monitor"),
resultSet.getBoolean("teclado"),
resultSet.getBoolean("mouse"),
resultSet.getBoolean("regulador"),
resultSet.getBoolean("cpu"),
resultSet.getBoolean("impresora"),
resultSet.getBoolean("miniPrint"),
resultSet.getBoolean("laptop"),
resultSet.getBoolean("escaner"),
resultSet.getString("fechaprog"),
resultSet.getString("tecnicosmt"),
resultSet.getString("estado"),
resultSet.getString("fechaRealizado")
);
planAnualList.add(planAnual);
}
} catch (SQLException e) {
e.printStackTrace();
}
return planAnualList;
}
/*-=iii=<() *-=iii=<() *-=iii=<() *-=iii=<() *-=iii=<() *-=iii=<()*/
/*-=iii=<() *-=iii=<() *-=iii=<() *-=iii=<() *-=iii=<()*/
/*-=iii=<() *-=iii=<() *-=iii=<() *-=iii=<()*/
/*-=iii=<() *-=iii=<() *-=iii=<()*/
/*-=iii=<() *-=iii=<()*/
/* ( ͡° ͜ʖ ͡°) Metodos para insetar en la BD ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) Metodos para insetar en la BD ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) Metodos para insetar en la BD ( ͡° ͜ʖ ͡°) */
// INSERTAR EN TABLA: MANTENIMINETOS // INSERTAR EN TABLA: MANTENIMINETOS
public int insertarMantenimiento(LocalDate fecha, String tipoMantId, String departamentoId, String empleadoId, String formaMant) { public int insertarMantenimiento(LocalDate fecha, String tipoMantId, String departamentoId, String empleadoId, String formaMant) {
String query = "INSERT INTO MANTENIMIENTOS (fecha, tipoMantId, departamentoId, empleadoId, formaMant) VALUES (?, ?, ?, ?, ?)"; String query = "INSERT INTO MANTENIMIENTOS (fecha, tipoMantId, departamentoId, empleadoId, formaMant) VALUES (?, ?, ?, ?, ?)";
@ -170,6 +212,8 @@ public class DatabaseService {
} }
return nuevoId; return nuevoId;
} }
/*( •_•)>⌐■-■ (⌐■_■)( •_•)>⌐■-■ (⌐■_■)( •_•)>⌐■-■ (⌐■_■)( •_•)>⌐■-■ (⌐■_■)( •_•)>⌐■-■ (⌐■_■)( •_•)>⌐■-■ (⌐■_■) */
/* ˁ˚ᴥ˚ˀˁ˚ᴥ˚ˀˁ˚ᴥ˚ˀˁ˚ᴥ˚ˀˁ˚ᴥ˚ˀˁ˚ᴥ˚ˀˁ˚ᴥ˚ˀˁ˚ᴥ˚ˀˁ˚ᴥ˚ˀˁ˚ᴥ˚ˀˁ˚ᴥ˚ˀˁ˚ᴥ˚ˀˁ˚ᴥ˚ˀˁ˚ᴥ˚ˀˁ˚ᴥ˚ˀˁ˚ᴥ˚ˀˁ˚ᴥ˚ˀˁ˚ᴥ˚ˀˁ˚ᴥ˚ˀˁ˚ᴥ˚ˀˁ˚ᴥ˚ˀˁ˚ᴥ˚ˀ */
// INSERTAR EN LA TABLA: HARDWAREDET // INSERTAR EN LA TABLA: HARDWAREDET
public boolean insertarHardware(String tipoHardwareId, int numSerie, String modelo, int placa, int mantenimientoId) { public boolean insertarHardware(String tipoHardwareId, int numSerie, String modelo, int placa, int mantenimientoId) {


+ 53
- 49
src/main/java/mx/gob/jumapacelaya/ui/MantenimientoView.java View File

@ -90,21 +90,23 @@ public class MantenimientoView extends VerticalLayout implements BeforeEnterObse
tipoMantt.addValueChangeListener(event -> { tipoMantt.addValueChangeListener(event -> {
String tipoSeleccionado = event.getValue(); String tipoSeleccionado = event.getValue();
if (tipoSeleccionado != null) { if (tipoSeleccionado != null) {
//Actualizar nomenclatura dependiendo al tipo de mantenimiento
// Actualizar nomenclatura dependiendo del tipo de mantenimiento
String nomenclaturaValue = databaseService.getNomenclatura(tipoSeleccionado); String nomenclaturaValue = databaseService.getNomenclatura(tipoSeleccionado);
nomenclatura.setValue(nomenclaturaValue); nomenclatura.setValue(nomenclaturaValue);
//Si el tipo es preventivo se establecera la fecha automaticamente a la fecha del sistema
if ("PREVENTIVO".equals(tipoSeleccionado)) {
// Si el tipo es preventivo se establecerá la fecha automáticamente a la fecha del sistema
if ("1".equals(tipoSeleccionado)) { // 1 es para PREVENTIVO
this.fecha.setValue(LocalDate.now()); this.fecha.setValue(LocalDate.now());
etiquetaLayout.setVisible(false); etiquetaLayout.setVisible(false);
} else {
} else if ("2".equals(tipoSeleccionado)) { // 2 es para CORRECTIVO
this.fecha.clear(); this.fecha.clear();
etiquetaLayout.setVisible(true); etiquetaLayout.setVisible(true);
correctivoLayout();
} }
} else { } else {
nomenclatura.clear(); nomenclatura.clear();
this.fecha.clear(); this.fecha.clear();
etiquetaLayout.setVisible(false);
} }
}); });
fechaLayout.add(this.fecha); fechaLayout.add(this.fecha);
@ -290,48 +292,50 @@ public class MantenimientoView extends VerticalLayout implements BeforeEnterObse
} }
private void correctivoLayout(){
/* Formulario para cuando el mnatenimiento es de tipo CORRECTIVO */
private void correctivoLayout() {
Span Titulo = new Span("Reparación Realizada al Equipo: "); Span Titulo = new Span("Reparación Realizada al Equipo: ");
TextField txtModelo = new TextField();
txtModelo.setPlaceholder("Modelo");
txtModelo.setWidth("240px");
NumberField txtSerie = new NumberField();
txtSerie.setPlaceholder("No. Serie");
txtSerie.setWidth("240px");
TextField txtSoft = new TextField();
txtSoft.setPlaceholder("Instalación de Software");
txtSoft.setWidth("500px");
TextField txtRepHard = new TextField();
txtRepHard.setPlaceholder("Reparación de Hardware");
txtRepHard.setWidth("500px");
TextField txtCamDisp = new TextField();
txtCamDisp.setPlaceholder("Cambio de Dispositivo");
txtCamDisp.setWidth("500px");
HorizontalLayout model = new HorizontalLayout();
model.add(txtModelo, txtSerie, txtSoft);
model.setSizeFull();
HorizontalLayout hard = new HorizontalLayout();
hard.add(txtRepHard, txtCamDisp);
hard.setSizeFull();
etiquetaLayout.setVisible(false);
etiquetaLayout.add(Titulo, model, hard);
// Verificar el ID del tipo de mantenimiento
String tipoMantId = tipoMantt.getValue();
if ("2".equals(tipoMantId)) { // Solo si el tipo es CORRECTIVO
TextField txtModelo = new TextField();
txtModelo.setPlaceholder("Modelo");
txtModelo.setWidth("240px");
NumberField txtSerie = new NumberField();
txtSerie.setPlaceholder("No. Serie");
txtSerie.setWidth("240px");
TextField txtSoft = new TextField();
txtSoft.setPlaceholder("Instalación de Software");
txtSoft.setWidth("500px");
TextField txtRepHard = new TextField();
txtRepHard.setPlaceholder("Reparación de Hardware");
txtRepHard.setWidth("500px");
TextField txtCamDisp = new TextField();
txtCamDisp.setPlaceholder("Cambio de Dispositivo");
txtCamDisp.setWidth("500px");
HorizontalLayout model = new HorizontalLayout();
model.add(txtModelo, txtSerie, txtSoft);
model.setSizeFull();
HorizontalLayout hard = new HorizontalLayout();
hard.add(txtRepHard, txtCamDisp);
hard.setSizeFull();
etiquetaLayout.add(Titulo, model, hard);
etiquetaLayout.setVisible(true); // Asegúrate de que el layout esté visible
} else {
etiquetaLayout.setVisible(false); // Ocultar si no es correctivo
}
} }
private void signLayout() { private void signLayout() {
VerticalLayout userSignLayout = new VerticalLayout(); VerticalLayout userSignLayout = new VerticalLayout();
SignaturePad userSignPad = new SignaturePad(); SignaturePad userSignPad = new SignaturePad();
@ -392,8 +396,7 @@ public class MantenimientoView extends VerticalLayout implements BeforeEnterObse
String departamentoId = area.getValue(); String departamentoId = area.getValue();
String empleadoId = usuario.getValue(); String empleadoId = usuario.getValue();
// AQUI SE MANEJA LA OPCION SELECIONADA EN LA FORMA DE MANTENIMIENTO (REMOTA o MANUAL)
// AQUI SE MANEJA LA OPCION SELECCIONADA EN LA FORMA DE MANTENIMIENTO (REMOTA o MANUAL)
String formaSeleccionada = formaGroup.getValue(); String formaSeleccionada = formaGroup.getValue();
String formaMantt = null; String formaMantt = null;
@ -403,7 +406,6 @@ public class MantenimientoView extends VerticalLayout implements BeforeEnterObse
formaMantt = "M"; formaMantt = "M";
} }
// VALIDACION PARA QUE TODOS LOS CAMPOS OBLIGATORIOS SEAN LLENADOS // VALIDACION PARA QUE TODOS LOS CAMPOS OBLIGATORIOS SEAN LLENADOS
if (fechaSeleccionada == null || tipoMantId == null || departamentoId == null || empleadoId == null || formaMantt == null) { if (fechaSeleccionada == null || tipoMantId == null || departamentoId == null || empleadoId == null || formaMantt == null) {
Notification.show("Por favor, completa todos los campos requeridos", 4000, Notification.Position.MIDDLE); Notification.show("Por favor, completa todos los campos requeridos", 4000, Notification.Position.MIDDLE);
@ -414,7 +416,6 @@ public class MantenimientoView extends VerticalLayout implements BeforeEnterObse
// AQUI SE MANEJA LA INSERCION DE LOS DETALLES DE HARDWARE (TIPO DE HARDWARE, NO. DE SERIE, MODELO, PLACA) // AQUI SE MANEJA LA INSERCION DE LOS DETALLES DE HARDWARE (TIPO DE HARDWARE, NO. DE SERIE, MODELO, PLACA)
if (isInserted > 0) { if (isInserted > 0) {
int mantenimientoId = databaseService.getUltimoMantenimientoId(); int mantenimientoId = databaseService.getUltimoMantenimientoId();
for (HorizontalLayout layout : hardwareLayouts) { for (HorizontalLayout layout : hardwareLayouts) {
@ -450,7 +451,6 @@ public class MantenimientoView extends VerticalLayout implements BeforeEnterObse
} }
} }
// AQUI MANEJO LA INSERCION DE LOS DATOS DE LOS CHECKBOXES DE ACTUALIZACIONES DE SEGURIDAD!!! // AQUI MANEJO LA INSERCION DE LOS DATOS DE LOS CHECKBOXES DE ACTUALIZACIONES DE SEGURIDAD!!!
for (String actualizacionSelecionada : actualizaciones.getSelectedItems()) { for (String actualizacionSelecionada : actualizaciones.getSelectedItems()) {
boolean isActualizacionInserted = databaseService.insertActualizacionSeg(actualizacionSelecionada, null, mantenimientoId); boolean isActualizacionInserted = databaseService.insertActualizacionSeg(actualizacionSelecionada, null, mantenimientoId);
@ -474,7 +474,6 @@ public class MantenimientoView extends VerticalLayout implements BeforeEnterObse
} }
} }
// NOTIFICACION DE GUARDADO EXITOSO Y LIMPIEZA DE LOS CAMPOS!!! // NOTIFICACION DE GUARDADO EXITOSO Y LIMPIEZA DE LOS CAMPOS!!!
Notification.show("!!Mantenimiento guardado exitosamente!!", 4000, Notification.Position.MIDDLE); Notification.show("!!Mantenimiento guardado exitosamente!!", 4000, Notification.Position.MIDDLE);
fecha.clear(); fecha.clear();
@ -490,6 +489,7 @@ public class MantenimientoView extends VerticalLayout implements BeforeEnterObse
} }
}); });
buttonsLayout.setSizeFull(); buttonsLayout.setSizeFull();
buttonsLayout.add(btnGuardar); buttonsLayout.add(btnGuardar);
botonesLayout.add(buttonsLayout); botonesLayout.add(buttonsLayout);
@ -515,8 +515,12 @@ public class MantenimientoView extends VerticalLayout implements BeforeEnterObse
} }
} }
if ("PREVENTIVO".equalsIgnoreCase(tipoParam)) {
tipoMantt.setValue("PREVENTIVO");
// Cambiamos el valor por el ID
if ("1".equals(tipoParam)) { // 1 es para PREVENTIVO
tipoMantt.setValue("1"); // Establecemos el ID en el ComboBox
tipoMantt.setReadOnly(true);
} else if ("2".equals(tipoParam)) { // 2 es para CORRECTIVO
tipoMantt.setValue("2");
tipoMantt.setReadOnly(true); tipoMantt.setReadOnly(true);
} }
} }


+ 59
- 62
src/main/java/mx/gob/jumapacelaya/ui/PlanAnualView.java View File

@ -38,23 +38,8 @@ public class PlanAnualView extends VerticalLayout {
DatabaseService databaseService = new DatabaseService(); DatabaseService databaseService = new DatabaseService();
public PlanAnualView() { public PlanAnualView() {
VerticalLayout headerLayout = new VerticalLayout();
headerLayout.addClassName("plan-anual-header");
titulo.addClassName("plan-anual-titulo");
titulo1.addClassName("plan-anual-titulo1");
titulo.setText("Plan Anual de Mantenimiento Preventivo de Equipo de Computo");
titulo1.setText("2024");
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);
setupHeader();
Grid<PlanAnual> planAnualGrid = setupGrid();
// Componente UPLOAD para subir archivos // Componente UPLOAD para subir archivos
@ -74,62 +59,74 @@ public class PlanAnualView extends VerticalLayout {
} }
}); });
VerticalLayout gridLayout = new VerticalLayout();
gridLayout.add(planAnualGrid, upload);
Grid<PlanAnual> planAnualGrid = new Grid<>();
planAnualGrid.addColumn(PlanAnual::getNumero).setHeader("No.");
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("Fecha Programada").setAutoWidth(true);
planAnualGrid.addColumn(PlanAnual::getSmt).setHeader("S.M.T").setAutoWidth(true);
planAnualGrid.addColumn(PlanAnual::getEstado).setHeader("Estado").setAutoWidth(true);
planAnualGrid.addColumn(PlanAnual::getFechaRealizado).setHeader("Fecha Realizado").setAutoWidth(true);
planAnualGrid.addComponentColumn(plan -> {
Button btnRealizar = new Button("Realizar");
btnRealizar.addClickListener(event -> {
LocalDate fechaSistem = LocalDate.now();
String fechaStr = fechaSistem.toString();
btnRealizar.getUI().ifPresent(ui -> ui.navigate("mantenimiento?fecha=" + fechaStr + "&tipo=PREVENTIVO"));
});
return btnRealizar;
}).setHeader("Realizar").setAutoWidth(true);
planAnualGrid.setItems();
this.setPadding(false);
this.setMargin(false);
this.setSpacing(false);
add(header, gridLayout);
}
//Datos de ejemplo
List<PlanAnual> 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", "Hector", "Realizado", "16-01-2024")
);
private void setupHeader() {
VerticalLayout headerLayout = new VerticalLayout();
headerLayout.addClassName("plan-anual-header");
planAnualGrid.setItems(planes);
titulo.addClassName("plan-anual-titulo");
titulo1.addClassName("plan-anual-titulo1");
titulo.setText("Plan Anual de Mantenimiento Preventivo de Equipo de Computo");
titulo1.setText("2024");
TextField nomenclaturaTxt = new TextField();
nomenclaturaTxt.setValue("FR01-PA-7.1.3-02");
nomenclaturaTxt.setReadOnly(true);
nomenclaturaTxt.addClassName("nomenclatura-txt");
VerticalLayout gridLayout = new VerticalLayout();
gridLayout.add(planAnualGrid);
header.setAlignSelf(Alignment.CENTER, titulo, titulo1);
headerLayout.add(titulo, titulo1);
add(headerLayout);
}
private Grid<PlanAnual> setupGrid() {
Grid<PlanAnual> planAnualGrid = new Grid<>(PlanAnual.class, false);
planAnualGrid.addColumn(PlanAnual :: getNumero).setHeader("No.");
planAnualGrid.addColumn(PlanAnual :: getNomEquipo).setHeader("Equipo").setAutoWidth(true);
planAnualGrid.addColumn(PlanAnual :: getDepartamento).setHeader("Departamento").setAutoWidth(true);
// Usando iconos en las columnas booleanas
planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isMonitor())).setHeader("Monitor").setAutoWidth(true);
planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isTeclado())).setHeader("Teclado").setAutoWidth(true);
planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isMouse())).setHeader("Mouse").setAutoWidth(true);
planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isRegulador())).setHeader("Regulador").setAutoWidth(true);
planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isCpu())).setHeader("CPU").setAutoWidth(true);
planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isImpresora())).setHeader("Impresora").setAutoWidth(true);
planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isMiniPrint())).setHeader("MiniPrint").setAutoWidth(true);
planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isLaptop())).setHeader("Laptop").setAutoWidth(true);
planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isEscaner())).setHeader("Escáner").setAutoWidth(true);
planAnualGrid.addColumn(PlanAnual :: getFecha).setHeader("Fecha Programada").setAutoWidth(true);
planAnualGrid.addColumn(PlanAnual :: getSmt).setHeader("S.M.T").setAutoWidth(true);
planAnualGrid.addColumn(PlanAnual :: getFechaRealizado).setHeader("Fecha Realizado").setAutoWidth(true);
planAnualGrid.addComponentColumn(planAnual -> {
Button btnRealizar = new Button("Realizar");
btnRealizar.addClickListener(event -> {
LocalDate fechaSistema = LocalDate.now();
String fechaStr = fechaSistema.toString();
btnRealizar.getUI().ifPresent(ui -> ui.navigate("mantenimiento?fecha=" + fechaStr + "&tipo=1"));
});
return btnRealizar;
}).setHeader("Realizado").setAutoWidth(true);
this.setPadding(false);
this.setMargin(false);
this.setSpacing(false);
add(headerLayout, gridLayout, upload);
planAnualGrid.setItems(databaseService.getPlanAnual());
return planAnualGrid;
} }
private Icon getIcon(String value) {
if (value.equalsIgnoreCase("Si") || !value.equalsIgnoreCase("No")) {
private Icon getIcon(boolean value) {
if (value) {
return new Icon(VaadinIcon.CHECK_CIRCLE); return new Icon(VaadinIcon.CHECK_CIRCLE);
} else { } else {
return new Icon(); return new Icon();


Loading…
Cancel
Save