Novo git da alteração
This commit is contained in:
@@ -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) {}
|
||||
|
||||
@@ -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"));
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user