From 6494941037ae2670876de9940853d50538eb5129 Mon Sep 17 00:00:00 2001
From: Kenmegne <stephanie.kenmegne@gmail.com>
Date: Fri, 19 Jun 2026 11:25:51 +0000
Subject: [PATCH] move to new repo

---
 reporting-adhoc/src/main/java/com/megatim/reporting/adhoc/process/Processor.java |   92 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 92 insertions(+), 0 deletions(-)

diff --git a/reporting-adhoc/src/main/java/com/megatim/reporting/adhoc/process/Processor.java b/reporting-adhoc/src/main/java/com/megatim/reporting/adhoc/process/Processor.java
new file mode 100644
index 0000000..323c9b7
--- /dev/null
+++ b/reporting-adhoc/src/main/java/com/megatim/reporting/adhoc/process/Processor.java
@@ -0,0 +1,92 @@
+/*
+ * 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.reporting.adhoc.process;
+
+import com.megatim.reporting.adhoc.pojo.DescriptionEtat;
+import com.megatim.reporting.adhoc.pojo.DescriptionSousEtat;
+import com.megatim.reporting.adhoc.pojo.ElementToDisplay;
+import com.megatim.reporting.adhoc.pojo.ProcessorElements;
+import com.megatim.reporting.adhoc.pojo.ReportDefinition;
+import com.megatim.reporting.adhoc.pojo.SubReportDefinition;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ *
+ * @author ASUS
+ */
+public class Processor {
+
+    /**
+     * Point d'entrée dans le moteur de reporting
+     * @param desc :  objet contenant l'ensemble des éléments de l'état(liste des colonnes à imprimer, liste des sous-rapports, 
+     * liste des éléments d'entête, etc)
+     * @return
+     * @throws Exception 
+     */
+    public String process(DescriptionEtat desc) throws Exception {
+        ProcessorElements elements = constructReportElements(desc);
+
+        return new SecondProcessor().generateJasperFile(elements);
+    }
+
+    private ProcessorElements constructReportElements(DescriptionEtat desc) {
+        ReportDefinition repDef = reportDefinition(desc);
+        List<SubReportDefinition> liste = new ArrayList<>();
+
+        for (DescriptionSousEtat ds : desc.getSubReportDescriptions()) {
+            SubReportDefinition subRepDef = subReportDefinition(ds);
+            liste.add(subRepDef);
+        }
+        repDef.getSubReportDefs().addAll(liste);
+
+        ProcessorElements elements = new ProcessorElements(desc.getTemplateFile(),
+                desc.getRepositoryFolder(), desc.getRepositoryFolder(), repDef);
+
+        return elements;
+    }
+
+    private SubReportDefinition subReportDefinition(DescriptionSousEtat ds) {
+        SubReportDefinition subRepDef = new SubReportDefinition(ds.getSubReportName(), ds.getDataField().getName(), ds.getReportTitle(), ds.getRangSousEtat());
+
+        subRepDef.setHaveLineNumber(ds.isHaveLineNumber());
+        List<ElementToDisplay> subEltToDisplay = new ArrayList<>();
+
+        for (ElementToDisplay e : ds.getElementsToDisplay()) {
+            ElementToDisplay elt = new ElementToDisplay(
+                    e.getLibelle(), e.getValue());
+            elt.setPosition(e.getPosition());
+            elt.setElementType(e.getElementType());
+
+            subEltToDisplay.add(elt);
+        }
+
+        subRepDef.getElementsToDisplay().addAll(subEltToDisplay);
+        subRepDef.getCustomFields().addAll(ds.getFieldsToDisplay());
+
+        return subRepDef;
+    }
+
+    private ReportDefinition reportDefinition(DescriptionEtat desc) {
+        ReportDefinition repDef = new ReportDefinition(desc.getReportName());
+        repDef.setDetail(desc.isDetail());
+        List<ElementToDisplay> eltToDisplay = new ArrayList<>();
+
+        repDef.setHaveLineNumber(desc.isHaveLineNumber());
+
+        for (ElementToDisplay e : desc.getElementsToDisplay()) {
+            ElementToDisplay elt = new ElementToDisplay(e.getLibelle(), e.getValue());
+            elt.setPosition(e.getPosition());
+            elt.setElementType(e.getElementType());
+
+            eltToDisplay.add(elt);
+        }
+        repDef.getElementsToDisplay().addAll(eltToDisplay);
+
+        repDef.getCustomFields().addAll(desc.getFieldsToDisplay());
+
+        return repDef;
+    }
+}

--
Gitblit v1.10.0