package com.megatim.fdxconsultation.core.impl.configuration;
|
|
import com.bekosoftware.genericdaolayer.dao.ifaces.GenericDAO;
|
import com.bekosoftware.genericdaolayer.dao.tools.RestrictionsContainer;
|
import com.bekosoftware.genericmanagerlayer.core.impl.AbstractGenericManager;
|
import com.megatim.fdxcommons.model.enumeration.TypeOperation;
|
import com.megatim.fdxcommons.model.pojo.CriteriaEntityFromView;
|
import com.megatim.fdxcommons.model.pojo.CriteriaFormRequest;
|
import com.megatim.fdxcommons.tools.exceptions.CommonRessourceNotFoundException;
|
import com.megatim.fdxconsultation.core.ifaces.administration.HistoriqueMotDePasseManager;
|
import com.megatim.fdxconsultation.core.ifaces.configuration.CodeStatutHttpManager;
|
import com.megatim.fdxconsultation.core.ifaces.message.systeme.MessageSystemeManager;
|
import com.megatim.fdxconsultation.dao.ifaces.abstracts.PaginationWithCriteriaEntityDAO;
|
import com.megatim.fdxconsultation.dao.ifaces.configuration.CodeStatutHttpDAO;
|
import com.megatim.fdxconsultation.model.administration.User;
|
import com.megatim.fdxconsultation.model.configuration.CodeStatutHttp;
|
import com.megatim.fdxconsultation.reporting.model.configuration.CodeStatutHttpReporting;
|
import com.megatim.fdxconsultation.model.dto.CodeStatutHttpDto;
|
import com.megatim.fdxconsultation.model.mappers.MapStructMapper;
|
import com.megatim.fdxconsultation.model.searchentities.CodeStatutHttpSearch;
|
import com.megatim.fdxconsultation.tools.CommonsToolsEntity;
|
import com.megatim.reporting.adhoc.dto.ReportConfiguration;
|
import java.io.File;
|
import java.util.Arrays;
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
import javax.enterprise.context.Dependent;
|
import javax.inject.Inject;
|
import javax.transaction.Transactional;
|
|
@Transactional
|
@Dependent
|
public class CodeStatutHttpManagerImpl extends AbstractGenericManager<CodeStatutHttp, Long> implements CodeStatutHttpManager {
|
|
@Inject
|
protected CodeStatutHttpDAO dao;
|
|
@Inject
|
protected HistoriqueMotDePasseManager historiqueMotDePasseManager;
|
|
@Inject
|
private MapStructMapper mapstructMapper;
|
|
@Inject
|
private MessageSystemeManager messageSystemeManager;
|
|
/**
|
*
|
*/
|
public CodeStatutHttpManagerImpl() {
|
}
|
|
@Override
|
public GenericDAO<CodeStatutHttp, Long> getDao() {
|
return dao;
|
}
|
|
@Override
|
public String getEntityIdName() {
|
return "id";
|
}
|
|
@Override
|
public CodeStatutHttpDto getById(Long id) {
|
return mapToDetailDto(find(getEntityIdName(), id));
|
}
|
|
@Override
|
@Transactional
|
public CodeStatutHttp modify(Long id, CodeStatutHttp entity, User connectedUser) {
|
CodeStatutHttp actualEntity = find(getEntityIdName(), id);
|
beforeModify(actualEntity, entity, connectedUser);
|
update(id, actualEntity);
|
return actualEntity;
|
}
|
|
@Override
|
public CodeStatutHttpDto mapToDto(CodeStatutHttp entity) {
|
return mapstructMapper.codeStatutHttpToCodeStatutHttpDto(entity);
|
}
|
|
@Override
|
public CodeStatutHttpDto mapToDetailDto(CodeStatutHttp entity) {
|
return mapstructMapper.codeStatutHttpToCodeStatutHttpDto(entity);
|
}
|
|
@Override
|
public void beforeModify(CodeStatutHttp actualEntity, CodeStatutHttp requestEntity, User utilisateurConnecte) {
|
if (actualEntity == null) {
|
throw new CommonRessourceNotFoundException(CodeStatutHttp.class);
|
}
|
actualEntity.setDateDerniereModification(new Date());
|
if (utilisateurConnecte != null) {
|
actualEntity.setUtilisateurModification(utilisateurConnecte.getUserName());
|
}
|
actualEntity.setCode(requestEntity.getCode());
|
actualEntity.setLibelle(requestEntity.getLibelle());
|
}
|
|
@Override
|
public void beforeRemove(CodeStatutHttp entity, User utilisateurConnecte) {
|
entity.setTypeOperation(TypeOperation.SUPPRIMER);
|
entity.setDateSuppression(new Date());
|
if (utilisateurConnecte != null) {
|
entity.setUtilisateurSuppression(utilisateurConnecte.getUserName());
|
}
|
}
|
|
@Override
|
public void beforeAdd(CodeStatutHttp entity, User utilisateurConnecte) {
|
entity.setDateCreation(new Date());
|
if (utilisateurConnecte != null) {
|
entity.setUtilisateurCreation(utilisateurConnecte.getUserName());
|
}
|
}
|
|
@Override
|
public CodeStatutHttp remove(Long id, User connectedUser) {
|
CodeStatutHttp entity = find(getEntityIdName(), id);
|
beforeRemove(entity, connectedUser);
|
return update(id, entity);
|
}
|
|
@Override
|
public Class<CodeStatutHttpReporting> getClazz() {
|
return CodeStatutHttpReporting.class;
|
}
|
|
@Override
|
public Map<String, Object> getParameters() {
|
return new HashMap<>();
|
}
|
|
@Override
|
public List<CodeStatutHttpReporting> getDatas(CriteriaEntityFromView searchEntity) throws Exception {
|
return CommonsToolsEntity.convertToCodeStatutHttpReporting(findAll(searchEntity, 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 RestrictionsContainer construireRequete(CodeStatutHttpSearch searchEntity, TypeOperation typeOperation) {
|
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
}
|
|
@Override
|
public PaginationWithCriteriaEntityDAO<CodeStatutHttp, Long> paginationWithCriteriaEntityDAO() {
|
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
}
|
|
/**
|
* Methode permettant de recuperer le libellé via un code
|
* @param code
|
* @return
|
*/
|
@Override
|
public String getLibelleByCode(String code){
|
List<CodeStatutHttp> liste = findByUniqueProperty("code", code, null);
|
String libelle = null;
|
if(liste != null && !liste.isEmpty()){
|
libelle = liste.get(0).getLibelle();
|
}
|
return libelle;
|
}
|
|
}
|