fluig/compras_digital/datasets/dsConsultaPedido.js
2026-03-01 17:27:48 -03:00

55 lines
1.7 KiB
JavaScript

function createDataset(fields, constraints, sortFields) {
var dataset = DatasetBuilder.newDataset();
dataset.addColumn("json");
try {
// Número do pedido recebido como constraint
var numPed = "";
if (constraints && constraints.length > 0) {
for (var i = 0; i < constraints.length; i++) {
if (constraints[i].fieldName == "numeroPed") {
numPed = constraints[i].initialValue;
}
}
}
if (!numPed) {
dataset.addRow([JSON.stringify({
sucesso: false,
mensagem: "Número do pedido não informado"
})]);
return dataset;
}
// Monta chamada para o Protheus
var clientService = fluigAPI.getAuthorizeClientService();
var data = {
companyId: "1",
serviceCode: "Postprod", // nome do serviço cadastrado no Fluig
endpoint: "/rest/uf_mata121/" + numPed,
method: "get",
timeoutService: "100",
headers: {
"Content-Type": "application/json"
}
};
var response = clientService.invoke(JSON.stringify(data));
if (!response || !response.getResult()) {
throw "Sem resposta da API Protheus";
}
var result = JSON.parse(response.getResult());
dataset.addRow([JSON.stringify(result)]);
} catch (e) {
log.error("❌ Erro dsConsultaPedido: " + e);
dataset.addRow([JSON.stringify({
sucesso: false,
mensagem: "Erro ao consultar pedido: " + e
})]);
}
return dataset;
}