Browse Source

Se añadio una feature que compara las dos fechas tanto la de programacion como la de realizacion y dice si el mantenimiento fue realizado a tiempo o fuera de tiempo, ademas ya no se permite actualizar la fecha de programacion

master
mramirezg 3 weeks ago
parent
commit
b2d8f8852f
5 changed files with 95 additions and 51 deletions
  1. +5
    -1
      src/main/java/mx/gob/jumapacelaya/models/DetalleMantenimientoModel.java
  2. +21
    -1
      src/main/java/mx/gob/jumapacelaya/models/PlanAnual.java
  3. +41
    -25
      src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java
  4. +12
    -18
      src/main/java/mx/gob/jumapacelaya/ui/DetallesMantView.java
  5. +16
    -6
      src/main/java/mx/gob/jumapacelaya/ui/PlanAnualView.java

+ 5
- 1
src/main/java/mx/gob/jumapacelaya/models/DetalleMantenimientoModel.java View File

@ -15,10 +15,11 @@ public class DetalleMantenimientoModel {
private String firmaUser; private String firmaUser;
private String firmaSmt; private String firmaSmt;
private String firmaGcia; private String firmaGcia;
private String situacion;
public DetalleMantenimientoModel(int id, int planAnualId, String tipo, String departamento, public DetalleMantenimientoModel(int id, int planAnualId, String tipo, String departamento,
String usuario, LocalDate fechaprog, LocalDate fecha, String nombreEquipo, String formaMant, String usuario, LocalDate fechaprog, LocalDate fecha, String nombreEquipo, String formaMant,
String firmaUser, String firmaSmt, String firmaGcia) {
String firmaUser, String firmaSmt, String firmaGcia, String situacion) {
this.id = id; this.id = id;
this.planAnualId = planAnualId; this.planAnualId = planAnualId;
@ -32,6 +33,7 @@ public class DetalleMantenimientoModel {
this.firmaUser = firmaUser; this.firmaUser = firmaUser;
this.firmaSmt = firmaSmt; this.firmaSmt = firmaSmt;
this.firmaGcia = firmaGcia; this.firmaGcia = firmaGcia;
this.situacion = situacion;
} }
public int getId() { return id; } public int getId() { return id; }
@ -46,6 +48,7 @@ public class DetalleMantenimientoModel {
public String getFirmaUser() { return firmaUser; } public String getFirmaUser() { return firmaUser; }
public String getFirmaSmt() { return firmaSmt; } public String getFirmaSmt() { return firmaSmt; }
public String getFirmaGcia() { return firmaGcia; } public String getFirmaGcia() { return firmaGcia; }
public String getSituacion() { return situacion; }
public void setId(int id) { this.id = id; } public void setId(int id) { this.id = id; }
public void setPlanAnualId(int planAnualId) { this.planAnualId = planAnualId; } public void setPlanAnualId(int planAnualId) { this.planAnualId = planAnualId; }
@ -59,4 +62,5 @@ public class DetalleMantenimientoModel {
public void setFirmaUser(String firmaUser) { this.firmaUser = firmaUser; } public void setFirmaUser(String firmaUser) { this.firmaUser = firmaUser; }
public void setFirmaSmt(String firmaSmt) { this.firmaSmt = firmaSmt; } public void setFirmaSmt(String firmaSmt) { this.firmaSmt = firmaSmt; }
public void setFirmaGcia(String firmaGcia) { this.firmaGcia = firmaGcia; } public void setFirmaGcia(String firmaGcia) { this.firmaGcia = firmaGcia; }
public void setSituacion(String situacion) { this.situacion = situacion; }
} }

+ 21
- 1
src/main/java/mx/gob/jumapacelaya/models/PlanAnual.java View File

@ -17,15 +17,17 @@ public class PlanAnual {
private boolean escaner; // Cambiado a boolean private boolean escaner; // Cambiado a boolean
private LocalDate fechaProgramada; private LocalDate fechaProgramada;
private LocalDate fechaMantenimiento; private LocalDate fechaMantenimiento;
private String mesplaneado;
private String smt; private String smt;
private String estado; private String estado;
private String situacion;
// Constructor // Constructor
public PlanAnual(int numero, String nomEquipo, String departamento, boolean monitor, public PlanAnual(int numero, String nomEquipo, String departamento, boolean monitor,
boolean teclado, boolean mouse, boolean regulador, boolean teclado, boolean mouse, boolean regulador,
boolean cpu, boolean impresora, boolean miniPrint, boolean cpu, boolean impresora, boolean miniPrint,
boolean laptop, boolean escaner, LocalDate fechaProgramada, boolean laptop, boolean escaner, LocalDate fechaProgramada,
LocalDate fechaMantenimiento, String smt, String estado) {
LocalDate fechaMantenimiento, String mesplaneado, String smt, String estado, String situacion) {
this.numero = numero; this.numero = numero;
this.nomEquipo = nomEquipo; this.nomEquipo = nomEquipo;
@ -41,8 +43,10 @@ public class PlanAnual {
this.escaner = escaner; this.escaner = escaner;
this.fechaProgramada = fechaProgramada; this.fechaProgramada = fechaProgramada;
this.fechaMantenimiento = fechaMantenimiento; this.fechaMantenimiento = fechaMantenimiento;
this.mesplaneado = mesplaneado;
this.smt = smt; this.smt = smt;
this.estado = estado; this.estado = estado;
this.situacion = situacion;
} }
// Getters // Getters
@ -122,4 +126,20 @@ public class PlanAnual {
public void setFechaProgramada(LocalDate fechaProgramada) { public void setFechaProgramada(LocalDate fechaProgramada) {
this.fechaProgramada = fechaProgramada; this.fechaProgramada = fechaProgramada;
} }
public String getMesplaneado() {
return mesplaneado;
}
public void setMesplaneado(String mesplaneado) {
this.mesplaneado = mesplaneado;
}
public String getSituacion() {
return situacion;
}
public void setSituacion(String situacion) {
this.situacion = situacion;
}
} }

+ 41
- 25
src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java View File

@ -162,14 +162,17 @@ public class DatabaseService {
/* ----------------Obtener el Plan Anual de Mantenimiento ---------------- */ /* ----------------Obtener el Plan Anual de Mantenimiento ---------------- */
public List<PlanAnual> getPlanAnual() { public List<PlanAnual> getPlanAnual() {
List<PlanAnual> planAnualList = new ArrayList<>(); List<PlanAnual> planAnualList = new ArrayList<>();
String query = "SELECT p.plananualid, p.nomEquipo, p.area, \r\n" + //
" p.monitor, p.teclado, p.mouse, p.regulador, \r\n" + //
" p.cpu, p.impresora, p.miniPrint, p.laptop, p.escaner, \r\n" + //
" p.fechaprog, m.fecha AS fechaMantenimiento, \r\n" + //
" p.tecnicosmt, p.estado\r\n" + //
"FROM PLANANUAL p\r\n" + //
"LEFT JOIN MANTENIMIENTOS m ON p.plananualid = m.plananualid\r\n" + //
"ORDER BY p.plananualid ASC";
String query = "SELECT p.plananualid, p.nomEquipo, p.area,\n" +
" p.monitor, p.teclado, p.mouse, p.regulador,\n" +
" p.cpu, p.impresora, p.miniPrint, p.laptop, p.escaner,\n" +
" p.fechaprog, m.fecha AS fechaMantenimiento,\n" +
" me.NOMBRE AS MESPLANEADO, p.tecnicosmt, p.estado,\n" +
" COALESCE(v.SITUACION, 'NO REALIZADO') AS SITUACION\n" +
"FROM PLANANUAL p\n" +
"LEFT JOIN MANTENIMIENTOS m ON p.plananualid = m.plananualid\n" +
"LEFT JOIN MESES me ON p.MESID = me.MESID\n" +
"LEFT JOIN VW_SITUACION_MANTENIMIENTO v ON v.PLANANUALID = p.PLANANUALID\n" +
"ORDER BY p.plananualid ASC";
try (Connection connection = getMysqlConnection(); try (Connection connection = getMysqlConnection();
Statement statement = connection.createStatement(); Statement statement = connection.createStatement();
@ -191,8 +194,10 @@ public class DatabaseService {
resultSet.getBoolean("escaner"), resultSet.getBoolean("escaner"),
resultSet.getDate("fechaprog").toLocalDate(), // Cambiado a LocalDate resultSet.getDate("fechaprog").toLocalDate(), // Cambiado a LocalDate
resultSet.getDate("fechaMantenimiento") != null ? resultSet.getDate("fechaMantenimiento").toLocalDate() : null, // Cambiado a LocalDate resultSet.getDate("fechaMantenimiento") != null ? resultSet.getDate("fechaMantenimiento").toLocalDate() : null, // Cambiado a LocalDate
resultSet.getString("mesplaneado"),
resultSet.getString("tecnicosmt"), resultSet.getString("tecnicosmt"),
resultSet.getString("estado")
resultSet.getString("estado"),
resultSet.getString("SITUACION")
); );
planAnualList.add(planAnual); planAnualList.add(planAnual);
} }
@ -207,17 +212,28 @@ public class DatabaseService {
/* ----------------Obtener detalles del mantenimiento ---------------- */ /* ----------------Obtener detalles del mantenimiento ---------------- */
public DetalleMantenimientoModel getDetalleMantenimientoPorPlanAnualId(int planAnualId) { public DetalleMantenimientoModel getDetalleMantenimientoPorPlanAnualId(int planAnualId) {
String query = "SELECT\r\n" + //
"\tm.MANTENIMIENTOID ID, p.PLANANUALID, t.NOMBRE TIPO,\r\n" + //
"\td.DESCRIPCION DEPARTAMENTO, u.NOMBRE USUARIO, pa.FECHAPROG,\r\n" + //
"\tm.FECHA FECHAREALIZADO, NOMBREEQUIPO, FORMAMANT, FIRMAUSUARIO, FIRMASMT, FIRMAGCIA \r\n" + //
"FROM MANTENIMIENTOS m\r\n" + //
"INNER JOIN TIPOMANT t ON m.TIPOMANTID = t.TIPOMANTID\r\n" + //
"INNER JOIN DEPARTAMENTOS d ON m.DEPARTAMENTOID = d.DEPARTAMENTOID\r\n" + //
"INNER JOIN USUARIOS u ON u.EMPLEADOID = m.EMPLEADOID\r\n" + //
"INNER JOIN PLANANUAL p ON m.PLANANUALID = p.PLANANUALID\r\n" + //
"INNER JOIN PLANANUAL pa ON m.PLANANUALID = pa.PLANANUALID \r\n" + //
"WHERE p.PLANANUALID = ?";
String query = "SELECT\n" +
" m.MANTENIMIENTOID AS ID,\n" +
" p.PLANANUALID,\n" +
" t.NOMBRE AS TIPO,\n" +
" d.DESCRIPCION AS DEPARTAMENTO,\n" +
" u.NOMBRE AS USUARIO,\n" +
" v.FECHAPROG,\n" +
" v.FECHAREALIZADO,\n" +
" NOMBREEQUIPO,\n" +
" FORMAMANT,\n" +
" FIRMAUSUARIO,\n" +
" FIRMASMT,\n" +
" FIRMAGCIA,\n" +
" v.SITUACION\n" +
"FROM MANTENIMIENTOS m\n" +
"INNER JOIN TIPOMANT t ON m.TIPOMANTID = t.TIPOMANTID\n" +
"INNER JOIN DEPARTAMENTOS d ON m.DEPARTAMENTOID = d.DEPARTAMENTOID\n" +
"INNER JOIN USUARIOS u ON u.EMPLEADOID = m.EMPLEADOID\n" +
"INNER JOIN PLANANUAL p ON m.PLANANUALID = p.PLANANUALID\n" +
"INNER JOIN PLANANUAL pa ON m.PLANANUALID = pa.PLANANUALID\n" +
"INNER JOIN VW_SITUACION_MANTENIMIENTO v ON v.MANTENIMIENTOID = m.MANTENIMIENTOID\n" +
"WHERE p.PLANANUALID = ?";
try (Connection connection = getMysqlConnection(); try (Connection connection = getMysqlConnection();
PreparedStatement statement = connection.prepareStatement(query)) { PreparedStatement statement = connection.prepareStatement(query)) {
@ -238,7 +254,8 @@ public class DatabaseService {
rs.getString("FORMAMANT"), rs.getString("FORMAMANT"),
rs.getString("FIRMAUSUARIO"), rs.getString("FIRMAUSUARIO"),
rs.getString("FIRMASMT"), rs.getString("FIRMASMT"),
rs.getString("FIRMAGCIA")
rs.getString("FIRMAGCIA"),
rs.getString("SITUACION")
); );
} }
} }
@ -604,13 +621,12 @@ public class DatabaseService {
/* ----------------Actualizar los detalles del del mantenimiento por ID ---------------- */ /* ----------------Actualizar los detalles del del mantenimiento por ID ---------------- */
public boolean actualizarPlanAnual(int planAnualId, String nombreEquipo, LocalDate fechaProg) {
String sql = "UPDATE PLANANUAL SET NOMEQUIPO=?, FECHAPROG=? WHERE PLANANUALID=?";
public boolean actualizarPlanAnual(int planAnualId, String nombreEquipo) {
String sql = "UPDATE PLANANUAL SET NOMEQUIPO=? WHERE PLANANUALID=?";
try (Connection conn = getMysqlConnection(); try (Connection conn = getMysqlConnection();
PreparedStatement stmt = conn.prepareStatement(sql)) { PreparedStatement stmt = conn.prepareStatement(sql)) {
stmt.setString(1, nombreEquipo); stmt.setString(1, nombreEquipo);
stmt.setDate(2, fechaProg != null ? Date.valueOf(fechaProg) : null);
stmt.setInt(3, planAnualId);
stmt.setInt(2, planAnualId);
return stmt.executeUpdate() > 0; return stmt.executeUpdate() > 0;
} catch (SQLException e) { } catch (SQLException e) {
e.printStackTrace(); e.printStackTrace();


+ 12
- 18
src/main/java/mx/gob/jumapacelaya/ui/DetallesMantView.java View File

@ -12,16 +12,12 @@ import com.vaadin.flow.component.html.Anchor;
import com.vaadin.flow.server.StreamResource; import com.vaadin.flow.server.StreamResource;
import mx.gob.jumapacelaya.services.ReportService; import mx.gob.jumapacelaya.services.ReportService;
import org.springframework.security.core.Authentication; import org.springframework.security.core.Authentication;
import org.springframework.cglib.core.Local;
import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.context.SecurityContextHolder;
import org.vaadin.lineawesome.LineAwesomeIcon; import org.vaadin.lineawesome.LineAwesomeIcon;
import com.nimbusds.jose.proc.SecurityContext;
import com.vaadin.flow.component.button.Button; import com.vaadin.flow.component.button.Button;
import com.vaadin.flow.component.combobox.ComboBox; import com.vaadin.flow.component.combobox.ComboBox;
import com.vaadin.flow.component.confirmdialog.ConfirmDialog;
import com.vaadin.flow.component.dependency.CssImport; import com.vaadin.flow.component.dependency.CssImport;
import com.vaadin.flow.component.dialog.Dialog; import com.vaadin.flow.component.dialog.Dialog;
import com.vaadin.flow.component.grid.Grid;
import com.vaadin.flow.component.grid.GridVariant; import com.vaadin.flow.component.grid.GridVariant;
import com.vaadin.flow.component.gridpro.GridPro; import com.vaadin.flow.component.gridpro.GridPro;
import com.vaadin.flow.component.html.H3; import com.vaadin.flow.component.html.H3;
@ -34,8 +30,6 @@ import com.vaadin.flow.component.notification.NotificationVariant;
import com.vaadin.flow.component.orderedlayout.HorizontalLayout; import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
import com.vaadin.flow.component.orderedlayout.VerticalLayout; import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.component.textfield.TextField; import com.vaadin.flow.component.textfield.TextField;
import com.vaadin.flow.data.binder.Binder;
import com.vaadin.flow.function.ValueProvider;
import com.vaadin.flow.router.BeforeEnterEvent; import com.vaadin.flow.router.BeforeEnterEvent;
import com.vaadin.flow.router.BeforeEnterObserver; import com.vaadin.flow.router.BeforeEnterObserver;
import com.vaadin.flow.router.PageTitle; import com.vaadin.flow.router.PageTitle;
@ -51,7 +45,6 @@ import mx.gob.jumapacelaya.models.TiposMantenimiento;
import mx.gob.jumapacelaya.models.Usuario; import mx.gob.jumapacelaya.models.Usuario;
import mx.gob.jumapacelaya.services.DatabaseService; import mx.gob.jumapacelaya.services.DatabaseService;
import mx.gob.jumapacelaya.services.SecurityService; import mx.gob.jumapacelaya.services.SecurityService;
import oracle.net.aso.f;
@PageTitle("Detalles del mantenimiento") @PageTitle("Detalles del mantenimiento")
@Route(value = "detalles", layout = MainLayout.class) @Route(value = "detalles", layout = MainLayout.class)
@ -70,7 +63,8 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser
private TextField txtEquipo; private TextField txtEquipo;
private ComboBox<TiposMantenimiento> cbTipo; private ComboBox<TiposMantenimiento> cbTipo;
private TextField txtFecha; private TextField txtFecha;
private TextField txtFechaRealizacion;
private TextField txtFechaProgramada;
private TextField txtSituacion;
private ComboBox<Usuario> cbUsuario; private ComboBox<Usuario> cbUsuario;
private ComboBox<DepartamentosModel> cbDepartamento; private ComboBox<DepartamentosModel> cbDepartamento;
private GridPro<HardwareDetalle> gridHardware; private GridPro<HardwareDetalle> gridHardware;
@ -144,10 +138,12 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser
fechasLayout = new HorizontalLayout(); fechasLayout = new HorizontalLayout();
fechasLayout.setWidthFull(); fechasLayout.setWidthFull();
txtFecha = new TextField("Fecha realización:"); txtFecha = new TextField("Fecha realización:");
txtFechaRealizacion = new TextField("Fecha programada:");
txtFechaProgramada = new TextField("Fecha programada:");
txtSituacion = new TextField("Situación:");
txtFecha.setReadOnly(true); txtFecha.setReadOnly(true);
txtFechaRealizacion.setReadOnly(true);
fechasLayout.add(txtFechaRealizacion,txtFecha);
txtFechaProgramada.setReadOnly(true);
txtSituacion.setReadOnly(true);
fechasLayout.add(txtFechaProgramada,txtFecha,txtSituacion);
layout3 = new HorizontalLayout(); layout3 = new HorizontalLayout();
layout3.setWidthFull(); layout3.setWidthFull();
@ -225,7 +221,6 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser
txtEquipo.setReadOnly(false); txtEquipo.setReadOnly(false);
cbTipo.setReadOnly(false); cbTipo.setReadOnly(false);
txtFecha.setReadOnly(false); txtFecha.setReadOnly(false);
txtFechaRealizacion.setReadOnly(false);
cbUsuario.setReadOnly(false); cbUsuario.setReadOnly(false);
cbDepartamento.setReadOnly(false); cbDepartamento.setReadOnly(false);
btnImprimirRepo.setVisible(false); btnImprimirRepo.setVisible(false);
@ -255,7 +250,6 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser
txtEquipo.setReadOnly(true); txtEquipo.setReadOnly(true);
cbTipo.setReadOnly(true); cbTipo.setReadOnly(true);
txtFecha.setReadOnly(true); txtFecha.setReadOnly(true);
txtFechaRealizacion.setReadOnly(true);
cbUsuario.setReadOnly(true); cbUsuario.setReadOnly(true);
cbDepartamento.setReadOnly(true); cbDepartamento.setReadOnly(true);
btnImprimirRepo.setVisible(true); btnImprimirRepo.setVisible(true);
@ -350,7 +344,6 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser
txtEquipo.setReadOnly(true); txtEquipo.setReadOnly(true);
cbTipo.setReadOnly(true); cbTipo.setReadOnly(true);
txtFecha.setReadOnly(true); txtFecha.setReadOnly(true);
txtFechaRealizacion.setReadOnly(true);
cbUsuario.setReadOnly(true); cbUsuario.setReadOnly(true);
cbDepartamento.setReadOnly(true); cbDepartamento.setReadOnly(true);
btnImprimirRepo.setVisible(true); btnImprimirRepo.setVisible(true);
@ -392,7 +385,7 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser
// Fechas (corrige el campo) // Fechas (corrige el campo)
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
LocalDate fechaProg = !txtFechaRealizacion.getValue().isEmpty() ? LocalDate.parse(txtFechaRealizacion.getValue(), formatter) : null;
LocalDate fechaProg = !txtFechaProgramada.getValue().isEmpty() ? LocalDate.parse(txtFechaProgramada.getValue(), formatter) : null;
LocalDate fechaRealizado = !txtFecha.getValue().isEmpty() ? LocalDate.parse(txtFecha.getValue(), formatter) : null; LocalDate fechaRealizado = !txtFecha.getValue().isEmpty() ? LocalDate.parse(txtFecha.getValue(), formatter) : null;
@ -414,7 +407,7 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser
// ACTUALIZA PLANANUAL (nombre del equipo y fecha programada) // ACTUALIZA PLANANUAL (nombre del equipo y fecha programada)
if (!service.actualizarPlanAnual(planAnualIdActual, txtEquipo.getValue(), fechaProg)) {
if (!service.actualizarPlanAnual(planAnualIdActual, txtEquipo.getValue())) {
exito = false; exito = false;
} }
// ACTUALIZA MANTENIMIENTOS (tipo, departamento, usuario, fecha realizado) // ACTUALIZA MANTENIMIENTOS (tipo, departamento, usuario, fecha realizado)
@ -456,7 +449,6 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser
txtEquipo.setReadOnly(true); txtEquipo.setReadOnly(true);
cbTipo.setReadOnly(true); cbTipo.setReadOnly(true);
txtFecha.setReadOnly(true); txtFecha.setReadOnly(true);
txtFechaRealizacion.setReadOnly(true);
cbUsuario.setReadOnly(true); cbUsuario.setReadOnly(true);
cbDepartamento.setReadOnly(true); cbDepartamento.setReadOnly(true);
btnImprimirRepo.setVisible(true); btnImprimirRepo.setVisible(true);
@ -545,9 +537,11 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
String fechaProg = detalle.getFechaprog() != null ? detalle.getFechaprog().format(formatter) : ""; String fechaProg = detalle.getFechaprog() != null ? detalle.getFechaprog().format(formatter) : "";
String fechaReal = detalle.getFecha() != null ? detalle.getFecha().format(formatter) : ""; String fechaReal = detalle.getFecha() != null ? detalle.getFecha().format(formatter) : "";
String situacion = detalle.getSituacion() != null ? detalle.getSituacion() : "";
txtFechaRealizacion.setValue(fechaProg);
txtFechaProgramada.setValue(fechaProg);
txtFecha.setValue(fechaReal); txtFecha.setValue(fechaReal);
txtSituacion.setValue(situacion);
cbUsuario.setValue( cbUsuario.setValue(
cbUsuario.getListDataView().getItems() cbUsuario.getListDataView().getItems()
.filter(u -> u.getNombre().equals(detalle.getUsuario())) .filter(u -> u.getNombre().equals(detalle.getUsuario()))


+ 16
- 6
src/main/java/mx/gob/jumapacelaya/ui/PlanAnualView.java View File

@ -90,8 +90,8 @@ public class PlanAnualView extends VerticalLayout {
planAnualFilter.setExcludeRealizado(true); planAnualFilter.setExcludeRealizado(true);
HeaderRow headerRow = planAnualGrid.appendHeaderRow(); HeaderRow headerRow = planAnualGrid.appendHeaderRow();
headerRow.getCell(planAnualGrid.getColumnByKey("smtColumnKey"))
.setComponent(createFilterHeader("S.M.T", planAnualFilter::setSmt));
/*headerRow.getCell(planAnualGrid.getColumnByKey("smtColumnKey"))
.setComponent(createFilterHeader("S.M.T", planAnualFilter::setSmt));*/
headerRow.getCell(planAnualGrid.getColumnByKey("equipoColumnKey")) headerRow.getCell(planAnualGrid.getColumnByKey("equipoColumnKey"))
.setComponent(createFilterHeader("Equipo", planAnualFilter::setEquipo)); .setComponent(createFilterHeader("Equipo", planAnualFilter::setEquipo));
@ -265,6 +265,12 @@ public class PlanAnualView extends VerticalLayout {
planAnualGrid.addThemeVariants(GridVariant.LUMO_WRAP_CELL_CONTENT); planAnualGrid.addThemeVariants(GridVariant.LUMO_WRAP_CELL_CONTENT);
planAnualGrid.addThemeVariants(GridVariant.LUMO_ROW_STRIPES); planAnualGrid.addThemeVariants(GridVariant.LUMO_ROW_STRIPES);
planAnualGrid.addColumn(planAnual -> {
String mesPlaneado = planAnual.getMesplaneado();
return mesPlaneado != null ? mesPlaneado.toUpperCase() : "N/A";
}).setHeader("Mes Planeado").setAutoWidth(true);
// Fechas formateadas // Fechas formateadas
planAnualGrid.addColumn(planAnual -> { planAnualGrid.addColumn(planAnual -> {
LocalDate fecha = planAnual.getFechaProgramada(); LocalDate fecha = planAnual.getFechaProgramada();
@ -276,14 +282,18 @@ public class PlanAnualView extends VerticalLayout {
return fecha != null ? fecha.format(DateTimeFormatter.ofPattern("dd/MM/yyyy")) : ""; return fecha != null ? fecha.format(DateTimeFormatter.ofPattern("dd/MM/yyyy")) : "";
}).setHeader("Fecha Realización").setAutoWidth(true).setSortable(true); }).setHeader("Fecha Realización").setAutoWidth(true).setSortable(true);
planAnualGrid.addColumn((ValueProvider<PlanAnual, String>) PlanAnual::getEstado) planAnualGrid.addColumn((ValueProvider<PlanAnual, String>) PlanAnual::getEstado)
.setHeader("Estado").setAutoWidth(true); .setHeader("Estado").setAutoWidth(true);
planAnualGrid.addColumn((ValueProvider<PlanAnual, String>) PlanAnual::getSmt)
.setHeader("S.M.T").setKey("smtColumnKey");
planAnualGrid.addColumn((ValueProvider<PlanAnual, String>) PlanAnual::getSituacion)
.setHeader("Situación").setAutoWidth(true);
/*planAnualGrid.addColumn((ValueProvider<PlanAnual, String>) PlanAnual::getSmt)
.setHeader("S.M.T").setKey("smtColumnKey");*/
// Iconos en columnas booleanas // Iconos en columnas booleanas
planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isMonitor())).setHeader("Monitor");
/*planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isMonitor())).setHeader("Monitor");
planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isTeclado())).setHeader("Teclado"); planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isTeclado())).setHeader("Teclado");
planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isMouse())).setHeader("Mouse"); planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isMouse())).setHeader("Mouse");
planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isRegulador())).setHeader("Regulador"); planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isRegulador())).setHeader("Regulador");
@ -291,7 +301,7 @@ public class PlanAnualView extends VerticalLayout {
planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isImpresora())).setHeader("Impresora"); planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isImpresora())).setHeader("Impresora");
planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isMiniPrint())).setHeader("MiniPrint"); planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isMiniPrint())).setHeader("MiniPrint");
planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isLaptop())).setHeader("Laptop"); planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isLaptop())).setHeader("Laptop");
planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isEscaner())).setHeader("Escáner");
planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isEscaner())).setHeader("Escáner");*/
// Cargar datos // Cargar datos
planAnualGrid.setItems(databaseService.getPlanAnual()); planAnualGrid.setItems(databaseService.getPlanAnual());


Loading…
Cancel
Save