Estou consumindo a api rest usando o cadastro de serviços do Fluig e estou notando um comportamento estranho.
Ao executar o dataset o mesmo retorna um número repetido desconhecido que nem existe na listagem JSON. Porém quando faço a iteração no log.info esse comportamento não ocorre somente quando usado Dataset.addRow , segue em anexo o print da duplicidade do número inexistente e o print do log como ele não retorna dessa forma.
function createDataset(fields, constraints, sortFields) {
var dataset = DatasetBuilder.newDataset();
var i;
try {
var clientService = fluigAPI.getAuthorizeClientService();
var data = {
companyId: getValue("WKCompany") + '',
serviceCode: 'SASPessoaFisica',
endpoint: '/cliente/consultarpessoafisica?Situacao=1',
method: 'get'
}
var vo = clientService.invoke(JSON.stringify(data));
//log.info("vo PESSOA FISICA >>> " + vo);
var vetorCGCCPF = [];
if (vo.getResult() == null || vo.getResult().isEmpty()) {
throw new Exception("Retorno está vazio");
} else {
//log.info("PESSOA FISICA >> getResult() " + vo.getResult());
dataset.addColumn("CONTADOR");
dataset.addColumn("CGCCPF");
var json = JSON.parse(vo.getResult());
//log.info("PESSOA FISICA variavel json " + json);
//log.info(">>>>>> y " + JSON.stringify(json));
//log.info("TAMANHO DO JSON >> "+json.length);
for (i = 0; i < json.length; i++) {
if (json[i] != null) {
dataset.addRow([json[i].CgcCpf]);
}
else {
dataset.addColumn("MESSAGE_ERROR");
dataset.addRow(new Array(-1, "-", "-", "-", "VAZIO"));
}
}
}
} catch (err) {
// throw new Exception(err);
//log.info("ERROR >>" + err);
}
return dataset;
}