diff --git a/src/main/bundles/prod.bundle b/src/main/bundles/prod.bundle index 2a81869..8cd2200 100644 Binary files a/src/main/bundles/prod.bundle and b/src/main/bundles/prod.bundle differ diff --git a/src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java b/src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java index 669353b..b84dfb2 100644 --- a/src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java +++ b/src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java @@ -15,8 +15,10 @@ import org.springframework.stereotype.Service; import java.io.IOException; import java.io.InputStream; import java.sql.*; +import java.time.DayOfWeek; import java.time.LocalDate; import java.time.ZoneId; +import java.time.ZonedDateTime; import java.util.ArrayList; import java.util.List; import java.util.UUID; @@ -1042,16 +1044,30 @@ public class DatabaseService { public String crearTokenEncuesta(int mantenimientoid) { String token = UUID.randomUUID().toString(); - Timestamp expira = new Timestamp(System.currentTimeMillis() + (24 * 60 * 60 * 1000)); - LocalDate fechaEnvio = LocalDate.now(ZoneId.of("America/Mexico_City")); + ZoneId zonaMX = ZoneId.of("America/Mexico_City"); + ZonedDateTime ahora = ZonedDateTime.now(zonaMX); + + ZonedDateTime fechaExp = ahora; + int diasPorSumar = 3; + while (diasPorSumar > 0) { + fechaExp = fechaExp.plusDays(1); + if (!(fechaExp.getDayOfWeek() == DayOfWeek.SATURDAY || + fechaExp.getDayOfWeek() == DayOfWeek.SUNDAY)) { + diasPorSumar--; + } + } + + Timestamp expira = Timestamp.from(fechaExp.toInstant()); + LocalDate fechaEnvio = ahora.toLocalDate(); String query = "INSERT INTO ENCUESTATOKENS (TOKEN, MANTENIMIENTOID, FECHAENVIO, FECHAEXPIRACION) VALUES (?, ?, ?, ?)"; try (Connection conn = getMysqlConnection(); PreparedStatement stmt = conn.prepareStatement(query)) { + stmt.setString(1, token); stmt.setInt(2, mantenimientoid); - stmt.setDate(3, Date.valueOf(fechaEnvio)); + stmt.setDate(3, java.sql.Date.valueOf(fechaEnvio)); stmt.setTimestamp(4, expira); stmt.executeUpdate(); diff --git a/src/main/java/mx/gob/jumapacelaya/ui/DetallesMantView.java b/src/main/java/mx/gob/jumapacelaya/ui/DetallesMantView.java index 8a44906..131e4fd 100644 --- a/src/main/java/mx/gob/jumapacelaya/ui/DetallesMantView.java +++ b/src/main/java/mx/gob/jumapacelaya/ui/DetallesMantView.java @@ -63,6 +63,7 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser private String baseUrl; private final H3 id; + private final TextField mantId; private final EmailService emailService; private HorizontalLayout fechasLayout; private TextField txtId; @@ -114,10 +115,12 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser id = new H3(); + mantId = new TextField(); HorizontalLayout headerLayout = new HorizontalLayout(); headerLayout.setWidthFull(); - headerLayout.add(id); + headerLayout.setAlignItems(Alignment.BASELINE); + headerLayout.add(id, mantId); cbTipo = new ComboBox<>("Tipo:"); cbTipo.setItems(service.getTiposDeMantenimientos()); @@ -612,6 +615,9 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser .filter(t -> t.getNombre().equals(detalle.getTipo())) .findFirst().orElse(null) ); + mantId.setValue(String.valueOf(mantenimientoIdActual)); + mantId.setReadOnly(true); + mantId.setWidth("100px"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy"); String fechaProg = detalle.getFechaprog() != null ? detalle.getFechaprog().format(formatter) : "";