/* * 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.GroupeParticipantManager; 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.GroupeParticipant; import com.megatim.fdxcommons.tools.exceptions.CommonApplicationServerException; import com.megatim.fdxconsultation.dao.ifaces.referentiel.GroupeParticipantDAO; 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.GroupeParticipantReporting; 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; import javax.transaction.Transactional; /** * * @author ASUS */ @Dependent @Transactional public class GroupeParticipantManagerImpl implements GroupeParticipantManager { @EJB private GroupeParticipantDAO dao; @Inject com.megatim.fdxcommons.model.mappers.MapStructMapper commonMapper; @Override public GroupeParticipantDAO getDao() { return dao; } @Override public String getEntityIdName() { return "code"; } @Override public List getDatas(CriteriaEntityFromView criterion) throws Exception { return CommonsToolsEntity.convertToGroupeParticipantReporting(findAll(criterion, Arrays.asList(), Arrays.asList())); } @Override public Map getParameters() { return new HashMap<>(); } @Override public Class getClazz() { return GroupeParticipantReporting.class; } @Override public List findAll(CriteriaFormRequest criteriaFormRequest, List fetchEagerFields) { try { List fieldsNotFound = CommonTools.checkIfEntityField(GroupeParticipant.class, fetchEagerFields); if (!fieldsNotFound.isEmpty()) { throw new Exception("Les champs suivants n'appartiennent pas à l'entité GroupeParticipant : " + 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(GroupeParticipantManagerImpl.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(GroupeParticipant.class, fetchEagerFields); if (!fieldsNotFound.isEmpty()) { throw new Exception("Les champs suivants n'appartiennent pas à l'entité GroupeParticipant : " + 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(GroupeParticipantManagerImpl.class.getName()).log(Level.SEVERE, ex.getMessage(), ex); throw new CommonApplicationServerException(); } } @Override public Class getManagedEntityClass() { return GroupeParticipant.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); } }