var mapper = mapperFactory.createMapperMult(["EstProdCplMediaf", "EstProdCplMediap"]);
var param = new java.util.HashMap();
param.put('itens', []);
var result = new java.util.ArrayList();
var numMarkers = 0;

var getFacFinLimitEseg = function(){
	for(let i = 0; i < message.get('itens').size(); i++){
		let item = message.get('itens').get(i);
		item.put('cdPerfilTamanho', message.get('cdPerfilTamanho'));
		item.put('cdPerfilDemografico', message.get('cdPerfilDemografico'));
		item.put('tipo', message.get('tipo'));

		if((numMarkers + 3) > 2000){

			result.addAll(mapper.selectList('EstProdCplMediaf.listarEstProdCplMediafFacFinanLimitadorFaceamento', param));
			param.put('itens', []);
			numMarkers = 0;
			i --;
		}else{
			param.get('itens').push(item);
			numMarkers = numMarkers + 3;
		}
	}

	if(param.get('itens').length > 0)
		result.addAll(mapper.selectList('EstProdCplMediaf.listarEstProdCplMediafFacFinanLimitadorFaceamento', param));
};

var getMediaPMediaF = function(){
	for (var i = 0; i < message.get('itens').size(); i++) {
		let item = message.get('itens').get(i);
		item.put('cdPerfilTamanho', message.get('cdPerfilTamanho'));
		item.put('cdPerfilDemografico', message.get('cdPerfilDemografico'));
		
		let dados = mapper.selectOne('EstProdCplMediap.importaEstProdCplMediap', item);
		
		if (dados != null) 
			result.add(dados);
	}
};


try {

	if(message.get('tipo') != 0 && message.get('tipo') != 5)
		getFacFinLimitEseg();
	else
		getMediaPMediaF();

	result;

} catch (err) {

	if (err.code)
		throw JSON.stringify(err);
	else
		throw err;
}