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/log/UserActionLogManagerImpl.java |  110 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 110 insertions(+), 0 deletions(-)

diff --git a/fdx-consultation/fdxconsultation-core-impl/src/main/java/com/megatim/fdxconsultation/core/impl/log/UserActionLogManagerImpl.java b/fdx-consultation/fdxconsultation-core-impl/src/main/java/com/megatim/fdxconsultation/core/impl/log/UserActionLogManagerImpl.java
new file mode 100644
index 0000000..2ce6541
--- /dev/null
+++ b/fdx-consultation/fdxconsultation-core-impl/src/main/java/com/megatim/fdxconsultation/core/impl/log/UserActionLogManagerImpl.java
@@ -0,0 +1,110 @@
+/*
+ * 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.fdxconsultation.core.impl.log;
+
+import com.megatim.fdxcommons.model.log.UserActionLog;
+import com.megatim.fdxcommons.model.pojo.CriteriaEntity;
+import com.megatim.fdxcommons.model.pojo.CriteriaEntityFromView;
+import com.megatim.fdxcommons.model.pojo.CriteriaFormRequest;
+import com.megatim.fdxcommons.tools.context.AppContext;
+import com.megatim.fdxconsultation.core.ifaces.log.UserActionLogManager;
+import com.megatim.fdxconsultation.dao.ifaces.log.UserActionLogDAO;
+import com.megatim.fdxconsultation.model.administration.User;
+import com.megatim.fdxconsultation.model.dto.log.UserActionLogDto;
+import com.megatim.fdxconsultation.model.mappers.MapStructMapper;
+import com.megatim.fdxconsultation.tools.CommonTools;
+import com.megatim.fdxconsultation.tools.context.AppCommonContext;
+import com.megatim.reporting.adhoc.dto.ReportConfiguration;
+import java.io.File;
+import java.time.LocalDateTime;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.ejb.EJB;
+import javax.enterprise.context.Dependent;
+import javax.inject.Inject;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.HttpHeaders;
+
+/**
+ *
+ * @author ASUS
+ */
+@Dependent
+public class UserActionLogManagerImpl implements UserActionLogManager {
+
+    @EJB
+    private UserActionLogDAO dao;
+    
+    @Inject
+    com.megatim.fdxcommons.model.mappers.MapStructMapper commonMapper;
+
+    @Inject
+    MapStructMapper mapper;
+
+    @Override
+    public UserActionLogDAO getDao() {
+        return dao;
+    }
+
+    @Override
+    public String getEntityIdName() {
+        return "id";
+    }
+
+    @Override
+    public Class<UserActionLogDto> getClazz() {
+        return UserActionLogDto.class;
+    }
+
+    @Override
+    public Map<String, Object> getParameters() {
+        return new HashMap<>();
+    }
+
+    @Override
+    public List<UserActionLogDto> getDatas(CriteriaEntityFromView criterion) throws Exception {
+        return mapper.userActionLogListToUserActionLogDtoList(findAll(criterion, Arrays.asList(), Arrays.asList()));
+    }
+
+    @Override
+    public File printAll(ReportConfiguration<CriteriaFormRequest> reportConfiguration, User userConnected) throws Exception {
+        return generatePdf(finalReportConfiguration(reportConfiguration), userConnected, false);
+    }
+
+    @Override
+    public File printOne(ReportConfiguration<CriteriaFormRequest> reportConfiguration, User userConnected) throws Exception {
+        return generatePdf(finalReportConfiguration(reportConfiguration), userConnected, true);
+    }
+    
+    @Override
+    public File exportExcelAll(ReportConfiguration<CriteriaFormRequest> reportConfiguration, User userConnected) throws Exception {
+        return exportExcel(finalReportConfiguration(reportConfiguration), userConnected, false);
+    }
+
+    @Override
+    public File exportExcelOne(ReportConfiguration<CriteriaFormRequest> reportConfiguration, User userConnected) throws Exception {
+        return exportExcel(finalReportConfiguration(reportConfiguration), userConnected, true);
+    }
+
+    @Override
+    public void log(HttpHeaders headers, @Context HttpServletRequest request, String message, String utilisateur) {
+        Map<String, String> map = CommonTools.recupererInfosRequete(headers, request);
+        UserActionLog log = new UserActionLog();
+        log.setDateAction(LocalDateTime.now());
+        log.setMessage(message);
+        log.setUserAgent(map.get(AppCommonContext.REQUETE_HTTP_CLIENT));
+        log.setIpAddress(map.get(AppCommonContext.REQUETE_HTTP_ADRESSE_IP));
+        log.setHttpMethod(map.get(AppCommonContext.REQUETE_HTTP_METHODE));
+        log.setRelativePath(map.get(AppCommonContext.REQUETE_HTTP_PATH));
+        log.setUserName(utilisateur);
+        log.setStatus(200);
+        log.setMotif(log.getStatus() != null ? log.getStatus().toString()+" ("+AppContext.registre_codes_http.get(log.getStatus().toString())+")" : null);
+        save(log);
+    }
+
+}

--
Gitblit v1.10.0