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/stats/ConvertedCriteriaEntityFromView.java |   89 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 89 insertions(+), 0 deletions(-)

diff --git a/fdx-consultation/fdxconsultation-core-impl/src/main/java/com/megatim/fdxconsultation/core/impl/stats/ConvertedCriteriaEntityFromView.java b/fdx-consultation/fdxconsultation-core-impl/src/main/java/com/megatim/fdxconsultation/core/impl/stats/ConvertedCriteriaEntityFromView.java
new file mode 100644
index 0000000..c291cf5
--- /dev/null
+++ b/fdx-consultation/fdxconsultation-core-impl/src/main/java/com/megatim/fdxconsultation/core/impl/stats/ConvertedCriteriaEntityFromView.java
@@ -0,0 +1,89 @@
+package com.megatim.fdxconsultation.core.impl.stats;
+
+import com.megatim.fdxcommons.model.pojo.BetweenOperatorValues;
+import com.megatim.fdxcommons.model.pojo.CriteriaEntityFromView;
+import com.megatim.fdxconsultation.model.stats.CriteriaEntityPersisted;
+
+/**
+ *
+ * @author Gabuntu
+ */
+public class ConvertedCriteriaEntityFromView {
+
+    private final CriteriaEntityPersisted criteriaEntityPersisted;
+
+    public ConvertedCriteriaEntityFromView(CriteriaEntityPersisted criteriaEntityPersisted) {
+        this.criteriaEntityPersisted = criteriaEntityPersisted;
+    }
+
+    public CriteriaEntityFromView criteriaEntityFromView() {
+        return buildCriterion(criteriaEntityPersisted);
+    }
+
+    private CriteriaEntityFromView buildCriterion(CriteriaEntityPersisted persisted) {
+
+        if (persisted != null) {
+
+            CriteriaEntityFromView criterion = new CriteriaEntityFromView();
+
+            if (persisted.getSubCriterias() != null && !persisted.getSubCriterias().isEmpty()) {
+
+                criterion.setCriteriaLogicConnector(persisted.getCriteriaLogicConnector());
+                persisted.getSubCriterias().stream().forEach(c -> {
+                    CriteriaEntityFromView criterionfromView = buildCriterion(c);
+                    if (criterionfromView != null) {
+                        criterion.getSubCriterias().add(criterionfromView);
+                    }
+                });
+
+                return criterion;
+
+            } else {
+
+                criterion.setNomColonne(persisted.getNomColonne());
+                criterion.setOperateur(persisted.getOperateur());
+                criterion.setCriteriaValue(criteriaValue(persisted));
+
+                return criterion;
+            }
+
+        }
+
+        return null;
+    }
+
+    public Object criteriaValue(CriteriaEntityPersisted persisted) {
+
+        if (persisted.getCriteriaDateListValue() != null && !persisted.getCriteriaDateListValue().isEmpty()) {
+            return persisted.getCriteriaDateListValue();
+
+        } else if (persisted.getCriteriaDateLowerBound() != null && persisted.getCriteriaDateUpperBound() != null) {
+            return new BetweenOperatorValues(persisted.getCriteriaDateLowerBound(), persisted.getCriteriaDateUpperBound());
+
+        } else if (persisted.getCriteriaDateValue() != null) {
+            return persisted.getCriteriaDateValue();
+
+        } else if (persisted.getCriteriaNumericListValue() != null && !persisted.getCriteriaNumericListValue().isEmpty()) {
+            return persisted.getCriteriaNumericListValue();
+
+        } else if (persisted.getCriteriaNumericLowerBound() != null && persisted.getCriteriaNumericUpperBound() != null) {
+            return new BetweenOperatorValues(persisted.getCriteriaNumericLowerBound(), persisted.getCriteriaNumericUpperBound());
+
+        } else if (persisted.getCriteriaNumericValue() != null) {
+            return persisted.getCriteriaNumericValue();
+
+        } else if (persisted.getCriteriaStringListValue() != null && !persisted.getCriteriaStringListValue().isEmpty()) {
+            return persisted.getCriteriaStringListValue();
+
+        } else if (persisted.getCriteriaStringLowerBound() != null && persisted.getCriteriaStringUpperBound() != null) {
+            return new BetweenOperatorValues(persisted.getCriteriaStringLowerBound(), persisted.getCriteriaStringUpperBound());
+
+        } else if (persisted.getCriteriaStringValue() != null) {
+            return persisted.getCriteriaStringValue();
+
+        } else {
+            return null;
+        }
+    }
+
+}

--
Gitblit v1.10.0