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; ...@@ -6,8 +6,10 @@ import br.com.treinaweb.twjobs.core.enums.VeriStatus;
import jakarta.persistence.*; import jakarta.persistence.*;
import lombok.*; import lombok.*;
import org.hibernate.annotations.ColumnDefault; import org.hibernate.annotations.ColumnDefault;
import org.hibernate.annotations.CreationTimestamp;
import java.nio.file.Path; import java.nio.file.Path;
import java.time.LocalDateTime;
import java.util.Optional; import java.util.Optional;
@Data @Data
...@@ -77,6 +79,9 @@ public class Vessel { ...@@ -77,6 +79,9 @@ public class Vessel {
@Column(nullable = true, length = 10) @Column(nullable = true, length = 10)
private Float calado_max; private Float calado_max;
@CreationTimestamp
@Column(name = "data_create", updatable = false)
private LocalDateTime dataCreate;
// @Column(nullable = false, length = 20) // @Column(nullable = false, length = 20)
......
...@@ -42,15 +42,9 @@ public class AcceptCustomRepository { ...@@ -42,15 +42,9 @@ public class AcceptCustomRepository {
query += condicao + "A.categoria = :categoria"; query += condicao + "A.categoria = :categoria";
condicao = " and "; condicao = " and ";
} }
if (dataInicio != null) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); query += condicao + "A.data_create LIKE :data_create";
condicao = " and ";
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";
} }
var q = em.createQuery(query, Accept.class); var q = em.createQuery(query, Accept.class);
...@@ -70,16 +64,11 @@ public class AcceptCustomRepository { ...@@ -70,16 +64,11 @@ public class AcceptCustomRepository {
if (categoria != null) { if (categoria != null) {
q.setParameter("categoria", categoria); q.setParameter("categoria", categoria);
} }
if (dataInicio != null) {
if (dataInicio != null && dataFim != null) { q.setParameter("data_create", "%"+dataInicio+"%");
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));
} }
return q.getResultList(); return q.getResultList();
} }
} }
...@@ -47,13 +47,9 @@ public class VesselCustomRepository { ...@@ -47,13 +47,9 @@ public class VesselCustomRepository {
query += condicao + "A.nome LIKE :nome"; query += condicao + "A.nome LIKE :nome";
condicao = " and "; condicao = " and ";
} }
if (dataInicio != null) {
if (dataInicio != null && dataFim != null) { query += condicao + "CAST(A.dataCreate AS string) LIKE :dataCreate";
query += condicao + "A.time_create BETWEEN :dataInicio AND :dataFim"; condicao = " and ";
} else if (dataInicio != null) {
query += condicao + "A.time_create >= :dataInicio";
} else if (dataFim != null) {
query += condicao + "A.time_create <= :dataFim";
} }
var q = em.createQuery(query, Vessel.class); var q = em.createQuery(query, Vessel.class);
...@@ -75,12 +71,9 @@ public class VesselCustomRepository { ...@@ -75,12 +71,9 @@ public class VesselCustomRepository {
} }
if (dataInicio != null) { 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(); 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