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-consultation/fdxconsultation-core-impl/src/main/java/com/megatim/fdxconsultation/core/impl/helper/ReferentielConsumptionHelperImpl.java | 92 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 92 insertions(+), 0 deletions(-)
diff --git a/fdx-consultation/fdxconsultation-core-impl/src/main/java/com/megatim/fdxconsultation/core/impl/helper/ReferentielConsumptionHelperImpl.java b/fdx-consultation/fdxconsultation-core-impl/src/main/java/com/megatim/fdxconsultation/core/impl/helper/ReferentielConsumptionHelperImpl.java
new file mode 100644
index 0000000..11a7d52
--- /dev/null
+++ b/fdx-consultation/fdxconsultation-core-impl/src/main/java/com/megatim/fdxconsultation/core/impl/helper/ReferentielConsumptionHelperImpl.java
@@ -0,0 +1,92 @@
+package com.megatim.fdxconsultation.core.impl.helper;
+
+import com.megatim.fdxcommons.core.ifaces.customtypefichier.DynamicClassCreator;
+import com.megatim.fdxcommons.core.ifaces.db.ReferentielDataSaver;
+import com.megatim.fdxcommons.core.ifaces.helper.DataInMemoryHandler;
+import com.megatim.fdxcommons.core.ifaces.helper.ReferentielConsumptionHelper;
+import com.megatim.fdxcommons.core.ifaces.helper.referentiel.DynamicTableCreator;
+import com.megatim.fdxcommons.core.ifaces.helper.referentiel.TableDefinitionFilter;
+import com.megatim.fdxcommons.model.pojo.ReferentielToImportData;
+import com.megatim.fdxcommons.model.referentiel.Referentiel;
+import com.megatim.fdxconsultation.core.ifaces.helper.TableauBordHandler;
+import com.megatim.fdxconsultation.core.ifaces.referentiel.ReferentielManager;
+import com.megatim.fdxconsultation.tools.context.AppCommonContext;
+import javax.annotation.Resource;
+import javax.enterprise.context.Dependent;
+import javax.inject.Inject;
+import javax.sql.DataSource;
+import javax.transaction.Transactional;
+import com.megatim.fdxconsultation.core.ifaces.referentiel.historique.ReferentielIntegrationHistoriqueManager;
+import com.megatim.fdxcommons.model.referentiel.historique.ReferentielIntegrationHistorique;
+import java.util.List;
+import com.megatim.fdxcommons.model.referentiel.historique.pojo.TableDefinitionFiltered;
+import java.util.ArrayList;
+
+/**
+ *
+ * @author ASUS
+ */
+@Dependent
+public class ReferentielConsumptionHelperImpl implements ReferentielConsumptionHelper {
+
+ @Inject
+ private DynamicClassCreator dynamicClassCreator;
+
+ @Inject
+ TableauBordHandler tableauBordHandler;
+
+ @Inject
+ ReferentielManager referentielManager;
+
+ @Inject
+ private DynamicTableCreator dynamicTableCreator;
+
+ @Inject
+ private ReferentielDataSaver referentielDataSaver;
+
+ @Inject
+ private DataInMemoryHandler dataInMemoryHandler;
+
+ @Resource(lookup = AppCommonContext.JNDI_NAME)
+ private DataSource dataSource;
+
+ @Inject
+ private ReferentielIntegrationHistoriqueManager refIntegrationHistoriqueManager;
+
+ @Inject
+ TableDefinitionFilter tableDefinitionFilter;
+
+ @Override
+ @Transactional
+ public void consume(ReferentielToImportData referentielToImportData) throws Exception {
+ Referentiel previousRef = referentielManager.getReferentielEnCours();
+
+ //On enregistre les données de référentiel
+ referentielDataSaver.persist(referentielToImportData);
+
+ List<ReferentielIntegrationHistorique> refsHistoriqueIntegration = previousRef == null
+ ? new ArrayList<>()
+ : refIntegrationHistoriqueManager.suitableIntegrationHistorique(previousRef.getVersion());
+
+ TableDefinitionFiltered tableDefinitionFiltered = tableDefinitionFilter
+ .doFilter(previousRef == null ? null : previousRef.getVersion(),
+ referentielToImportData,
+ refsHistoriqueIntegration);
+
+ dynamicTableCreator.createDynamicTables(tableDefinitionFiltered.getTablesToCreate());
+ saveRefIntegrationHistorique(tableDefinitionFiltered.getRefIntegrationHistorique());
+
+ //Charger les nouvelles informations du référentiel dans un objet en mémoire
+ dataInMemoryHandler.initializeDataInMemory();
+
+ //Charger les nouvelles informations du référentiel dans un objet en mémoire
+ dataInMemoryHandler.initializeDataInMemory();
+
+ }
+
+ private void saveRefIntegrationHistorique(List<ReferentielIntegrationHistorique> refIntHistoriques) {
+ for (ReferentielIntegrationHistorique r : refIntHistoriques) {
+ refIntegrationHistoriqueManager.save(r);
+ }
+ }
+}
--
Gitblit v1.10.0