/* * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Interface.java to edit this template */ package com.megatim.fdxconsultation.core.impl.referentiel; 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.GroupeNoeud; import com.megatim.fdxcommons.tools.exceptions.CommonApplicationServerException; import com.megatim.fdxconsultation.core.ifaces.referentiel.GroupeNoeudManager; import com.megatim.fdxconsultation.dao.ifaces.referentiel.GroupeNoeudDAO; 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.GroupeNoeudReporting; 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.persistence.EntityManager; /** * * @author ASUS */ @Dependent public class GroupeNoeudManagerImpl implements GroupeNoeudManager { @EJB private GroupeNoeudDAO dao; @Override public GroupeNoeudDAO getDao() { return dao; } @Override public String getEntityIdName() { return "code"; } @Override public List getDatas(CriteriaEntityFromView criterion) throws Exception { return CommonsToolsEntity.convertToGroupeNoeudReporting(findAll(criterion, Arrays.asList(), Arrays.asList())); } @Override public Map getParameters() { return new HashMap<>(); } @Override public Class getClazz() { return GroupeNoeudReporting.class; } @Override public List findAll(CriteriaFormRequest criteriaFormRequest, List fetchEagerFields) { try { List fieldsNotFound = CommonTools.checkIfEntityField(GroupeNoeud.class, fetchEagerFields); if (!fieldsNotFound.isEmpty()) { throw new Exception("Les champs suivants n'appartiennent pas à l'entité GroupeNoeud : " + 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(GroupeNoeudManagerImpl.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(GroupeNoeud.class, fetchEagerFields); if (!fieldsNotFound.isEmpty()) { throw new Exception("Les champs suivants n'appartiennent pas à l'entité GroupeNoeud : " + fieldsNotFound.stream().collect(Collectors.joining(",", "{", "}"))); } CriteriaEntityFromView criterion = criteriaFormRequest != null ? criteriaFormRequest.getCriteria() : null; return getDao().findWithPagination(criterion, fetchEagerFields, Arrays.asList(new OrderByDefinition("dateCreation", OrderByType.DESC)), pageNumber, pageSize); } catch (Exception ex) { Logger.getLogger(GroupeNoeudManagerImpl.class.getName()).log(Level.SEVERE, ex.getMessage(), ex); throw new CommonApplicationServerException(); } } @Override public Class getManagedEntityClass() { return GroupeNoeud.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); } }