/* * 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.referentiel; import com.megatim.fdxconsultation.core.ifaces.referentiel.ExtensionFichierManager; import com.megatim.fdxcommons.model.enumeration.OrderByType; import com.megatim.fdxcommons.model.pojo.CriteriaEntity; import com.megatim.fdxcommons.model.pojo.CriteriaEntityFromView; import com.megatim.fdxcommons.model.referentiel.ExtensionFichier; import com.megatim.fdxcommons.tools.exceptions.CommonApplicationServerException; import com.megatim.fdxconsultation.dao.ifaces.referentiel.ExtensionFichierDAO; import com.megatim.fdxcommons.model.pojo.CriteriaFormRequest; import com.megatim.fdxcommons.model.pojo.OrderByDefinition; import com.megatim.fdxconsultation.model.administration.User; import com.megatim.fdxconsultation.reporting.model.referentiel.ExtensionFichierReporting; import com.megatim.fdxconsultation.tools.CommonTools; import com.megatim.fdxconsultation.tools.CommonsToolsEntity; import com.megatim.reporting.adhoc.dto.ReportConfiguration; import java.io.File; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; import java.util.stream.Collectors; import javax.ejb.EJB; import javax.enterprise.context.Dependent; import javax.inject.Inject; import javax.persistence.EntityManager; /** * * @author ASUS */ @Dependent public class ExtensionFichierManagerImpl implements ExtensionFichierManager { @EJB private ExtensionFichierDAO dao; @Inject com.megatim.fdxcommons.model.mappers.MapStructMapper commonMapper; @Override public ExtensionFichierDAO getDao() { return dao; } @Override public String getEntityIdName() { return "extension"; } @Override public Class getClazz() { return ExtensionFichierReporting.class; } @Override public List getDatas(CriteriaEntityFromView criterion) throws Exception { return CommonsToolsEntity.convertToExtensionFichierReporting(findAll(criterion, Arrays.asList(), Arrays.asList())); } @Override public Map getParameters() { return new HashMap<>(); } @Override public List findAll(CriteriaFormRequest criteriaFormRequest, List fetchEagerFields) { try { List fieldsNotFound = CommonTools.checkIfEntityField(ExtensionFichier.class, fetchEagerFields); if (!fieldsNotFound.isEmpty()) { throw new Exception("Les champs suivants n'appartiennent pas à l'entité ExtensionFichier : " + fieldsNotFound.stream().collect(Collectors.joining(",", "{", "}"))); } CriteriaEntityFromView criterion = criteriaFormRequest != null ? criteriaFormRequest.getCriteria() : null; return getDao().findAll(criterion, fetchEagerFields, Arrays.asList(new OrderByDefinition("dateCreation", OrderByType.DESC))); } catch (Exception ex) { Logger.getLogger(ExtensionFichierManagerImpl.class.getName()).log(Level.SEVERE, ex.getMessage(), ex); throw new CommonApplicationServerException(); } } @Override public List findWithPagination(CriteriaFormRequest criteriaFormRequest, List fetchEagerFields, int pageNumber, int pageSize) { try { List fieldsNotFound = CommonTools.checkIfEntityField(ExtensionFichier.class, fetchEagerFields); if (!fieldsNotFound.isEmpty()) { throw new Exception("Les champs suivants n'appartiennent pas à l'entité ExtensionFichier : " + fieldsNotFound.stream().collect(Collectors.joining(",", "{", "}"))); } CriteriaEntityFromView criterion = criteriaFormRequest != null ? criteriaFormRequest.getCriteria() : null; return findWithPagination(criterion, fetchEagerFields, Arrays.asList(new OrderByDefinition("dateCreation", OrderByType.DESC)), pageNumber, pageSize); } catch (Exception ex) { Logger.getLogger(ExtensionFichierManagerImpl.class.getName()).log(Level.SEVERE, ex.getMessage(), ex); throw new CommonApplicationServerException(); } } @Override public Class getManagedEntityClass() { return ExtensionFichier.class; } @Override public EntityManager getEntityManager() { return getDao().getEntityManager(); } @Override public File printAll(ReportConfiguration reportConfiguration, User userConnected) throws Exception { return generatePdf(finalReportConfiguration(reportConfiguration), userConnected, false); } @Override public File printOne(ReportConfiguration reportConfiguration, User userConnected) throws Exception { return generatePdf(finalReportConfiguration(reportConfiguration), userConnected, true); } @Override public File exportExcelAll(ReportConfiguration reportConfiguration, User userConnected) throws Exception { return exportExcel(finalReportConfiguration(reportConfiguration), userConnected, false); } @Override public File exportExcelOne(ReportConfiguration reportConfiguration, User userConnected) throws Exception { return exportExcel(finalReportConfiguration(reportConfiguration), userConnected, true); } }