package com.megatim.fdxconsultation.dao.impl.supervision;
|
|
import com.megatim.fdxconsultation.model.supervision.SensTransfert;
|
import java.time.LocalDateTime;
|
|
/**
|
*
|
* @author Gabuntu
|
*/
|
public class TransfertDaoDynamicWhereString {
|
|
private final SensTransfert sens;
|
private final LocalDateTime dateDebut;
|
private final LocalDateTime dateFin;
|
|
public TransfertDaoDynamicWhereString(SensTransfert sens, LocalDateTime dateDebut, LocalDateTime dateFin) {
|
this.sens = sens;
|
this.dateDebut = dateDebut;
|
this.dateFin = dateFin;
|
}
|
|
public String query() {
|
StringBuilder stringBuilder = new StringBuilder("");
|
boolean hasCriteria = false;
|
|
if (sens != null) {
|
stringBuilder.append(" t.sensTransfert = :sens ");
|
hasCriteria = true;
|
}
|
|
if (dateDebut != null) {
|
if (hasCriteria) {
|
stringBuilder.append(" AND ");
|
}
|
stringBuilder.append(" t.dateDebut >= :dateDebut ");
|
hasCriteria = true;
|
}
|
|
if (dateFin != null) {
|
if (hasCriteria) {
|
stringBuilder.append(" AND ");
|
}
|
stringBuilder.append(" t.dateFin <= :dateFin ");
|
}
|
|
return stringBuilder.toString();
|
}
|
|
public String nativeQuery() {
|
StringBuilder stringBuilder = new StringBuilder("");
|
boolean hasCriteria = false;
|
|
if (sens != null) {
|
stringBuilder.append(" t.senstransfert = :sens ");
|
hasCriteria = true;
|
}
|
|
if (dateDebut != null) {
|
if (hasCriteria) {
|
stringBuilder.append(" AND ");
|
}
|
stringBuilder.append(" t.datedebut >= :dateDebut ");
|
hasCriteria = true;
|
}
|
|
if (dateFin != null) {
|
if (hasCriteria) {
|
stringBuilder.append(" AND ");
|
}
|
stringBuilder.append(" t.datefin <= :dateFin ");
|
}
|
|
return stringBuilder.toString();
|
}
|
|
}
|