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