This commit is contained in:
2026-05-08 15:30:25 -03:00
parent 2bbc71eee2
commit 20ae0d1f2f
14 changed files with 4600 additions and 3503 deletions
+78 -2
View File
@@ -24,9 +24,20 @@ function createDataset(fields, constraints, sortFields) {
dataset.addColumn("sucesso");
dataset.addColumn("COTACOES_JSON");
dataset.addColumn("COTACAO_ERRO");
dataset.addColumn("PEDIDO_JSON");
dataset.addColumn("PEDIDO_ERRO");
function emptyRow() {
return ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "false", "", ""];
return ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "false", "", "", "", ""];
}
function documentoValido(valor) {
var v = String(valor || "").trim().toUpperCase();
if (!v) return false;
if (/^0+$/.test(v)) return false;
if (/^X+$/.test(v)) return false;
if (v == "XXXX" || v == "XXXXXX") return false;
return true;
}
function consultarCotacao(clientService, cotacao) {
@@ -80,6 +91,57 @@ function createDataset(fields, constraints, sortFields) {
};
}
function consultarPedido(clientService, pedido) {
var endpoints = [
"/UF_MATA120/" + pedido,
"/rest/UF_MATA120/" + pedido,
"/rest/uf_mata120/" + pedido
];
var ultimoErro = "";
for (var i = 0; i < endpoints.length; i++) {
try {
var dataPed = {
companyId: "1",
serviceCode: "Postprod",
endpoint: endpoints[i],
method: "get",
timeoutService: "60000",
headers: {
"Content-Type": "application/json"
}
};
var responsePed = clientService.invoke(JSON.stringify(dataPed));
if (!responsePed || !responsePed.getResult()) {
ultimoErro = "Sem resposta ao consultar pedido";
continue;
}
var resultPed = JSON.parse(responsePed.getResult());
if (resultPed && resultPed.sucesso && resultPed.pedidos && resultPed.pedidos.length > 0) {
return {
sucesso: true,
pedidos: resultPed.pedidos
};
}
if (resultPed && resultPed.message) {
ultimoErro = String(resultPed.message);
} else {
ultimoErro = "Pedido sem itens retornados";
}
} catch (ePed) {
ultimoErro = String(ePed);
}
}
return {
sucesso: false,
erro: ultimoErro || "Falha ao consultar pedido"
};
}
try {
var numeroSC = null;
if (constraints != null) {
@@ -130,6 +192,18 @@ function createDataset(fields, constraints, sortFields) {
}
}
var pedido = String(sc.C1_PEDIDO || "").trim();
var pedidoJson = "";
var pedidoErro = "";
if (documentoValido(pedido)) {
var consultaPed = consultarPedido(clientService, pedido);
if (consultaPed.sucesso) {
pedidoJson = JSON.stringify(consultaPed.pedidos || []);
} else {
pedidoErro = consultaPed.erro || "";
}
}
dataset.addRow([
sc.C1_FILIAL || "",
sc.C1_NUM || "",
@@ -153,7 +227,9 @@ function createDataset(fields, constraints, sortFields) {
result.hora_consulta || "",
"true",
cotacoesJson,
cotacaoErro
cotacaoErro,
pedidoJson,
pedidoErro
]);
} else {
dataset.addRow(emptyRow());