Browse Source

Se extendió los dias de vencimiento del link de la encuesta de satisfacción a 3 dias hábiles

delta
mramirezg 2 weeks ago
parent
commit
8177e88afc
3 changed files with 26 additions and 4 deletions
  1. BIN
      src/main/bundles/prod.bundle
  2. +19
    -3
      src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java
  3. +7
    -1
      src/main/java/mx/gob/jumapacelaya/ui/DetallesMantView.java

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


+ 19
- 3
src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java View File

@ -15,8 +15,10 @@ import org.springframework.stereotype.Service;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.sql.*; import java.sql.*;
import java.time.DayOfWeek;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.ZoneId; import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
@ -1042,16 +1044,30 @@ public class DatabaseService {
public String crearTokenEncuesta(int mantenimientoid) { public String crearTokenEncuesta(int mantenimientoid) {
String token = UUID.randomUUID().toString(); 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 (?, ?, ?, ?)"; String query = "INSERT INTO ENCUESTATOKENS (TOKEN, MANTENIMIENTOID, FECHAENVIO, FECHAEXPIRACION) VALUES (?, ?, ?, ?)";
try (Connection conn = getMysqlConnection(); try (Connection conn = getMysqlConnection();
PreparedStatement stmt = conn.prepareStatement(query)) { PreparedStatement stmt = conn.prepareStatement(query)) {
stmt.setString(1, token); stmt.setString(1, token);
stmt.setInt(2, mantenimientoid); stmt.setInt(2, mantenimientoid);
stmt.setDate(3, Date.valueOf(fechaEnvio));
stmt.setDate(3, java.sql.Date.valueOf(fechaEnvio));
stmt.setTimestamp(4, expira); stmt.setTimestamp(4, expira);
stmt.executeUpdate(); stmt.executeUpdate();


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

@ -63,6 +63,7 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser
private String baseUrl; private String baseUrl;
private final H3 id; private final H3 id;
private final TextField mantId;
private final EmailService emailService; private final EmailService emailService;
private HorizontalLayout fechasLayout; private HorizontalLayout fechasLayout;
private TextField txtId; private TextField txtId;
@ -114,10 +115,12 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser
id = new H3(); id = new H3();
mantId = new TextField();
HorizontalLayout headerLayout = new HorizontalLayout(); HorizontalLayout headerLayout = new HorizontalLayout();
headerLayout.setWidthFull(); headerLayout.setWidthFull();
headerLayout.add(id);
headerLayout.setAlignItems(Alignment.BASELINE);
headerLayout.add(id, mantId);
cbTipo = new ComboBox<>("Tipo:"); cbTipo = new ComboBox<>("Tipo:");
cbTipo.setItems(service.getTiposDeMantenimientos()); cbTipo.setItems(service.getTiposDeMantenimientos());
@ -612,6 +615,9 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser
.filter(t -> t.getNombre().equals(detalle.getTipo())) .filter(t -> t.getNombre().equals(detalle.getTipo()))
.findFirst().orElse(null) .findFirst().orElse(null)
); );
mantId.setValue(String.valueOf(mantenimientoIdActual));
mantId.setReadOnly(true);
mantId.setWidth("100px");
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) : "";


Loading…
Cancel
Save