This commit is contained in:
Andrey Cunha 2026-05-06 23:19:49 -03:00
parent 4b465e54fe
commit 2bbc71eee2
12 changed files with 5822 additions and 4717 deletions

File diff suppressed because one or more lines are too long

View File

@ -2,13 +2,13 @@
"version": "1.0.0", "version": "1.0.0",
"configurations": [ "configurations": [
{ {
"id": "6ki8w4m1dpmor606g3n0y6sgduhc", "id": "uyzzp0mq8qomoutcaz19tssb58lcc7",
"name": "Ginseng Produção", "name": "Ginseng Produção",
"host": "comerciode188006.fluig.cloudtotvs.com.br", "host": "comerciode188006.fluig.cloudtotvs.com.br",
"ssl": true, "ssl": true,
"port": 443, "port": 443,
"username": "andrey.cunha", "username": "andrey.cunha",
"password": "eyJpdiI6IjUyYTgyOGQ0ZGM1ZWI3ZjNhZWRlNTQ1ZWZiNzAwOWQwIiwic2FsdCI6IjYwYTZjODBjY2RiNDk5OWI3YTc0NmY1ZGY1NTgwOGI5IiwidGV4dCI6IjdmYTA2ZGFhODM1MWI2NzRmNTk1ZTEzMzc1NjMxZjQ1In0=", "password": "eyJpdiI6IjAyMjdkMjdmZDI1NTczYzFkZmUwMGU4ZWExMWRjZTBmIiwic2FsdCI6ImExMjJlYjdiZDA0MmM3ZGUzYjU3Y2I4YWU4NTUwYzE5IiwidGV4dCI6ImQ2Y2Q4ZjFhNjk0MmQ0MGFhMjQ0NzhjMzExODhiZGQ2In0=",
"userCode": "andrey.cunha", "userCode": "andrey.cunha",
"confirmExporting": false, "confirmExporting": false,
"hasBrowser": false, "hasBrowser": false,

View File

@ -1,62 +0,0 @@
function defineStructure() {
}
function onSync(lastSyncDate) {
}
function createDataset(fields, constraints, sortFields) {
var dataset = DatasetBuilder.newDataset();
dataset.addColumn("nomeOcorrencia");
// Adicione dados para o dataset, exemplo:
dataset.addRow(["Rádio Parada"]);
dataset.addRow(["Câmera Parada"]);
dataset.addRow(["Organização do Rack"]);
dataset.addRow(["PDV Não Liga"]);
dataset.addRow(["PDV Vencido"]);
dataset.addRow(["PDV Lento"]);
dataset.addRow(["Adquirir PDV"]);
dataset.addRow(["Ativar PDV"]);
dataset.addRow(["Computador de ER parado"]);
dataset.addRow(["Nobreak Apitando"]);
dataset.addRow(["Nobreak Não liga"]);
dataset.addRow(["Manutenção Periódica do Nobreak"]);
dataset.addRow(["Impressora 4200"]);
dataset.addRow(["Impressora 5100"]);
dataset.addRow(["Impressora Brother HL-L5102DW"]);
dataset.addRow(["Impressora sem imprimir"]);
dataset.addRow(["Mobshop Parado"]);
dataset.addRow(["Mobpin Parado"]);
dataset.addRow(["Ativar Mobshop"]);
dataset.addRow(["Trocar Mobshop"]);
dataset.addRow(["Solicitar Equipamentos"]);
dataset.addRow(["Entregar Equipamentos"]);
dataset.addRow(["Solicitar chip"]);
dataset.addRow(["Email sem acesso"]);
dataset.addRow(["Internet sem funcionar"]);
dataset.addRow(["Resgatar Imagens"]);
dataset.addRow(["Internet"]);
dataset.addRow(["Outros"]);
dataset.addRow(["Criar Email de colaborador"]);
dataset.addRow(["Acesso a VPN"]);
dataset.addRow(["Acesso as Pastas da Rede"]);
dataset.addRow(["Protheus"]);
dataset.addRow(["Instalação de Desktop"]);
dataset.addRow(["Instalação de Equipamentos"]);
dataset.addRow(["Instalação Câmera"]);
dataset.addRow(["Instalação de Impressora"]);
dataset.addRow(["Configuração de RB"]);
dataset.addRow(["Redes"]);
return dataset;
}
function onMobileSync(user) {
}

View File

@ -3,71 +3,172 @@ function createDataset(fields, constraints, sortFields) {
dataset.addColumn("C8_FILIAL"); dataset.addColumn("C8_FILIAL");
dataset.addColumn("C8_NUM"); dataset.addColumn("C8_NUM");
dataset.addColumn("C8_NUMPRO");
dataset.addColumn("C8_ITEM"); dataset.addColumn("C8_ITEM");
dataset.addColumn("C8_PRODUTO"); dataset.addColumn("C8_PRODUTO");
dataset.addColumn("C8_QUANT"); dataset.addColumn("C8_QUANT");
dataset.addColumn("C8_PRECO"); dataset.addColumn("C8_PRECO");
dataset.addColumn("C8_TOTAL"); dataset.addColumn("C8_TOTAL");
dataset.addColumn("C8_DATPRF"); dataset.addColumn("C8_FORNECE");
dataset.addColumn("C8_EMISSAO"); dataset.addColumn("C8_LOJA");
dataset.addColumn("C8_COND");
dataset.addColumn("C8_NUMSC"); dataset.addColumn("C8_NUMSC");
dataset.addColumn("C8_ITEMSC");
dataset.addColumn("C8_NUMPED");
dataset.addColumn("C8_ITEMPED");
dataset.addColumn("C8_DATPRF");
dataset.addColumn("A2_NOME");
dataset.addColumn("A2_NREDUZ");
dataset.addColumn("B1_DESC"); dataset.addColumn("B1_DESC");
dataset.addColumn("B1_UM"); dataset.addColumn("B1_UM");
dataset.addColumn("B1_TIPO"); dataset.addColumn("C8_DESCRI");
dataset.addColumn("STATUS");
dataset.addColumn("data_consulta");
dataset.addColumn("hora_consulta");
dataset.addColumn("sucesso");
dataset.addColumn("erro");
function emptyRow(sucesso, erro) {
return [
"", "", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "", "",
"", "", sucesso ? "true" : "false", erro || ""
];
}
function normalizeDoc(value) {
var v = String(value || "").trim();
return v.replace(/^0+/, "");
}
function consultarCotacao(clientService, numeroCot) {
var endpoints = [
"/UF_MATA130/" + numeroCot,
"/rest/UF_MATA130/" + numeroCot,
"/rest/uf_mata130/" + numeroCot
];
var ultimoErro = "";
for (var e = 0; e < endpoints.length; e++) {
try {
var data = {
companyId: "1",
serviceCode: "Postprod",
endpoint: endpoints[e],
method: "get",
timeoutService: "60000",
headers: {
"Content-Type": "application/json"
}
};
var response = clientService.invoke(JSON.stringify(data));
if (!response || !response.getResult()) {
ultimoErro = "Sem resposta da API";
continue;
}
var result = JSON.parse(response.getResult());
if (result && result.sucesso && result.cotacoes && result.cotacoes.length) {
return {
sucesso: true,
endpoint: endpoints[e],
result: result
};
}
if (result && !result.sucesso && result.message) {
ultimoErro = String(result.message);
} else {
ultimoErro = "Cotacao sem itens retornados";
}
} catch (errEndpoint) {
ultimoErro = String(errEndpoint);
}
}
return {
sucesso: false,
erro: ultimoErro || "Falha ao consultar cotacao"
};
}
try { try {
var numeroCot = null; var numeroCot = "";
if (constraints) { if (constraints) {
for (var i = 0; i < constraints.length; i++) { for (var i = 0; i < constraints.length; i++) {
if (constraints[i].fieldName == "numCotacao") { if (constraints[i].fieldName == "numCotacao") {
numeroCot = constraints[i].initialValue; numeroCot = String(constraints[i].initialValue || "").trim();
} }
} }
} }
if (!numeroCot) {
dataset.addRow(emptyRow(false, "Numero da cotacao nao informado"));
return dataset;
}
var clientService = fluigAPI.getAuthorizeClientService(); var clientService = fluigAPI.getAuthorizeClientService();
var data = { var retorno = consultarCotacao(clientService, numeroCot);
companyId: "1", if (!retorno.sucesso) {
serviceCode: "Postprod", dataset.addRow(emptyRow(false, retorno.erro));
endpoint: "/rest/uf_mata131", // sem número -> ele retorna todos return dataset;
method: "get", }
timeoutService: "60000"
};
var vo = clientService.invoke(JSON.stringify(data)); var result = retorno.result;
if (vo && vo.getResult()) { var cotacoes = result.cotacoes || [];
var objData = JSON.parse(vo.getResult()); if (!cotacoes.length) {
var itens = objData["solicitacoes"]; dataset.addRow(emptyRow(false, "Cotacao sem itens retornados"));
return dataset;
}
if (itens && itens.length > 0) { var filtro = normalizeDoc(numeroCot);
for (var i = 0; i < itens.length; i++) { var adicionados = 0;
var item = itens[i]; for (var j = 0; j < cotacoes.length; j++) {
var item = cotacoes[j] || {};
// 🔎 se veio constraint, filtra pelo C8_NUM var numeroItem = String(item.C8_NUM || "").trim();
if (numeroCot && item["C8_NUM"] != numeroCot) { if (filtro && normalizeDoc(numeroItem) !== filtro) {
continue; continue;
}
dataset.addRow([
item["C8_FILIAL"] || "",
item["C8_NUM"] || "",
item["C8_ITEM"] || "",
item["C8_PRODUTO"] || "",
item["C8_QUANT"] || "",
item["C8_PRECO"] || "",
item["C8_TOTAL"] || "",
item["C8_DATPRF"] || "",
item["C8_EMISSAO"] || "",
item["C8_NUMSC"] || "",
item["B1_DESC"] || "",
item["B1_UM"] || "",
item["B1_TIPO"] || ""
]);
}
} }
dataset.addRow([
item.C8_FILIAL || "",
numeroItem,
item.C8_NUMPRO || "",
item.C8_ITEM || "",
item.C8_PRODUTO || "",
item.C8_QUANT || "",
item.C8_PRECO || "",
item.C8_TOTAL || "",
item.C8_FORNECE || "",
item.C8_LOJA || "",
item.C8_COND || "",
item.C8_NUMSC || "",
item.C8_ITEMSC || "",
item.C8_NUMPED || "",
item.C8_ITEMPED || "",
item.C8_DATPRF || "",
item.A2_NOME || "",
item.A2_NREDUZ || "",
item.B1_DESC || "",
item.B1_UM || "",
item.C8_DESCRI || "",
item.STATUS || "",
result.data_consulta || "",
result.hora_consulta || "",
"true",
""
]);
adicionados++;
}
if (adicionados === 0) {
dataset.addRow(emptyRow(false, "Numero da cotacao nao localizado no retorno"));
} }
} catch (e) { } catch (e) {
dataset.addRow(["Erro: " + e.message]); dataset.addRow(emptyRow(false, "Erro ao consultar cotacao: " + e));
} }
return dataset; return dataset;

View File

@ -22,9 +22,62 @@ function createDataset(fields, constraints, sortFields) {
dataset.addColumn("data_consulta"); dataset.addColumn("data_consulta");
dataset.addColumn("hora_consulta"); dataset.addColumn("hora_consulta");
dataset.addColumn("sucesso"); dataset.addColumn("sucesso");
dataset.addColumn("COTACOES_JSON");
dataset.addColumn("COTACAO_ERRO");
function emptyRow() { function emptyRow() {
return ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "false"]; return ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "false", "", ""];
}
function consultarCotacao(clientService, cotacao) {
var endpoints = [
"/UF_MATA130/" + cotacao,
"/rest/UF_MATA130/" + cotacao,
"/rest/uf_mata130/" + cotacao
];
var ultimoErro = "";
for (var i = 0; i < endpoints.length; i++) {
try {
var dataCot = {
companyId: "1",
serviceCode: "Postprod",
endpoint: endpoints[i],
method: "get",
timeoutService: "60000",
headers: {
"Content-Type": "application/json"
}
};
var responseCot = clientService.invoke(JSON.stringify(dataCot));
if (!responseCot || !responseCot.getResult()) {
ultimoErro = "Sem resposta ao consultar cotacao";
continue;
}
var resultCot = JSON.parse(responseCot.getResult());
if (resultCot && resultCot.sucesso && resultCot.cotacoes && resultCot.cotacoes.length > 0) {
return {
sucesso: true,
cotacoes: resultCot.cotacoes
};
}
if (resultCot && resultCot.message) {
ultimoErro = String(resultCot.message);
} else {
ultimoErro = "Cotacao sem itens retornados";
}
} catch (eCot) {
ultimoErro = String(eCot);
}
}
return {
sucesso: false,
erro: ultimoErro || "Falha ao consultar cotacao"
};
} }
try { try {
@ -66,6 +119,17 @@ function createDataset(fields, constraints, sortFields) {
cotacao = ""; cotacao = "";
} }
var cotacoesJson = "";
var cotacaoErro = "";
if (cotacao) {
var consultaCot = consultarCotacao(clientService, cotacao);
if (consultaCot.sucesso) {
cotacoesJson = JSON.stringify(consultaCot.cotacoes || []);
} else {
cotacaoErro = consultaCot.erro || "";
}
}
dataset.addRow([ dataset.addRow([
sc.C1_FILIAL || "", sc.C1_FILIAL || "",
sc.C1_NUM || "", sc.C1_NUM || "",
@ -87,7 +151,9 @@ function createDataset(fields, constraints, sortFields) {
sc.STATUS || "", sc.STATUS || "",
result.data_consulta || "", result.data_consulta || "",
result.hora_consulta || "", result.hora_consulta || "",
"true" "true",
cotacoesJson,
cotacaoErro
]); ]);
} else { } else {
dataset.addRow(emptyRow()); dataset.addRow(emptyRow());

View File

@ -1,60 +0,0 @@
function defineStructure() {
addColumn("codigo");
addColumn("nome");
}
function onSync(lastSyncDate) {
}
function createDataset(fields, constraints, sortFields) {
var dataset = DatasetBuilder.newDataset();
var dataSource = "/jdbc/ProtheusDSs"; // Nome da conexão cadastrada no Fluig
var ic = new javax.naming.InitialContext();
var ds = ic.lookup(dataSource);
var conn = ds.getConnection();
var stmt = null;
var rs = null;
try {
log.info("Iniciando execução do dataset...");
var sql = "SELECT a2_cod, a2_nome FROM SA2010 where D_E_L_E_T_ = '';"
log.info("Query SQL: " + sql);
stmt = conn.prepareStatement(sql);
rs = stmt.executeQuery();
dataset.addColumn("codigo");
dataset.addColumn("nome");
var encontrouResultados = false;
while (rs.next()) {
encontrouResultados = true;
log.info("Registro encontrado: " + rs.getString("a2_cod") + " - " + rs.getString("a2_nome"));
dataset.addRow([rs.getString("a2_cod"), rs.getString("a2_nome")]);
}
if (!encontrouResultados) {
log.info("Nenhum registro encontrado para a consulta.");
}
} catch (e) {
log.error("Erro ao executar dataset: " + e.message);
} finally {
try {
if (rs) rs.close();
if (stmt) stmt.close();
if (conn) conn.close();
} catch (e) {
log.error("Erro ao fechar recursos: " + e.message);
}
}
return dataset;
}
function onMobileSync(user) {
}

View File

@ -1,62 +0,0 @@
function defineStructure() {
}
function onSync(lastSyncDate) {
}
function createDataset(fields, constraints, sortFields) {
var dataset = DatasetBuilder.newDataset();
dataset.addColumn("nomeOcorrenciaManutencao");
// Adicione dados para o dataset, exemplo:
dataset.addRow(["Substituição de lâmpada AR 111"]);
dataset.addRow(["Reparo em fita de led ( Serviço de solda )"]);
dataset.addRow(["Fonte de 5ap para fita de led dos móveis"]);
dataset.addRow(["Letreiro sem funcionar"]);
dataset.addRow(["Disjuntor desarmando"]);
dataset.addRow(["Tomadas do caixa sem funcionar"]);
dataset.addRow(["Troca de lâmpadas tubular branco frio - 6500k 9w ER salão de vendas"]);
dataset.addRow(["Substituição lâmpada bulbo 15w estoque"]);
dataset.addRow(["Substituição de Painel de led 62,5x62,5 40w 6500k branco frio (ER,CD )"]);
dataset.addRow(["Interruptor sem funcionar"]);
dataset.addRow(["Painel de led 30x30 24W 6500k ( wc, copa )"]);
dataset.addRow(["Ponto elétrico ( Copa, estoque, pdv , vendas)"]);
dataset.addRow(["Visita emergencial ( Disjuntor geral desarmando )"]);
dataset.addRow(["Fonte de 10ap para letreiro"]);
dataset.addRow(["Central Nobreak 2 Contr. Motor Dc Porta Aço Enrolar Aut. 24v"]);
dataset.addRow(["Central 2 Contr. Motor AC Porta Aço Enrolar Aut. 24v"]);
dataset.addRow(["Motor De Porta De Enrolar De Aço Ac de 100 á 500 Kg 220v"]);
dataset.addRow(["Motor P/porta De Aço De Enrolar Dc 100 á 800 kg 220v C/ com central Nobreak"]);
dataset.addRow(["Manutenção preventiva em porta de enrolar automática"]);
dataset.addRow(["Serviço emergencial porta de enrolar não quer abrir ou descer"]);
dataset.addRow(["Controle para porta de enrolar automática + configuração"]);
dataset.addRow(["Ar-condicionado"]);
dataset.addRow(["Vazamento no estoque"]);
dataset.addRow(["Torneira gotejando ( copa,wc )"]);
dataset.addRow(["Vaso sanitário entupido"]);
dataset.addRow(["Pintura da fachada"]);
dataset.addRow(["Pintura do estoque"]);
dataset.addRow(["Pintura geral da loja"]);
dataset.addRow(["Caixa de gordura entupida"]);
dataset.addRow(["Telhado com vazamento"]);
dataset.addRow(["Instalação de porta copo, papel toalha etc..."]);
dataset.addRow(["Reparo de gesso"]);
dataset.addRow(["Fechadura para porta de vidro"]);
dataset.addRow(["Puxador da porta caindo ( vidro, retaguarda, copa etc..."]);
dataset.addRow(["Porta de vidro arrastando"]);
dataset.addRow(["Cadeira de make com defeito"]);
dataset.addRow(["Porta dos móveis caindo"]);
dataset.addRow(["Confecção de móvel ( Copa, retaguarda etc...)"]);
dataset.addRow(["Outros"]);
dataset.addRow(["Demarcações"]);
return dataset;
}
function onMobileSync(user) {
}

View File

@ -258,6 +258,56 @@
font-size: 13px; font-size: 13px;
} }
.sc-cotacao-track {
margin-top: 14px;
padding: 12px;
border-radius: 10px;
background: #fff;
box-shadow: inset 0 0 0 1px #dfe8f0;
}
.sc-cotacao-head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
margin-bottom: 8px;
}
.sc-cotacao-list {
margin: 0;
padding: 0;
list-style: none;
}
.sc-cotacao-item {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
padding: 8px 0;
border-top: 1px solid #edf2f7;
}
.sc-cotacao-item:first-child {
border-top: 0;
padding-top: 0;
}
.sc-cotacao-item:last-child {
padding-bottom: 0;
}
.sc-cotacao-item-info {
color: #324a5f;
font-size: 13px;
}
.sc-cotacao-item-info strong {
color: #20384d;
font-weight: 700;
}
#tbCotacao { #tbCotacao {
table-layout: fixed; table-layout: fixed;
width: 100%; width: 100%;
@ -656,6 +706,18 @@
<div class="sc-timeline-wrap" id="scTimelineSection"> <div class="sc-timeline-wrap" id="scTimelineSection">
<h4 class="sc-timeline-title">Linha do tempo da SC</h4> <h4 class="sc-timeline-title">Linha do tempo da SC</h4>
<ul class="sc-timeline" id="scTimeline"></ul> <ul class="sc-timeline" id="scTimeline"></ul>
<div class="sc-cotacao-track">
<div class="sc-cotacao-head">
<h4 class="sc-timeline-title" style="margin:0;">Acompanhamento da cotação</h4>
<span class="sc-value badge bg-secondary" id="cotacaoResultado_label">Sem cotação</span>
</div>
<ul class="sc-cotacao-list" id="cotacaoResultadoLista">
<li class="sc-cotacao-item">
<span class="sc-cotacao-item-info">Aguardando vínculo da cotação na SC.</span>
</li>
</ul>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -455,6 +455,66 @@ function limparNumeroDocumento(valor) {
return v; return v;
} }
function normalizarCodigoComparacao(valor) {
var v = String(valor || "").trim();
if (!v) return "";
return v.replace(/^0+/, "");
}
function documentoEhPlaceholder(valor) {
var v = String(valor || "").trim().toUpperCase();
if (!v) return true;
if (v === "XXXX" || v === "XXXXXX") return true;
return /^X+$/.test(v);
}
function linhaCotacaoVencedora(row) {
var pedido = String(row.C8_NUMPED || "").trim();
var itemPedido = String(row.C8_ITEMPED || "").trim();
var fornece = String(row.C8_FORNECE || "").trim();
var loja = String(row.C8_LOJA || "").trim();
if (documentoEhPlaceholder(pedido)) return false;
if (documentoEhPlaceholder(itemPedido)) return false;
if (!fornece || !loja) return false;
return true;
}
function possuiFornecedorCotacao(row) {
var fornece = String(row.C8_FORNECE || "").trim();
var loja = String(row.C8_LOJA || "").trim();
return !!(fornece && loja);
}
function classificarLinhaCotacao(row) {
var status = String(row.STATUS || "").trim().toUpperCase();
if (linhaCotacaoVencedora(row)) {
return { tipo: "PEDIDO_GERADO", label: "VENCEDOR", badge: "badge bg-success", tipoFornecedor: "Fornecedor homologado" };
}
if (possuiFornecedorCotacao(row)) {
return { tipo: "FORNECEDOR_HOMOLOGADO", label: "Homologado", badge: "badge bg-info", tipoFornecedor: "Fornecedor homologado" };
}
if (status.indexOf("PEDIDO_GERADO") >= 0) {
return { tipo: "PERDEDOR", label: "PERDEDOR", badge: "badge bg-warning", tipoFornecedor: "-" };
}
if (!possuiFornecedorCotacao(row)) {
return { tipo: "NOVO_FORNECEDOR", label: "Novo", badge: "badge bg-primary", tipoFornecedor: "Novo fornecedor" };
}
return { tipo: "EM_COTACAO", label: "EM COTACAO", badge: "badge bg-secondary", tipoFornecedor: "-" };
}
function formatarValorCotacao(valor) {
var txt = String(valor || "").trim();
if (!txt) return "-";
return floatToBRL(parseNumeroCotacao(txt));
}
function comporDataHora(data, hora) { function comporDataHora(data, hora) {
var d = String(data || "").trim(); var d = String(data || "").trim();
var h = String(hora || "").trim(); var h = String(hora || "").trim();
@ -547,6 +607,220 @@ function renderizarTimelineSC(dados) {
$("#scTimeline").html(html); $("#scTimeline").html(html);
} }
function renderizarResultadoCotacao(resumo) {
var badge = $("#cotacaoResultado_label");
var lista = $("#cotacaoResultadoLista");
if (!badge.length || !lista.length) return;
if (!resumo || !resumo.detalhes || !resumo.detalhes.length) {
setBadge("#cotacaoResultado_label", "Sem cotacao");
lista.html('<li class="sc-cotacao-item"><span class="sc-cotacao-item-info">Aguardando vinculo da cotacao na SC.</span></li>');
return;
}
var statusResumo = "Sem fornecedor definido";
if ((resumo.qtdPedidoGerado || 0) > 0) {
statusResumo = "Pedido gerado em " + resumo.qtdPedidoGerado + " item(ns)";
} else if ((resumo.qtdFornecedorHomologado || 0) > 0) {
statusResumo = "Fornecedor homologado em " + resumo.qtdFornecedorHomologado + " item(ns)";
} else if ((resumo.qtdNovoFornecedor || 0) > 0) {
statusResumo = "Novo fornecedor em " + resumo.qtdNovoFornecedor + " item(ns)";
}
setBadge("#cotacaoResultado_label", statusResumo);
var html = resumo.detalhes.map(function (linha) {
var numeroTxt = escapeHTML(linha.numero || "-");
var itemTxt = escapeHTML(linha.item || "-");
var produtoTxt = escapeHTML(linha.produto || "-");
var fornecedorTxt = escapeHTML(linha.fornecedor || "-");
var tipoFornecedorTxt = escapeHTML(linha.tipoFornecedor || "-");
var precoTxt = escapeHTML(formatarValorCotacao(linha.preco));
var totalTxt = escapeHTML(formatarValorCotacao(linha.total));
var pedidoTxt = escapeHTML(linha.pedido || "-");
var statusApiTxt = escapeHTML(linha.statusApi || "-");
var statusTxt = escapeHTML(linha.label || "EM COTACAO");
var badgeStatus = linha.badge || "badge bg-secondary";
return [
'<li class="sc-cotacao-item">',
' <span class="sc-cotacao-item-info"><strong>Cotacao ' + numeroTxt + '</strong> | Item ' + itemTxt + " | Produto: " + produtoTxt + " | Fornecedor: " + fornecedorTxt + " | Tipo: " + tipoFornecedorTxt + " | Preco: " + precoTxt + " | Total: " + totalTxt + " | Pedido: " + pedidoTxt + " | Status: " + statusApiTxt + "</span>",
' <span class="' + badgeStatus + '">' + statusTxt + "</span>",
"</li>"
].join("");
}).join("");
lista.html(html);
}
function renderizarErroCotacao(mensagem) {
var lista = $("#cotacaoResultadoLista");
if (!lista.length) return;
setBadge("#cotacaoResultado_label", "Erro consulta cotacao");
lista.html(
'<li class="sc-cotacao-item"><span class="sc-cotacao-item-info">' +
escapeHTML(mensagem || "Nao foi possivel carregar a cotacao no momento.") +
"</span></li>"
);
}
function montarResumoCotacaoPorLinhas(rows, cotacao) {
if (!rows || !rows.length) return null;
var filtroCotacao = normalizarCodigoComparacao(cotacao);
var filtradas = rows.filter(function (row) {
var erro = String(row.erro || row.ERRO || "").trim();
if (erro) return false;
var sucesso = String(row.sucesso || row.SUCESSO || "").trim().toLowerCase();
if (sucesso === "false") return false;
var numeroLinha = normalizarCodigoComparacao(row.C8_NUM || "");
if (filtroCotacao && numeroLinha && numeroLinha !== filtroCotacao) return false;
var item = String(row.C8_ITEM || row.C8_ITEMSC || "").trim();
var fornecedor = String(row.C8_FORNECE || "").trim();
var pedido = String(row.C8_NUMPED || "").trim();
return !!(item || fornecedor || pedido);
});
if (!filtradas.length) return null;
var porItem = {};
var detalhes = [];
filtradas.forEach(function (row) {
var item = String(row.C8_ITEM || row.C8_ITEMSC || "").trim();
if (!item) return;
if (!porItem[item]) porItem[item] = [];
porItem[item].push(row);
var classif = classificarLinhaCotacao(row);
detalhes.push({
numero: String(row.C8_NUM || "").trim(),
item: item,
produto: String(row.C8_PRODUTO || "").trim(),
fornecedor: possuiFornecedorCotacao(row)
? (String(row.C8_FORNECE || "").trim() + "/" + String(row.C8_LOJA || "").trim())
: "",
preco: row.C8_PRECO,
total: row.C8_TOTAL,
pedido: String(row.C8_NUMPED || "").trim(),
statusApi: String(row.STATUS || "").trim(),
tipo: classif.tipo,
label: classif.label,
badge: classif.badge,
tipoFornecedor: classif.tipoFornecedor
});
});
var itens = [];
var qtdPedidoGerado = 0;
var qtdFornecedorHomologado = 0;
var qtdNovoFornecedor = 0;
Object.keys(porItem).sort().forEach(function (item) {
var linhas = porItem[item];
var vencedorPedido = null;
var fornecedorHomologado = null;
var fornecedorNovo = null;
for (var i = 0; i < linhas.length; i++) {
if (linhaCotacaoVencedora(linhas[i])) {
vencedorPedido = linhas[i];
break;
}
var fornece = String(linhas[i].C8_FORNECE || "").trim();
var loja = String(linhas[i].C8_LOJA || "").trim();
if (!fornecedorHomologado && fornece && loja) {
fornecedorHomologado = linhas[i];
}
if (!fornecedorNovo && !fornece && !loja) {
fornecedorNovo = linhas[i];
}
}
if (vencedorPedido) {
qtdPedidoGerado++;
itens.push({
item: item,
fornecedor: String(vencedorPedido.C8_FORNECE || "").trim() + "/" + String(vencedorPedido.C8_LOJA || "").trim(),
pedido: String(vencedorPedido.C8_NUMPED || "").trim(),
tipo: "PEDIDO_GERADO"
});
return;
}
if (fornecedorHomologado) {
qtdFornecedorHomologado++;
itens.push({
item: item,
fornecedor: String(fornecedorHomologado.C8_FORNECE || "").trim() + "/" + String(fornecedorHomologado.C8_LOJA || "").trim(),
pedido: String(fornecedorHomologado.C8_NUMPED || "").trim(),
tipo: "FORNECEDOR_HOMOLOGADO"
});
return;
}
if (fornecedorNovo) {
qtdNovoFornecedor++;
itens.push({
item: item,
fornecedor: String(fornecedorNovo.A2_NOME || fornecedorNovo.A2_NREDUZ || "").trim(),
pedido: String(fornecedorNovo.C8_NUMPED || "").trim(),
tipo: "NOVO_FORNECEDOR"
});
return;
}
itens.push({
item: item,
fornecedor: "",
pedido: "",
tipo: "EM_COTACAO"
});
});
return {
itens: itens,
detalhes: detalhes,
qtdPedidoGerado: qtdPedidoGerado,
qtdFornecedorHomologado: qtdFornecedorHomologado,
qtdNovoFornecedor: qtdNovoFornecedor
};
}
function consultarResultadoCotacao(cotacao) {
if (!cotacao || typeof DatasetFactory === "undefined" || typeof ConstraintType === "undefined") {
renderizarResultadoCotacao(null);
return;
}
try {
var cCotacao = DatasetFactory.createConstraint("numCotacao", cotacao, cotacao, ConstraintType.MUST);
var ds = DatasetFactory.getDataset("dsComprasCotacao", null, [cCotacao], null);
var rows = (ds && ds.values) ? ds.values : [];
if (!rows.length) {
renderizarResultadoCotacao(null);
return;
}
var erroLinha = rows.find(function (row) {
return String(row.erro || row.ERRO || "").trim();
});
if (erroLinha) {
renderizarErroCotacao(String(erroLinha.erro || erroLinha.ERRO || "").trim());
return;
}
renderizarResultadoCotacao(montarResumoCotacaoPorLinhas(rows, cotacao));
} catch (e) {
console.warn("Nao foi possivel consultar resultado da cotacao no dsComprasCotacao:", e);
renderizarResultadoCotacao(null);
}
}
function focarTimelineSC() { function focarTimelineSC() {
var secao = $("#scTimelineSection"); var secao = $("#scTimelineSection");
if (!secao.length) return; if (!secao.length) return;
@ -607,7 +881,7 @@ function montarStatusAndamento(scRow, cotacao, pedido) {
return ""; return "";
} }
function preencherResumoSC() { function preencherResumoSC(resumoCotacao, erroCotacao) {
var numero = valorCampo("numeroSCProtheus"); var numero = valorCampo("numeroSCProtheus");
var statusCadastro = valorCampo("statusSCProtheus"); var statusCadastro = valorCampo("statusSCProtheus");
var solicitante = valorCampo("solicitanteSCProtheus"); var solicitante = valorCampo("solicitanteSCProtheus");
@ -650,6 +924,16 @@ function preencherResumoSC() {
cotacao: cotacao, cotacao: cotacao,
pedido: pedido pedido: pedido
}); });
if (erroCotacao) {
renderizarErroCotacao(erroCotacao);
} else if (resumoCotacao && resumoCotacao.itens && resumoCotacao.itens.length) {
renderizarResultadoCotacao(resumoCotacao);
} else if (cotacao) {
consultarResultadoCotacao(cotacao);
} else {
renderizarResultadoCotacao(null);
}
} }
function consultarAndamentoSC() { function consultarAndamentoSC() {
@ -678,7 +962,19 @@ function consultarAndamentoSC() {
var andamento = montarStatusAndamento(row, cotacao, pedido); var andamento = montarStatusAndamento(row, cotacao, pedido);
if (andamento) $("#statusAtendimento").val(andamento); if (andamento) $("#statusAtendimento").val(andamento);
preencherResumoSC(); var resumoCotacao = null;
var erroCotacao = String(row.COTACAO_ERRO || "").trim();
var jsonCotacoes = String(row.COTACOES_JSON || "").trim();
if (jsonCotacoes) {
try {
var cotacoes = JSON.parse(jsonCotacoes);
resumoCotacao = montarResumoCotacaoPorLinhas(cotacoes, cotacao);
} catch (eCot) {
if (!erroCotacao) erroCotacao = "Falha ao ler cotacoes retornadas pelo ds_consultaSC";
}
}
preencherResumoSC(resumoCotacao, erroCotacao);
} catch (e) { } catch (e) {
console.warn("Nao foi possivel consultar andamento da SC no ds_consultaSC:", e); console.warn("Nao foi possivel consultar andamento da SC no ds_consultaSC:", e);
} }

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<java version="1.8.0_202" class="java.beans.XMLDecoder"> <java version="1.8.0_481" class="java.beans.XMLDecoder">
<object class="java.util.HashMap"> <object class="java.util.HashMap">
<void method="put"> <void method="put">
<string>volume</string> <string>volume</string>
@ -646,5 +646,768 @@
</void> </void>
</array> </array>
</void> </void>
<void method="put">
<string>camposFormulario, documentoId = 9305</string>
<array class="java.lang.String" length="69">
<void index="0">
<string>activity</string>
</void>
<void index="1">
<string>centro_custo</string>
</void>
<void index="2">
<string>ceo_validacao_aprova</string>
</void>
<void index="3">
<string>codigocentroCusto</string>
</void>
<void index="4">
<string>Codproduto</string>
</void>
<void index="5">
<string>cotacaoSCProtheus</string>
</void>
<void index="6">
<string>currentUserId</string>
</void>
<void index="7">
<string>currentUsermail</string>
</void>
<void index="8">
<string>currentUserName</string>
</void>
<void index="9">
<string>dataCadastroSCProtheus</string>
</void>
<void index="10">
<string>dataNec</string>
</void>
<void index="11">
<string>dataValidacaoItens</string>
</void>
<void index="12">
<string>data_validacao_aprova</string>
</void>
<void index="13">
<string>data_validacao_aprova_ceo</string>
</void>
<void index="14">
<string>data_validacao_aprova_gerf</string>
</void>
<void index="15">
<string>data_validacao_aprova_gestor</string>
</void>
<void index="16">
<string>data_validacao_gestor</string>
</void>
<void index="17">
<string>descProduto</string>
</void>
<void index="18">
<string>emailSolicitante</string>
</void>
<void index="19">
<string>emissaoSCProtheus</string>
</void>
<void index="20">
<string>empresa</string>
</void>
<void index="21">
<string>estabelecimento</string>
</void>
<void index="22">
<string>fdComprovante</string>
</void>
<void index="23">
<string>filialdest</string>
</void>
<void index="24">
<string>filialest</string>
</void>
<void index="25">
<string>filialprotheus</string>
</void>
<void index="26">
<string>fnComprovante</string>
</void>
<void index="27">
<string>formMode</string>
</void>
<void index="28">
<string>gerf_validacao_aprova</string>
</void>
<void index="29">
<string>gestor_cc</string>
</void>
<void index="30">
<string>gestor_validacao_aprova</string>
</void>
<void index="31">
<string>horaCadastroSCProtheus</string>
</void>
<void index="32">
<string>justificativaDecisaoItens</string>
</void>
<void index="33">
<string>justificativaValidaProblema</string>
</void>
<void index="34">
<string>justi_decisaogc</string>
</void>
<void index="35">
<string>justi_decisao_aprova</string>
</void>
<void index="36">
<string>justi_decisao_aprova_ceo</string>
</void>
<void index="37">
<string>justi_decisao_aprova_gerente</string>
</void>
<void index="38">
<string>justi_decisao_aprova_gestor</string>
</void>
<void index="39">
<string>justi_decisao_gc</string>
</void>
<void index="40">
<string>justi_decisao_gerf</string>
</void>
<void index="41">
<string>justi_decisao_gestor</string>
</void>
<void index="42">
<string>justi_decisao_solic</string>
</void>
<void index="43">
<string>justi_decisao__soli</string>
</void>
<void index="44">
<string>moreInfo</string>
</void>
<void index="45">
<string>numeroSCProtheus</string>
</void>
<void index="46">
<string>observacoes</string>
</void>
<void index="47">
<string>observacoesdosolicitante</string>
</void>
<void index="48">
<string>pedidoSCProtheus</string>
</void>
<void index="49">
<string>produtoCod</string>
</void>
<void index="50">
<string>produtoDesc</string>
</void>
<void index="51">
<string>produtoLink</string>
</void>
<void index="52">
<string>qtd</string>
</void>
<void index="53">
<string>qtdItensSCProtheus</string>
</void>
<void index="54">
<string>quantidade</string>
</void>
<void index="55">
<string>requesterId</string>
</void>
<void index="56">
<string>requesterMail</string>
</void>
<void index="57">
<string>solicitanteSCProtheus</string>
</void>
<void index="58">
<string>statusAtendimento</string>
</void>
<void index="59">
<string>statusSCProtheus</string>
</void>
<void index="60">
<string>tipoSolicitacao</string>
</void>
<void index="61">
<string>urgencia</string>
</void>
<void index="62">
<string>userValidacaoItens</string>
</void>
<void index="63">
<string>user_validacao_aprova</string>
</void>
<void index="64">
<string>user_validacao_gestor</string>
</void>
<void index="65">
<string>usuarioSolicitante</string>
</void>
<void index="66">
<string>validacaoItens</string>
</void>
<void index="67">
<string>valorTotalCotacao</string>
</void>
<void index="68">
<string>WKNumProces</string>
</void>
</array>
</void>
<void method="put">
<string>forms</string>
<object class="java.util.LinkedList">
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>FLUIGADHOC</string>
</void>
<void property="documentDescription">
<string>FLUIGADHOC</string>
</void>
<void property="documentId">
<int>3</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>FLUIGADHOCPROCESS</string>
</void>
<void property="documentDescription">
<string>FLUIGADHOCPROCESS</string>
</void>
<void property="documentId">
<int>4</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>totvsflow_dataset_tipo_ocorrencia</string>
</void>
<void property="documentDescription">
<string>totvsflow_dataset_tipo_ocorrencia</string>
</void>
<void property="documentId">
<int>14</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>totvsflow_abertura_chamado</string>
</void>
<void property="documentDescription">
<string>totvsflow_abertura_chamado</string>
</void>
<void property="documentId">
<int>15</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>DSFormulariodeAberturadechamado</string>
</void>
<void property="documentDescription">
<string>Formulário de Abertura de chamado</string>
</void>
<void property="documentId">
<int>20</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>Abertura_de_chamados</string>
</void>
<void property="documentDescription">
<string>Solicitação de abertura de chamados</string>
</void>
<void property="documentId">
<int>21</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>DSvistoriadeServico</string>
</void>
<void property="documentDescription">
<string>vistoriadeServico</string>
</void>
<void property="documentId">
<int>24</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>DSFormulariodeReservadesala</string>
</void>
<void property="documentDescription">
<string>Formulário de Reserva de sala</string>
</void>
<void property="documentId">
<int>34</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>totvsflow_dataset_centrocusto</string>
</void>
<void property="documentDescription">
<string>totvsflow_dataset_centrocusto</string>
</void>
<void property="documentId">
<int>103</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>totvsflow_dataset_cadastro_item</string>
</void>
<void property="documentDescription">
<string>totvsflow_dataset_cadastro_item</string>
</void>
<void property="documentId">
<int>104</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>totvsflow_dataset_estabelecimento</string>
</void>
<void property="documentDescription">
<string>totvsflow_dataset_estabelecimento</string>
</void>
<void property="documentId">
<int>105</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>totvsflow_solicitacao_compras</string>
</void>
<void property="documentDescription">
<string>totvsflow_solicitacao_compras</string>
</void>
<void property="documentId">
<int>165</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>aberturadechamado_manutencao</string>
</void>
<void property="documentDescription">
<string>aberturadechamado_manutencao</string>
</void>
<void property="documentId">
<int>400</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>Solicitacao_transferencia</string>
</void>
<void property="documentDescription">
<string>Solicitacao_transferencia</string>
</void>
<void property="documentId">
<int>590</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>recrutamento</string>
</void>
<void property="documentDescription">
<string>recrutamento</string>
</void>
<void property="documentId">
<int>823</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>kit_aniversariantes</string>
</void>
<void property="documentDescription">
<string>Aniversariantes</string>
</void>
<void property="documentId">
<int>7690</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>kit_cardapio</string>
</void>
<void property="documentDescription">
<string>Cardápio do Dia</string>
</void>
<void property="documentId">
<int>7695</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>kit_convenios</string>
</void>
<void property="documentDescription">
<string>Convênios</string>
</void>
<void property="documentId">
<int>7703</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>kit_news</string>
</void>
<void property="documentDescription">
<string>Notícias</string>
</void>
<void property="documentId">
<int>7709</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>compras_digital</string>
</void>
<void property="documentDescription">
<string>compras_digital</string>
</void>
<void property="documentId">
<int>9305</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>dpf_di_formulario_processo_admissao</string>
</void>
<void property="documentDescription">
<string>Digte_Public_Form_Di_Formulario_Processo_Admissao_Protheus</string>
</void>
<void property="documentId">
<int>9626</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>dpf_cadastro_status</string>
</void>
<void property="documentDescription">
<string>Digte_Public_Form_Status</string>
</void>
<void property="documentId">
<int>9627</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>dpf_configuracoes</string>
</void>
<void property="documentDescription">
<string>Digte_Public_Form_Configuracoes</string>
</void>
<void property="documentId">
<int>9628</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>dpf_cadastro_jornada</string>
</void>
<void property="documentDescription">
<string>Digte_Public_Form_Jornada</string>
</void>
<void property="documentId">
<int>9629</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>dpf_tipo_documento</string>
</void>
<void property="documentDescription">
<string>Digte_Public_Form_Tipo_Documento</string>
</void>
<void property="documentId">
<int>9630</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>dpf_dataset</string>
</void>
<void property="documentDescription">
<string>Digte_Public_Form_Dataset</string>
</void>
<void property="documentId">
<int>9631</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>dpf_di_configuracao</string>
</void>
<void property="documentDescription">
<string>Digte_Public_Form_Di_Configuracoes</string>
</void>
<void property="documentId">
<int>9632</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>dpf_di_beneficio</string>
</void>
<void property="documentDescription">
<string>Digte_Public_Form_Di_Beneficios</string>
</void>
<void property="documentId">
<int>9633</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>dpf_di_compl_contrato</string>
</void>
<void property="documentDescription">
<string>Digte_Public_Form_Di_Comp_Contrato</string>
</void>
<void property="documentId">
<int>9634</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>dpf_di_funcao_jornada</string>
</void>
<void property="documentDescription">
<string>Digte_Public_Form_Di_Funcao_Jornada</string>
</void>
<void property="documentId">
<int>9635</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>dpf_dataset_estrutura</string>
</void>
<void property="documentDescription">
<string>Digte_Public_Form_Di_Dataset_Estrutura</string>
</void>
<void property="documentId">
<int>9636</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>dpf_grupo_tipo_contrato</string>
</void>
<void property="documentDescription">
<string>Digte_Public_Form_Grupo_Tipo_Contrato</string>
</void>
<void property="documentId">
<int>9637</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>dpf_tipo_contrato</string>
</void>
<void property="documentDescription">
<string>Digte_Public_Form_Tipo_Contrato</string>
</void>
<void property="documentId">
<int>9638</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>dpf_di_traducao_campo_valor</string>
</void>
<void property="documentDescription">
<string>Digte_Public_Form_Di_Traducao_Campo_Valor</string>
</void>
<void property="documentId">
<int>9639</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>dpf_di_restricoes_cpf</string>
</void>
<void property="documentDescription">
<string>Digte_Public_Form_Di_Formulario_Restricao_CPF</string>
</void>
<void property="documentId">
<int>9640</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>dpf_di_compl_vt</string>
</void>
<void property="documentDescription">
<string>Digte_Public_Form_Di_Compl_VT</string>
</void>
<void property="documentId">
<int>9641</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>dpf_di_traducao_campo</string>
</void>
<void property="documentDescription">
<string>Digte_Public_Form_Di_Traducao_Campo</string>
</void>
<void property="documentId">
<int>9995</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>desligamento</string>
</void>
<void property="documentDescription">
<string>desligamento</string>
</void>
<void property="documentId">
<int>12959</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>checklist</string>
</void>
<void property="documentDescription">
<string>checklist</string>
</void>
<void property="documentId">
<int>40213</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>totvsflow_lancamento_documento</string>
</void>
<void property="documentDescription">
<string>totvsflow_lancamento_documento</string>
</void>
<void property="documentId">
<int>41254</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>transferenciav2</string>
</void>
<void property="documentDescription">
<string>transferência</string>
</void>
<void property="documentId">
<int>43582</int>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.technology.ecmrestclient.cardindexpublisher.FormVO">
<void property="datasetName">
<string>desligamentov2</string>
</void>
<void property="documentDescription">
<string>desligamentov2</string>
</void>
<void property="documentId">
<int>46963</int>
</void>
</object>
</void>
</object>
</void>
</object> </object>
</java> </java>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 60 KiB