Commit 16f01006 authored by RenanMontenegro3's avatar RenanMontenegro3

feat: implementa campo dataCreate e ajusta consultas por data

- Adiciona campo dataCreate com @CreationTimestamp em Vessel
- Simplifica consultas por data em VesselCustomRepository e AcceptCustomRepository
- Atualiza configuração de CORS para desenvolvimento local
parent 8005e615
......@@ -6,8 +6,10 @@ import br.com.treinaweb.twjobs.core.enums.VeriStatus;
import jakarta.persistence.*;
import lombok.*;
import org.hibernate.annotations.ColumnDefault;
import org.hibernate.annotations.CreationTimestamp;
import java.nio.file.Path;
import java.time.LocalDateTime;
import java.util.Optional;
@Data
......@@ -77,6 +79,9 @@ public class Vessel {
@Column(nullable = true, length = 10)
private Float calado_max;
@CreationTimestamp
@Column(name = "data_create", updatable = false)
private LocalDateTime dataCreate;
// @Column(nullable = false, length = 20)
......
......@@ -42,15 +42,9 @@ public class AcceptCustomRepository {
query += condicao + "A.categoria = :categoria";
condicao = " and ";
}
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
if (dataInicio != null && dataFim != null) {
query += condicao + "A.data_create BETWEEN :dataInicio AND :dataFim";
} else if (dataInicio != null) {
query += condicao + "A.data_create >= :dataInicio";
} else if (dataFim != null) {
query += condicao + "A.data_create <= :dataFim";
if (dataInicio != null) {
query += condicao + "A.data_create LIKE :data_create";
condicao = " and ";
}
var q = em.createQuery(query, Accept.class);
......@@ -70,16 +64,11 @@ public class AcceptCustomRepository {
if (categoria != null) {
q.setParameter("categoria", categoria);
}
if (dataInicio != null && dataFim != null) {
q.setParameter("dataInicio", dataInicio.format(formatter));
q.setParameter("dataFim", dataFim.format(formatter));
} else if (dataInicio != null) {
q.setParameter("dataInicio", dataInicio.format(formatter));
} else if (dataFim != null) {
q.setParameter("dataFim", dataFim.format(formatter));
if (dataInicio != null) {
q.setParameter("data_create", "%"+dataInicio+"%");
}
return q.getResultList();
}
}
......@@ -47,13 +47,9 @@ public class VesselCustomRepository {
query += condicao + "A.nome LIKE :nome";
condicao = " and ";
}
if (dataInicio != null && dataFim != null) {
query += condicao + "A.time_create BETWEEN :dataInicio AND :dataFim";
} else if (dataInicio != null) {
query += condicao + "A.time_create >= :dataInicio";
} else if (dataFim != null) {
query += condicao + "A.time_create <= :dataFim";
if (dataInicio != null) {
query += condicao + "CAST(A.dataCreate AS string) LIKE :dataCreate";
condicao = " and ";
}
var q = em.createQuery(query, Vessel.class);
......@@ -75,12 +71,9 @@ public class VesselCustomRepository {
}
if (dataInicio != null) {
q.setParameter("dataInicio", dataInicio.atStartOfDay());
q.setParameter("dataCreate", "%" + dataInicio + "%");
}
if (dataFim != null) {
q.setParameter("dataFim", dataFim.atTime(23, 59, 59));
}
return q.getResultList();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment