55 lines
1.7 KiB
JavaScript
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;
|
|
}
|