Caros(as), Estou com uma situação que não consegui compreender o motivo. Ao chamar um dataset usando os serviços do Fluig ( Rest ) de um determinado serviço que me retorna essa estrutura abaixo:
[{"ID":191440100639,"CodSebResponsavel":19,"Versao":1,"Nome":"Atendimento ao cliente","CategoriaServicoID":1,"CategoriaServicoNome":"Sensibilização","ModalidadeID":2,"ModalidadeNome":"Presencial","AlvoID":2,"AlvoNome":"Empresario","UnidadeOrganizacionalOrigemID":null,"UnidadeOrganizacionalOrigemNome":null,"GestorProdutoOrigemID":324084154,"GestorProdutoOrigemNome":"ANA MARIA CAROL LIRA CAVALCANTE (ce-sebrae\\ana.parente) ","DataHabilitacao":"2019-07-02T16:56:30.37","ComplexidadeProdutoID":2,"ComplexidadeProdutoNome":"Intermediário","ComplexidadeMetodologiaID":null,"ComplexidadeMetodologiaNome":null,"MinimoParticipante":null,"MaximoParticipante":null,"CargaHoraria":2.00,"Certificado":"1","PrecoSugerido":null,"Preco":0.00,"ArgumentoVenda":"Atendimento ao cliente","Tag":"atendimento;cliente","Observacao":null,"DataVigencia":null,"Ativo":1,"SituacaoID":4,"SituacaoNome":"Disponivel","Descricao":"Sensibilizar os participantes para o atendimento profissional, com foco nas expectativas e necessidades dos clientes","ParceiroOrigem":"0","NomeParceiro":null,"DataProximaRevisao":null,"MetodologiaID":1,"MetodologiaNome":"Aberta","FrequenciaMinima":null,"NotaMinima":null,"RegistroIsbnIssn":null,"CodigoRegistroMarca":null,"DataValidadeRegistroMarca":null,"ClasseSubClasseMarca":null,"CustoDesenvolvimento":null,"CustoOperacionalizacao":1308.00,"DisponivelPiloto":0,"CertificadoID":191,"ProdutoIntencao":1,"DataUltimaAlteracao":"2019-07-18T00:00:00","ListaTipoServico":[{"TipoServicoID":24,"TipoServicoNome":"Palestra"}],"ListaTema":[{"CodAreaTematica":2800,"DescAreaTematica":"Empreendedorismo","CodSubTema":10302,"DescSubTema":"Comportamento empreendedor"},{"CodAreaTematica":2400,"DescAreaTematica":"Mercado e vendas","CodSubTema":10416,"DescSubTema":"Relacionamentos com cliente - CRM"}],"ListaSebraeCesta":[],"ListaMicromomento":[]}]
Quando eu coloco no Dataset.addRow([json[0].ID]) ele retorna um número que não existe dentro do JSON. porém no log quando coloco no log.info ele retorna o valor do campo ID 191440100639, na montagem dessa coluna no visualizador de dataset no eclipse ele retorna um número que não existe dentro do retorno desse json abaixo. um número inexistente tipo 2147483647. Não consegui identificar porque no log.info o valor vem correto e no visualizador de dataset do eclipse vem errado.
Segue o dataset em questão.
Seguem todos os exemplos que usei para identificar:
/*function createDataset(fields, constraints, sortFields) {
var dataset = DatasetBuilder.newDataset();
try {
dataset.addColumn("CodAreaTematica");
dataset.addColumn("DescAreaTematica");
dataset.addColumn("CodSubTema");
dataset.addColumn("DescSubTema");
var jsonStr = '[{"ID":191440100639,"CodSebraeResponsavel":19,"Versao":1,"Nome":"Atendimento ao cliente","CategoriaServicoID":1,"CategoriaServicoNome":"Sensibilização","ModalidadeID":2,"ModalidadeNome":"Presencial","AlvoID":2,"AlvoNome":"Empresário","UnidadeOrganizacionalOrigemID":null,"UnidadeOrganizacionalOrigemNome":null,"GestorProdutoOrigemID":324084154,"GestorProdutoOrigemNome":"JOAO DA SILVA","DataHabilitacao":"2019-07-02T16:56:30.37","ComplexidadeProdutoID":2,"ComplexidadeProdutoNome":"Intermediário","ComplexidadeMetodologiaID":null,"ComplexidadeMetodologiaNome":null,"MinimoParticipante":null,"MaximoParticipante":null,"CargaHoraria":2,"Certificado":"1","PrecoSugerido":null,"Preco":0,"ArgumentoVenda":"Atendimento ao cliente","Tag":"atendimento;cliente","Observacao":null,"DataVigencia":null,"Ativo":1,"SituacaoID":4,"SituacaoNome":"Disponível","Descricao":"Sensibilizar os participantes para o atendimento profissional, com foco nas expectativas e necessidades dos clientes","ParceiroOrigem":"0","NomeParceiro":null,"DataProximaRevisao":null,"MetodologiaID":1,"MetodologiaNome":"Aberta","FrequenciaMinima":null,"NotaMinima":null,"RegistroIsbnIssn":null,"CodigoRegistroMarca":null,"DataValidadeRegistroMarca":null,"ClasseSubClasseMarca":null,"CustoDesenvolvimento":null,"CustoOperacionalizacao":1308,"DisponivelPiloto":0,"CertificadoID":191,"ProdutoIntencao":1,"DataUltimaAlteracao":"2019-07-18T00:00:00","ListaTipoServico":[{"TipoServicoID":24,"TipoServicoNome":"Palestra"}],"ListaTema":[{"CodAreaTematica":2800,"DescAreaTematica":"Empreendedorismo","CodSubTema":10302,"DescSubTema":"Comportamento empreendedor"},{"CodAreaTematica":2400,"DescAreaTematica":"Mercado e vendas","CodSubTema":10416,"DescSubTema":"Relacionamentos com cliente - CRM"}],"ListaSebraeCesta":[],"ListaMicromomento":[]}]';
var resultado = JSON.parse(jsonStr);
if (resultado.length > 0){
var root = resultado[0];
var listaTema = root.ListaTema;
for each(item in listaTema){
dataset.addRow(new Array(
item.CodAreaTematica,
item.DescAreaTematica,
item.CodSubTema,
item.DescSubTema
));
} // for
} // if
} catch (err) {
log.info("ERROR >>" + err);
}
return dataset;
}
*/
function createDataset(fields, constraints, sortFields) {
var dataset = DatasetBuilder.newDataset();
var ID = 191440100639;
var cont;
var filtro;
try {
var clientService = fluigAPI.getAuthorizeClientService();
var data = {
companyId: getValue("WKCompany") + '',
serviceCode: 'SAS-portfolio',
//endpoint: '/Portfolio/Consultar?ID='+ID+'',
endpoint: '/Portfolio/Consultar?ID=191440100639',
method: 'get'
}
var vo = clientService.invoke(JSON.stringify(data));
log.info("vo PORTFOLIO >>> " + vo);
if (vo.getResult() == null || vo.getResult().isEmpty()) {
//throw new Exception("Retorno está vazio");//
} else {
log.info("PORTFOLIO >> getResult() " + vo.getResult());
var json = JSON.parse(vo.getResult());
log.info("JSON json >>"+json);
var stringify = JSON.stringify(json);
log.info("JSON stringify >>"+stringify);
var resultado = JSON.parse(stringify);
log.info("JSON resultado >>"+resultado);
dataset.addColumn("ID");
if (resultado.length > 0){
//dataset.addRow(new Array(stringify));
dataset.addRow([json[0].ID]);
log.info("JSON ID: "+json[0].ID);
}
return dataset;
}
} catch (err) {
throw new Exception(err);
log.info("ERROR >>" + err);
dataset.addColumn("MESSAGE_ERROR");
dataset.addRow(new Array(-1, err, "-", "-", "VAZIO"));
}
return dataset;
}
Segue o print do resultado dessa coluna no log.info como ela retorna normal.
Resutado Obtido no Eclipse: