/*
|
* 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.ifaces.helper;
|
|
import com.megatim.fdxcommons.model.pojo.BetweenOperatorValues;
|
import com.megatim.fdxcommons.model.pojo.CriteriaEntityFromView;
|
import com.megatim.fdxcommons.model.referentiel.Referentiel;
|
import com.megatim.fdxconsultation.model.dto.stats.TableConfigurationDto;
|
import com.megatim.fdxconsultation.model.dto.stats.TableauBordDto;
|
import com.megatim.fdxconsultation.model.stats.CriteriaEntityPersisted;
|
import com.megatim.fdxconsultation.model.stats.TableConfiguration;
|
import com.megatim.fdxconsultation.model.stats.TableauBord;
|
import java.util.Set;
|
|
/**
|
*
|
* @author ASUS
|
*/
|
public interface TableauBordHandler {
|
|
TableauBordDto tableauBordToTableauBordDto(TableauBord tableauBord);
|
|
TableauBord tableauBordDtoToTableauBord(TableauBordDto dto, Referentiel referentiel);
|
|
TableConfigurationDto tableConfigurationToTableConfigurationDto(TableConfiguration tableConf);
|
|
void reconduireTableauBordValides(Referentiel previousRef, Referentiel newRef, Set<String> typeFichiersToMigrate);
|
|
void stopIfUserSpecificTableauBordExists(String codeTypeFichier, String referentielVersion, String userName) throws Exception;
|
|
void stopIfGlobaleTableauBordExists(String codeTypeFichier, String referentielVersion) throws Exception;
|
|
public default CriteriaEntityFromView criteriaEntityPersistedToCriteriaEntityFromView(CriteriaEntityPersisted persisted) {
|
if (persisted != null) {
|
CriteriaEntityFromView mainCriterion = new CriteriaEntityFromView();
|
|
if (persisted.getSubCriterias() != null && !persisted.getSubCriterias().isEmpty()) {
|
mainCriterion.setCriteriaLogicConnector(persisted.getCriteriaLogicConnector());
|
persisted.getSubCriterias().stream().forEach(c -> {
|
CriteriaEntityFromView criterionfromView = criteriaEntityPersistedToCriteriaEntityFromView(c);
|
|
if (criterionfromView != null) {
|
mainCriterion.getSubCriterias().add(criterionfromView);
|
}
|
|
});
|
return mainCriterion;
|
} else {
|
mainCriterion.setNomColonne(persisted.getNomColonne());
|
mainCriterion.setOperateur(persisted.getOperateur());
|
mainCriterion.setCriteriaValue(getCriteriaValue(persisted));
|
return mainCriterion;
|
}
|
} else {
|
return null;
|
}
|
}
|
|
public default Object getCriteriaValue(CriteriaEntityPersisted persisted) {
|
|
if (persisted.getCriteriaDateListValue() != null && !persisted.getCriteriaDateListValue().isEmpty()) {
|
return persisted.getCriteriaDateListValue();
|
|
} else if (persisted.getCriteriaDateLowerBound() != null && persisted.getCriteriaDateUpperBound() != null) {
|
return new BetweenOperatorValues(persisted.getCriteriaDateLowerBound(), persisted.getCriteriaDateUpperBound());
|
|
} else if (persisted.getCriteriaDateValue() != null) {
|
return persisted.getCriteriaDateValue();
|
|
} else if (persisted.getCriteriaNumericListValue() != null && !persisted.getCriteriaNumericListValue().isEmpty()) {
|
return persisted.getCriteriaNumericListValue();
|
|
} else if (persisted.getCriteriaNumericLowerBound() != null && persisted.getCriteriaNumericUpperBound() != null) {
|
return new BetweenOperatorValues(persisted.getCriteriaNumericLowerBound(), persisted.getCriteriaNumericUpperBound());
|
|
} else if (persisted.getCriteriaNumericValue() != null) {
|
return persisted.getCriteriaNumericValue();
|
|
} else if (persisted.getCriteriaStringListValue() != null && !persisted.getCriteriaStringListValue().isEmpty()) {
|
return persisted.getCriteriaStringListValue();
|
|
} else if (persisted.getCriteriaStringLowerBound() != null && persisted.getCriteriaStringUpperBound() != null) {
|
return new BetweenOperatorValues(persisted.getCriteriaStringLowerBound(), persisted.getCriteriaStringUpperBound());
|
|
} else if (persisted.getCriteriaStringValue() != null) {
|
return persisted.getCriteriaStringValue();
|
|
} else {
|
return null;
|
}
|
}
|
}
|