Novo git da alteração

This commit is contained in:
2026-03-01 17:27:48 -03:00
parent 8b7a079235
commit 9ec8d6e70b
366 changed files with 50299 additions and 27325 deletions
+59 -43
View File
@@ -1,61 +1,77 @@
function defineStructure() {
addColumn("codigo");
addColumn("descricao");
}
function onSync(lastSyncDate) {}
function createDataset(fields, constraints, sortFields) {
var dataset = DatasetBuilder.newDataset();
var dataSource = "/jdbc/Protheus12"; // 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;
dataset.addColumn("codigo");
dataset.addColumn("descricao");
dataset.addColumn("tipo");
dataset.addColumn("medida");
dataset.addColumn("armazem");
dataset.addColumn("icms");
dataset.addColumn("ipi");
dataset.addColumn("contrato");
dataset.addColumn("localizacao");
dataset.addColumn("rastro");
dataset.addColumn("bloqueado");
dataset.addColumn("ultimo_preco");
try {
log.info("Iniciando execução do dataset...");
var clientService = fluigAPI.getAuthorizeClientService();
var data = {
companyId: "1",
serviceCode: "Postprod",
endpoint: "/uf_mata010/",
method: "get",
timeoutService: "60000",
params: {}
};
var sql = "SELECT b1_cod, b1_desc FROM sb1010 WHERE LEFT(b1_cod, 4) IN ('0001','0008', '0002', '0003', '0007', '0006', '0009', '0010', '0011', '0014','0016')";
log.info("Query SQL: " + sql);
var vo = clientService.invoke(JSON.stringify(data));
var retorno = vo.getResult();
stmt = conn.prepareStatement(sql);
rs = stmt.executeQuery();
if (retorno) {
var objData = JSON.parse(retorno);
var itens = objData["produtos"];
dataset.addColumn("codigo");
dataset.addColumn("descricao");
if (itens && itens.length > 0) {
for (var i = 0; i < itens.length; i++) {
var item = itens[i];
var encontrados = {}; // Usando um objeto para evitar duplicação
// aplica filtro:
var codigo = (item["B1_COD"] || "").trim();
var bloqueado = (item["B1_MSBLQL"] || "").trim();
while (rs.next()) {
var codigo = rs.getString("b1_cod");
var descricao = rs.getString("b1_desc");
// só adiciona se o código NÃO tiver 5 dígitos OU se bloqueado != "1"
if (codigo.length !== 5 && bloqueado !== "1") {
dataset.addRow([
codigo,
item["B1_DESC"],
item["B1_TIPO"],
item["B1_UM"],
item["B1_LOCPAD"],
item["B1_PICM"],
item["B1_IPI"],
item["B1_CONTRAT"],
item["B1_LOCALIZ"],
item["B1_RASTRO"],
bloqueado,
item["B1_UPRC"]
if (!encontrados[codigo]) { // Verifica se já foi adicionado
encontrados[codigo] = true; // Marca como processado
log.info("Registro encontrado: " + codigo + " - " + descricao);
dataset.addRow([codigo, descricao]);
]);
}
}
} else {
dataset.addRow(["Sem produtos retornados"]);
}
}
if (Object.keys(encontrados).length === 0) {
log.info("Nenhum registro encontrado para a consulta.");
} else {
dataset.addRow(["Sem resposta da API"]);
}
} 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);
}
dataset = DatasetBuilder.newDataset();
dataset.addColumn("ERRO");
dataset.addRow([e.message]);
}
return dataset;
}
function onMobileSync(user) {}
+1 -1
View File
@@ -94,7 +94,7 @@ function createDataset(fields, constraints, sortFields) {
ds.addRow(new Array("070110","23703", "LOJA BARRA CHOCA","45120-000","AV GETULIO VARGAS","98","CENTRO","CHOCA","BA","14.378.160/0016-60"));
ds.addRow(new Array("070111","23702", "LOJA PANVICON CENTER","45000-230","AVENIDA LAURO DE FREITAS","142","CENTRO","VITORIA DA CONQUISTA","BA","14.378.160/0017-40"));
ds.addRow(new Array("070112","23701", "LOJA NOVE DE NOVEMBRO","45000-370","PC NOVE DE NOVEMBRO","10","CENTRO","VITORIA DA CONQUISTA","BA","14.378.160/0018-21"));
ds.addRow(new Array("070113","23665", "LOJA UNIVERSIDADE","45031-000","AV OLIVIA FLORES","2500","UNIVERSIDADE","VITORIA DA CONQUISTA","BA","14.378.160/0021-27"));
ds.addRow(new Array("070113","23665", "LOJA BOULEVARD SHOPPING","45031-000","AV OLIVIA FLORES","2500","UNIVERSIDADE","VITORIA DA CONQUISTA","BA","14.378.160/0021-27"));
ds.addRow(new Array("010172","24253", "LOJA IRECÊ CENTRO","44860-051","RUA AUGUSTO NUNES PEREIRA","162","CENTRO","IRECÊ","BA","08.489.643/0095-32"));
ds.addRow(new Array("010171","24254", "LOJA JOÃO DOURADO","44920-000","AVENIDA JOAQUIM AUGUSTO","212D","CENTRO","JOÃO DOURADO","BA","08.489.643/0089-94"));
ds.addRow(new Array("010173","24254", "ER IRECE","44860-169","AVENIDA EDVALDO SANTOS LOPES","438","CENTRO","IRECE","BA","08.489.643/0094-51"));
+77
View File
@@ -0,0 +1,77 @@
function createDataset(fields, constraints, sortFields) {
var dataset = DatasetBuilder.newDataset();
dataset.addColumn("codigo");
dataset.addColumn("descricao");
dataset.addColumn("tipo");
dataset.addColumn("medida");
dataset.addColumn("armazem");
dataset.addColumn("icms");
dataset.addColumn("ipi");
dataset.addColumn("contrato");
dataset.addColumn("localizacao");
dataset.addColumn("rastro");
dataset.addColumn("bloqueado");
dataset.addColumn("ultimo_preco");
try {
var clientService = fluigAPI.getAuthorizeClientService();
var data = {
companyId: "1",
serviceCode: "Postprod",
endpoint: "/uf_mata010/",
method: "get",
timeoutService: "60000",
params: {}
};
var vo = clientService.invoke(JSON.stringify(data));
var retorno = vo.getResult();
if (retorno) {
var objData = JSON.parse(retorno);
var itens = objData["produtos"];
if (itens && itens.length > 0) {
for (var i = 0; i < itens.length; i++) {
var item = itens[i];
// aplica filtro:
var codigo = (item["B1_COD"] || "").trim();
var bloqueado = (item["B1_MSBLQL"] || "").trim();
// só adiciona se o código NÃO tiver 5 dígitos OU se bloqueado != "1"
if (codigo.length !== 5 && bloqueado !== "1") {
dataset.addRow([
codigo,
item["B1_DESC"],
item["B1_TIPO"],
item["B1_UM"],
item["B1_LOCPAD"],
item["B1_PICM"],
item["B1_IPI"],
item["B1_CONTRAT"],
item["B1_LOCALIZ"],
item["B1_RASTRO"],
bloqueado,
item["B1_UPRC"]
]);
}
}
} else {
dataset.addRow(["Sem produtos retornados"]);
}
} else {
dataset.addRow(["Sem resposta da API"]);
}
} catch (e) {
dataset = DatasetBuilder.newDataset();
dataset.addColumn("ERRO");
dataset.addRow([e.message]);
}
return dataset;
}
+7 -6
View File
@@ -20,12 +20,13 @@ function createDataset(fields, constraints, sortFields) {
["41101", "Comercial", "Analanny Magalhães", "analanny.magalhaes@grupoginseng.com.br", "1"],
["51101", "Diretoria e Gestão", "João Marcelo", "joao.loureiro@grupoginseng.com.br", "2"],
["51102", "Operações", "Diogo Demetrio", "diogo.martins@grupoginseng.com.br", "3"],
["51103", "Controladoria", "Ariklenyo Nascimento", "ari.nascimento@grupoginseng.com.br", "4"],
["51104", "Compliance", "Marla Palma", "marla.palma@grupoginseng.com.br", "5"],
["51107", "Administrativo", "Lucila Brandão", "lucila.brandao@grupoginseng.com.br", "6"],
["51110", "Gente e Cultura", "Francine Peiter", "francine.silva@grupoginseng.com.br", "7"],
["51113", "TI", "Igor Oliveira", "igor.oliveira@grupoginseng.com.br", "8"],
["51114", "Projetos e Performance", "Lucas Rocha", "lucas.rocha@grupoginseng.com.br", "9"],
["51102", "Suprimentos", "Lucas Barbosa", "lucas.barbosa@grupoginseng.com.br", "4"],
["51103", "Controladoria", "Ariklenyo Nascimento", "ari.nascimento@grupoginseng.com.br", "5"],
["51104", "Compliance", "Marla Palma", "marla.palma@grupoginseng.com.br", "6"],
["51107", "Administrativo", "Lucila Brandão", "lucila.brandao@grupoginseng.com.br", "7"],
["51110", "Gente e Cultura", "Francine Peiter", "francine.silva@grupoginseng.com.br", "8"],
["51113", "TI", "Igor Oliveira", "igor.oliveira@grupoginseng.com.br", "9"],
["51114", "Projetos e Performance", "Lucas Rocha", "lucas.rocha@grupoginseng.com.br", "10"],
];
// Buscar matrícula do gestor no dataset "colleague"
@@ -0,0 +1,114 @@
function createDataset(fields, constraints, sortFields) {
var ds = DatasetBuilder.newDataset();
ds.addColumn("Solicitacao");
ds.addColumn("Status");
// CONFIGURAÇÕES
var PROCESSO = "FlowEssentials_AberturaDeChamado";
var URL = "https://comerciode188006.fluig.cloudtotvs.com.br";
var USER = "andrey.cunha";
var PASS = "88253332Wa@"; // <-- coloque aqui a senha do usuário
var LOTES = 200; // processa 200 solicitações por vez (pode aumentar)
try {
// BUSCA TODAS AS SOLICITAÇÕES
var dsProc = DatasetFactory.getDataset(
"workflowProcess",
["workflowProcessPK.processInstanceId"],
[
DatasetFactory.createConstraint("processId", PROCESSO, PROCESSO, ConstraintType.MUST)
],
null
);
log.info("### TOTAL DE PROCESSOS ENCONTRADOS: " + dsProc.rowsCount);
// IMPORTA CLASSES DO WEBSERVICE
var authService = ServiceManager.getService("ECMCardService");
var serviceInstance = authService.instantiate("com.totvs.technology.ecm.dm.ws.ECMCardServiceService");
var port = serviceInstance.getECMCardServicePort();
// Processar lote por lote
for (var i = 0; i < dsProc.rowsCount; i++) {
var idSolic = dsProc.getValue(i, "workflowProcessPK.processInstanceId");
try {
// PEGA O CARD DE ORIGEM
var cardData = port.getCardData(
USER,
PASS,
1, // companyId
idSolic
);
// REESCREVE OS CAMPOS
var newCard = [];
var CAMPOS = [
"requesterName",
"requesterMail",
"requesterId",
"currentUserName",
"currentUsermail",
"currentUserId",
"userSolicitante",
"emailSolicitante",
"nomeGestorArea",
"emailGestorArea",
"estabelecimentoFilial",
"complemento",
"tipoOcorrencia",
"tituloOcorrencia",
"detalheSolicitacao",
"analistaTecnico",
"dataAnaliseTecnica",
"consegueResolver",
"possuiInconsistencia",
"consideracoesTecnicas",
"userValidacao",
"dataUserValidacao",
"situacaoResolvida",
"ratingValue",
"consideracoes",
"dataAbertura"
];
// MONTA ARRAY DOS CAMPOS
for (var j = 0; j < CAMPOS.length; j++) {
var nomeCampo = CAMPOS[j];
var valorCampo = cardData.get(nomeCampo) ? cardData.get(nomeCampo).get(0) : "";
newCard.push({
item: {
key: nomeCampo,
value: valorCampo
}
});
}
// GRAVA O CARD ATUALIZADO
port.updateCardData(
USER,
PASS,
1, // tenant/companyId
idSolic,
newCard
);
ds.addRow([idSolic, "OK"]);
} catch (err1) {
ds.addRow([idSolic, "ERRO: " + err1]);
}
}
} catch (err2) {
ds.addRow(["GERAL", "ERRO: " + err2]);
}
return ds;
}