Compare commits

...

1 Commits

5 changed files with 51 additions and 11 deletions
Split View
  1. BIN
      src/main/bundles/prod.bundle
  2. +11
    -1
      src/main/java/mx/gob/jumapacelaya/models/encuestas/MantenimientosSinEncuesta.java
  3. +11
    -7
      src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java
  4. +1
    -1
      src/main/java/mx/gob/jumapacelaya/ui/MainLayout.java
  5. +28
    -2
      src/main/java/mx/gob/jumapacelaya/ui/PlanAnualView.java

BIN
src/main/bundles/prod.bundle View File


+ 11
- 1
src/main/java/mx/gob/jumapacelaya/models/encuestas/MantenimientosSinEncuesta.java View File

@ -12,10 +12,11 @@ public class MantenimientosSinEncuesta {
private String nomUsuario;
private String email;
private String encuesta;
private boolean tieneToken;
public MantenimientosSinEncuesta(int mantenimientoId, int planId, LocalDate fecha,
String periodo, String tipomant, String departamento,
String nomUsuario, String email, String encuesta) {
String nomUsuario, String email, String encuesta, boolean tieneToken) {
this.mantenimientoId = mantenimientoId;
this.planId = planId;
@ -26,6 +27,7 @@ public class MantenimientosSinEncuesta {
this.nomUsuario = nomUsuario;
this.email = email;
this.encuesta = encuesta;
this.tieneToken = tieneToken;
}
public int getMantenimientoId() {
@ -99,4 +101,12 @@ public class MantenimientosSinEncuesta {
public void setEncuesta(String encuesta) {
this.encuesta = encuesta;
}
public boolean isTieneToken() {
return tieneToken;
}
public void setTieneToken(boolean tieneToken) {
this.tieneToken = tieneToken;
}
}

+ 11
- 7
src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java View File

@ -319,7 +319,7 @@ public class DatabaseService {
public List<MantenimientosSinEncuesta> getEncuestPendientes(String mes, int anio) {
List<MantenimientosSinEncuesta> lista = new ArrayList<>();
String query = """
SELECT
SELECT DISTINCT
m.MANTENIMIENTOID MANTID,
m.PLANANUALID PLANID,
m.FECHA,
@ -328,7 +328,8 @@ public class DatabaseService {
d.DESCRIPCION DEPTO,
u.NOMBRE NOMUSUARIO,
u.EMAIL,
m.ENCUESTA
m.ENCUESTA,
CASE WHEN e.TOKEN IS NOT NULL THEN 1 ELSE 0 END AS TIENE_TOKEN
FROM MANTENIMIENTOS m
JOIN TIPOMANT t
ON t.TIPOMANTID = m.TIPOMANTID
@ -340,8 +341,10 @@ public class DatabaseService {
ON p.PLANANUALID = m.PLANANUALID
JOIN MESES ms
ON ms.MESID = p.MESID
WHERE m.ENCUESTA = 'N'
AND m.TIPOMANTID = 1
LEFT JOIN ENCUESTATOKENS e
ON e.MANTENIMIENTOID = m.MANTENIMIENTOID
WHERE
m.TIPOMANTID = 1
AND m.PLANANUALID IS NOT NULL
AND UPPER(ms.NOMBRE) = UPPER(?)
AND EXTRACT(YEAR FROM m.FECHA) = ?
@ -365,7 +368,8 @@ public class DatabaseService {
rs.getString("DEPTO"),
rs.getString("NOMUSUARIO"),
rs.getString("EMAIL"),
rs.getString("ENCUESTA")
rs.getString("ENCUESTA"),
rs.getBoolean("TIENE_TOKEN")
));
}
} catch (SQLException e) {
@ -1098,8 +1102,8 @@ public class DatabaseService {
String query = "SELECT * FROM VW_CONTEO_RESPUESTAS";
try (Connection conn = getMysqlConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query)) {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query)) {
while (rs.next()) {
ConteoRespuestas conteo = new ConteoRespuestas(


+ 1
- 1
src/main/java/mx/gob/jumapacelaya/ui/MainLayout.java View File

@ -93,7 +93,7 @@ public class MainLayout extends AppLayout implements BeforeEnterObserver {
nav.addItem(new SideNavItem("Plan Anual", PlanAnualView.class, VaadinIcon.CALENDAR.create()));
nav.addItem(new SideNavItem("Listado de Actividades", ActDiariaView.class, VaadinIcon.EDIT.create()));
nav.addItem(new SideNavItem("Mantenimiento Correctivo", MantCorrectivoView.class, VaadinIcon.WRENCH.create()));
nav.addItem(new SideNavItem("Resultados de Encuestas", ResultEncuestasView.class, VaadinIcon.CLIPBOARD_TEXT.create()));
nav.addItem(new SideNavItem("Resultados de Encuestas", ResultEncuestasView.class, VaadinIcon.BAR_CHART_H.create()));
nav.addItem(new SideNavItem("Preferencias del Sistema", ConfiguracionView.class, VaadinIcon.COG.create()));
nav.getStyle().set("border-radius", "5px");


+ 28
- 2
src/main/java/mx/gob/jumapacelaya/ui/PlanAnualView.java View File

@ -1095,8 +1095,11 @@ public class PlanAnualView extends VerticalLayout {
grid.addColumn(createStatusRender())
.setHeader("Encuesta");
grid.addColumn(MantenimientosSinEncuesta::getDepartamento)
.setHeader("Departamento");
grid.addColumn(createTokenRender())
.setHeader("Token");
/*grid.addColumn(MantenimientosSinEncuesta::getDepartamento)
.setHeader("Departamento");*/
grid.addColumn(MantenimientosSinEncuesta::getNomUsuario)
.setHeader("Usuario")
@ -1114,6 +1117,11 @@ public class PlanAnualView extends VerticalLayout {
btnEnviar.addThemeVariants(ButtonVariant.LUMO_PRIMARY,
ButtonVariant.LUMO_SUCCESS);
if (item.isTieneToken()) {
btnEnviar.setEnabled(false);
btnEnviar.setText("Enviado");
}
btnEnviar.addClickListener(e -> {
enviarEncuestaDesdeGrid(item);
btnEnviar.setEnabled(false);
@ -1191,4 +1199,22 @@ public class PlanAnualView extends VerticalLayout {
return span;
});
}
private ComponentRenderer<Span, MantenimientosSinEncuesta> createTokenRender() {
return new ComponentRenderer<>(token -> {
Span span = new Span(String.valueOf(token.isTieneToken()));
if (token.isTieneToken()) {
span.setText("S");
String theme2 = String.format("badge %s", "success");
span.getElement().setAttribute("theme", theme2);
} else {
span.setText("N");
String theme1 = String.format("badge %s", "error");
span.getElement().setAttribute("theme", theme1);
}
return span;
});
}
}

Loading…
Cancel
Save