From 23a46b4be35277e06ec89f48730eeb694e686be8 Mon Sep 17 00:00:00 2001
From: Kenmegne <stephanie.kenmegne@gmail.com>
Date: Thu, 18 Jun 2026 15:40:06 +0000
Subject: [PATCH] add fdx-commons and fdx-consultation
---
fdx-commons/fdxcommons-dao-ifaces/src/main/java/com/megatim/fdxcommons/dao/ifaces/integration/ColumnDefinitionDAO.java | 84 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 84 insertions(+), 0 deletions(-)
diff --git a/fdx-commons/fdxcommons-dao-ifaces/src/main/java/com/megatim/fdxcommons/dao/ifaces/integration/ColumnDefinitionDAO.java b/fdx-commons/fdxcommons-dao-ifaces/src/main/java/com/megatim/fdxcommons/dao/ifaces/integration/ColumnDefinitionDAO.java
new file mode 100644
index 0000000..73dccdc
--- /dev/null
+++ b/fdx-commons/fdxcommons-dao-ifaces/src/main/java/com/megatim/fdxcommons/dao/ifaces/integration/ColumnDefinitionDAO.java
@@ -0,0 +1,84 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Interface.java to edit this template
+ */
+package com.megatim.fdxcommons.dao.ifaces.integration;
+
+import com.megatim.fdxcommons.dao.ifaces.abstracts.CustomDAOIfaces;
+import com.megatim.fdxcommons.model.integration.ColumnDefinition;
+import com.megatim.fdxcommons.model.integration.ColumnDefinitionId;
+import com.megatim.fdxcommons.model.searchentities.ColumnDefinitionSearch;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Optional;
+import java.util.Set;
+import javax.persistence.Query;
+import javax.persistence.Tuple;
+
+/**
+ *
+ * @author ASUS
+ */
+public interface ColumnDefinitionDAO extends CustomDAOIfaces<ColumnDefinition, ColumnDefinitionId, ColumnDefinitionSearch> {
+
+ public default ColumnDefinition findByNameAndReferentielAndTypeFichier(String columnName, String referentielVersion, String codeTypeFichier) {
+ Query query = getEntityManager().createQuery("SELECT c FROM ColumnDefinition c "
+ + " WHERE c.name = :columnName AND c.referentielVersion = :referentielVersion "
+ + " AND c.codeTypeFichier = :codeTypeFichier");
+
+ query.setParameter("columnName", columnName);
+ query.setParameter("referentielVersion", referentielVersion);
+ query.setParameter("codeTypeFichier", codeTypeFichier);
+
+ Optional<ColumnDefinition> optColumnDef = ((List<ColumnDefinition>) query.getResultList()).stream().findFirst();
+
+ return optColumnDef.isPresent() ? optColumnDef.get() : null;
+ }
+
+ public default List<ColumnDefinition> findByReferentielAndTypeFichier(String referentielVersion, String codeTypeFichier) {
+ return getEntityManager()
+ .createQuery("SELECT c FROM ColumnDefinition c"
+ + " WHERE c.referentielVersion = :referentielVersion AND c.codeTypeFichier = :codeTypeFichier", ColumnDefinition.class)
+ .setParameter("referentielVersion", referentielVersion)
+ .setParameter("codeTypeFichier", codeTypeFichier)
+ .getResultList();
+
+ }
+
+ public default List<ColumnDefinition> findByReferentiel(String referentielVersion) {
+ return getEntityManager()
+ .createQuery("SELECT c FROM ColumnDefinition c"
+ + " WHERE c.referentielVersion = :referentielVersion ", ColumnDefinition.class)
+ .setParameter("referentielVersion", referentielVersion)
+ .getResultList();
+ }
+
+ public default Set<String> findTypeFichierByReferentiel(String referentielVersion) {
+ Set<String> typeFichiers = new HashSet<>();
+ List<ColumnDefinition> columnDefinitions = findByReferentiel(referentielVersion);
+
+ columnDefinitions.stream().forEach(c -> {
+ if (!typeFichiers.contains(c.getCodeTypeFichier())) {
+ typeFichiers.add(c.getCodeTypeFichier());
+ }
+ });
+ return typeFichiers;
+ }
+
+ @Override
+ public default ColumnDefinition getById(ColumnDefinitionId id) {
+ Query query = getEntityManager().createQuery("SELECT c FROM ColumnDefinition c"
+ + " WHERE c.referentielVersion = :referentielVersion AND c.codeTypeFichier = :codeTypeFichier"
+ + " AND c.name = :name");
+
+ query.setParameter("referentielVersion", id.getReferentielVersion());
+ query.setParameter("codeTypeFichier", id.getCodeTypeFichier());
+ query.setParameter("name", id.getName());
+
+ Optional<ColumnDefinition> optColumnDef = ((List<ColumnDefinition>) query.getResultList()).stream().findFirst();
+
+ return optColumnDef.isPresent() ? optColumnDef.get() : null;
+ }
+
+ List<Tuple> byRefVersionAndByTypeFichier();
+}
--
Gitblit v1.10.0