/*
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
*/
|
package com.megatim.fdxconsultation.dao.impl.referentiel.historique;
|
|
import com.megatim.fdxcommons.dao.ifaces.referentiel.historique.ReferentielIntegrationHistoriqueDAO;
|
import com.megatim.fdxcommons.model.referentiel.historique.ReferentielIntegrationHistorique;
|
import com.megatim.fdxcommons.model.referentiel.historique.ReferentielIntegrationHistoriqueId;
|
import java.util.List;
|
import java.util.Optional;
|
import javax.ejb.Stateless;
|
import javax.persistence.EntityManager;
|
import javax.persistence.PersistenceContext;
|
|
/**
|
*
|
* @author ASUS
|
*/
|
@Stateless
|
public class ReferentielIntegrationHistoriqueDAOImpl implements ReferentielIntegrationHistoriqueDAO {
|
|
@PersistenceContext(unitName = "fdxConsultationPersistenceUnit")
|
protected EntityManager em;
|
|
@Override
|
public Class<ReferentielIntegrationHistorique> getManagedEntityClass() {
|
return ReferentielIntegrationHistorique.class;
|
}
|
|
@Override
|
public EntityManager getEntityManager() {
|
return em;
|
}
|
|
@Override
|
public ReferentielIntegrationHistorique getById(ReferentielIntegrationHistoriqueId id) {
|
Optional<ReferentielIntegrationHistorique> optRefInt = em
|
.createQuery("SELECT r FROM ReferentielIntegrationHistorique r"
|
+ " WHERE r.codeTypeFichier = :codeTypeFichier AND r.referentielVersion = :refVersion")
|
.setParameter("codeTypeFichier", id.getCodeTypeFichier())
|
.setParameter("refVersion", id.getReferentielVersion())
|
.getResultList()
|
.stream()
|
.findFirst();
|
|
return optRefInt.isPresent() ? optRefInt.get() : null;
|
}
|
|
@Override
|
public ReferentielIntegrationHistorique suitableIntegrationHistorique(String codeTypeFichier, String refVersion) {
|
Optional<ReferentielIntegrationHistorique> optRefInt = em
|
.createQuery("SELECT r FROM ReferentielIntegrationHistorique r"
|
+ " WHERE r.codeTypeFichier = :codeTypeFichier AND :refVersion MEMBER OF r.dependingReferentiels")
|
.setParameter("codeTypeFichier", codeTypeFichier)
|
.setParameter("refVersion", refVersion)
|
.getResultList()
|
.stream()
|
.findFirst();
|
|
return optRefInt.isPresent() ? optRefInt.get() : null;
|
}
|
|
@Override
|
public List<ReferentielIntegrationHistorique> suitableIntegrationHistorique(String refVersion) {
|
return em
|
.createQuery("SELECT r FROM ReferentielIntegrationHistorique r"
|
+ " WHERE :refVersion MEMBER OF r.dependingReferentiels")
|
.setParameter("refVersion", refVersion)
|
.getResultList();
|
}
|
}
|