att
This commit is contained in:
@@ -64,28 +64,23 @@ function createDataset(fields, constraints, sortFields) {
|
||||
return dataset;
|
||||
}
|
||||
|
||||
// Criação das colunas
|
||||
function criarEstrutura(dataset) {
|
||||
dataset.addColumn("STATUS", DatasetFieldType.STRING);
|
||||
dataset.addColumn("RETORNO", DatasetFieldType.STRING);
|
||||
dataset.addColumn("STATUS");
|
||||
dataset.addColumn("RETORNO");
|
||||
}
|
||||
|
||||
// Função para buscar parâmetro nas constraints
|
||||
function getParametro(constraints, campo) {
|
||||
var valor = "";
|
||||
if (constraints && constraints.length > 0) {
|
||||
for each (var c in constraints) {
|
||||
if (c.getFieldName().trim().toUpperCase() === campo.trim().toUpperCase()) {
|
||||
valor = c.getInitialValue();
|
||||
break;
|
||||
}
|
||||
if (!constraints) return "";
|
||||
var campoUpper = String(campo || "").trim().toUpperCase();
|
||||
for (var i = 0; i < constraints.length; i++) {
|
||||
var c = constraints[i];
|
||||
if (String(c.fieldName || "").trim().toUpperCase() === campoUpper) {
|
||||
return String(c.initialValue || "");
|
||||
}
|
||||
}
|
||||
return valor;
|
||||
return "";
|
||||
}
|
||||
|
||||
// Trim com segurança
|
||||
function trim(valor) {
|
||||
if (!valor) return "";
|
||||
return valor.trim();
|
||||
return String(valor == null ? "" : valor).trim();
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ function createDataset(fields, constraints, sortFields) {
|
||||
try {
|
||||
var clientService = fluigAPI.getAuthorizeClientService();
|
||||
var data = {
|
||||
companyId: "1",
|
||||
companyId: String(getValue("WKCompany") || "1"),
|
||||
serviceCode: "Postprod",
|
||||
endpoint: "/uf_mata010/",
|
||||
method: "get",
|
||||
|
||||
@@ -4,13 +4,13 @@ function createDataset(fields, constraints, sortFields) {
|
||||
dataset.addColumn("mensagem");
|
||||
dataset.addColumn("erro");
|
||||
|
||||
log.info("### Enviando dados para Protheus com autenticação ###");
|
||||
log.info("### Enviando dados para Protheus via fluigAPI ###");
|
||||
|
||||
try {
|
||||
var jsonData = "{}";
|
||||
if (constraints) {
|
||||
for (var i = 0; i < constraints.length; i++) {
|
||||
if (constraints[i].fieldName == "params" && constraints[i].initialValue) {
|
||||
if (constraints[i].fieldName === "params" && constraints[i].initialValue) {
|
||||
jsonData = constraints[i].initialValue;
|
||||
break;
|
||||
}
|
||||
@@ -18,54 +18,25 @@ function createDataset(fields, constraints, sortFields) {
|
||||
}
|
||||
log.info("Dados recebidos: " + jsonData);
|
||||
|
||||
var url = "https://rest.grupoginseng.com.br/rest/uf_mata010";
|
||||
var urlObj = new java.net.URL(url);
|
||||
var httpConn = urlObj.openConnection();
|
||||
var clientService = fluigAPI.getAuthorizeClientService();
|
||||
var data = {
|
||||
companyId: String(getValue("WKCompany") || "1"),
|
||||
serviceCode: "Postprod",
|
||||
endpoint: "/rest/uf_mata010",
|
||||
method: "post",
|
||||
timeoutService: "60000",
|
||||
params: JSON.parse(jsonData),
|
||||
headers: { "Content-Type": "application/json" }
|
||||
};
|
||||
|
||||
var usuario = "fluig";
|
||||
var senha = "Ginseng@";
|
||||
var authString = usuario + ":" + senha;
|
||||
var authBytes = new java.lang.String(authString).getBytes("UTF-8");
|
||||
var encodedAuth = java.util.Base64.getEncoder().encodeToString(authBytes);
|
||||
var vo = clientService.invoke(JSON.stringify(data));
|
||||
var response = vo ? String(vo.getResult() || "") : "";
|
||||
|
||||
httpConn.setDoOutput(true);
|
||||
httpConn.setRequestMethod("POST");
|
||||
httpConn.setRequestProperty("Content-Type", "application/json");
|
||||
httpConn.setRequestProperty("Accept", "application/json");
|
||||
httpConn.setRequestProperty("Authorization", "Basic " + encodedAuth);
|
||||
httpConn.setConnectTimeout(30000);
|
||||
httpConn.setReadTimeout(30000);
|
||||
|
||||
var outputStream = httpConn.getOutputStream();
|
||||
var writer = new java.io.OutputStreamWriter(outputStream, "UTF-8");
|
||||
writer.write(jsonData);
|
||||
writer.flush();
|
||||
writer.close();
|
||||
outputStream.close();
|
||||
|
||||
// Ler resposta ou erro
|
||||
var response = "";
|
||||
try {
|
||||
var inputStream = httpConn.getInputStream();
|
||||
var scanner = new java.util.Scanner(inputStream, "UTF-8");
|
||||
response = scanner.useDelimiter("\\A").hasNext() ? scanner.next() : "";
|
||||
scanner.close();
|
||||
} catch (e) {
|
||||
var errorStream = httpConn.getErrorStream();
|
||||
if (errorStream != null) {
|
||||
var scanner = new java.util.Scanner(errorStream, "UTF-8");
|
||||
response = scanner.useDelimiter("\\A").hasNext() ? scanner.next() : "";
|
||||
scanner.close();
|
||||
}
|
||||
}
|
||||
|
||||
log.info("Response bruto: " + response);
|
||||
|
||||
// Adiciona no dataset sempre, sem depender do status HTTP
|
||||
log.info("Response: " + response);
|
||||
dataset.addRow(["OK", response, ""]);
|
||||
|
||||
} catch (error) {
|
||||
log.error("Erro completo: " + error.toString());
|
||||
log.error("Erro: " + error.toString());
|
||||
dataset.addRow(["Erro", "", error.toString()]);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,60 +5,57 @@ function onSync(lastSyncDate) {}
|
||||
function createDataset(fields, constraints, sortFields) {
|
||||
var dataset = DatasetBuilder.newDataset();
|
||||
|
||||
// Definir as colunas
|
||||
dataset.addColumn("codigoCentroCusto");
|
||||
dataset.addColumn("centroCusto");
|
||||
dataset.addColumn("gestorCentroCusto");
|
||||
dataset.addColumn("idGestor");
|
||||
dataset.addColumn("emailGestor");
|
||||
dataset.addColumn("diretorCentroCusto");
|
||||
dataset.addColumn("idDiretor");
|
||||
dataset.addColumn("diretorGeral");
|
||||
dataset.addColumn("idDiretorGeral");
|
||||
|
||||
// Lista dos centros de custo
|
||||
var dados = [
|
||||
// Comercial dividido por estado
|
||||
["41101", "Comercial Alagoas", "Raquel Tenorio ", "Analanny Magalhães", "João Marcelo"],
|
||||
["41101", "Comercial Bahia", "Arianne Sodre", "Analanny Magalhães", "João Marcelo"],
|
||||
["41101", "Comercial Sergipe", "Iolanda Bezerra", "Analanny Magalhães", "João Marcelo"],
|
||||
["41101", "Marketing e Treinamento", "Andreia Leite", "João Marcelo", "João Marcelo"],
|
||||
|
||||
|
||||
// Outros centros de custo (exemplo que você já tinha)
|
||||
["51101", "Diretoria e Gestão", "João Marcelo", "Diogo Demetrio", "João Marcelo"],
|
||||
["51102", "Operações", "Diogo Demetrio", "Ariklenyo Nascimento", "João Marcelo"],
|
||||
["51103", "Controladoria", "Ariklenyo Nascimento", "Marla Palma", "João Marcelo"],
|
||||
["51104", "Compliance", "Marla Palma", "Lucila Brandão", "João Marcelo"],
|
||||
["51107", "Administrativo", "Lucila Brandão", "Francine Peiter", "João Marcelo"],
|
||||
["51110", "Gente e Cultura", "Francine Peiter", "Igor Oliveira", "João Marcelo"],
|
||||
["51113", "TI", "Igor Oliveira", "Lucas Rocha", "João Marcelo"],
|
||||
["51114", "Projetos e Performance", "Lucas Rocha", "Andrey Cunha", "João Marcelo"],
|
||||
["teste", "teste", "Andrey Cunha", "Andrey Cunha", "João Marcelo"]
|
||||
{ cod: "41101", cc: "Comercial Alagoas", gestor: "Raquel Tenorio", diretor: "Analanny Magalhães", dg: "João Marcelo" },
|
||||
{ cod: "41101", cc: "Comercial Bahia", gestor: "Arianne Sodre", diretor: "Analanny Magalhães", dg: "João Marcelo" },
|
||||
{ cod: "41101", cc: "Comercial Sergipe", gestor: "Iolanda Bezerra", diretor: "Analanny Magalhães", dg: "João Marcelo" },
|
||||
{ cod: "41101", cc: "Marketing e Treinamento", gestor: "Andreia Leite", diretor: "João Marcelo", dg: "João Marcelo" },
|
||||
{ cod: "51101", cc: "Diretoria e Gestão", gestor: "João Marcelo", diretor: "Diogo Demetrio", dg: "João Marcelo" },
|
||||
{ cod: "51102", cc: "Operações", gestor: "Diogo Demetrio", diretor: "Ariklenyo Nascimento", dg: "João Marcelo" },
|
||||
{ cod: "51103", cc: "Controladoria", gestor: "Ariklenyo Nascimento", diretor: "Marla Palma", dg: "João Marcelo" },
|
||||
{ cod: "51104", cc: "Compliance", gestor: "Marla Palma", diretor: "Lucila Brandão", dg: "João Marcelo" },
|
||||
{ cod: "51107", cc: "Administrativo", gestor: "Lucila Brandão", diretor: "Francine Peiter", dg: "João Marcelo" },
|
||||
{ cod: "51110", cc: "Gente e Cultura", gestor: "Francine Peiter", diretor: "Igor Oliveira", dg: "João Marcelo" },
|
||||
{ cod: "51113", cc: "TI", gestor: "Igor Oliveira", diretor: "Lucas Rocha", dg: "João Marcelo" },
|
||||
{ cod: "51114", cc: "Projetos e Performance", gestor: "Lucas Rocha", diretor: "Andrey Cunha", dg: "João Marcelo" }
|
||||
];
|
||||
|
||||
// Função para buscar matrícula pelo nome
|
||||
function getMatricula(nome) {
|
||||
if (!nome) return "";
|
||||
var c1 = DatasetFactory.createConstraint("colleagueName", nome, nome, ConstraintType.MUST);
|
||||
var dsUser = DatasetFactory.getDataset("colleague", ["colleagueId"], [c1], null);
|
||||
return dsUser.rowsCount > 0 ? dsUser.getValue(0, "colleagueId") : "";
|
||||
function getColleagueById(nome) {
|
||||
if (!nome) return { id: "", email: "" };
|
||||
try {
|
||||
var c1 = DatasetFactory.createConstraint("colleagueName", nome, nome, ConstraintType.MUST);
|
||||
var ds = DatasetFactory.getDataset("colleague", ["colleagueId", "mail"], [c1], null);
|
||||
if (ds && ds.rowsCount > 0) {
|
||||
return {
|
||||
id: String(ds.getValue(0, "colleagueId") || ""),
|
||||
email: String(ds.getValue(0, "mail") || "")
|
||||
};
|
||||
}
|
||||
} catch (e) {}
|
||||
return { id: "", email: "" };
|
||||
}
|
||||
|
||||
// Preenche dataset
|
||||
for (var i = 0; i < dados.length; i++) {
|
||||
var idGestor = getMatricula(dados[i][2]);
|
||||
var idDiretor = getMatricula(dados[i][3]);
|
||||
var idDiretorGeral = getMatricula(dados[i][4]);
|
||||
var d = dados[i];
|
||||
var gestor = getColleagueById(d.gestor);
|
||||
var diretor = getColleagueById(d.diretor);
|
||||
var dg = getColleagueById(d.dg);
|
||||
|
||||
dataset.addRow([
|
||||
dados[i][0], // codigoCentroCusto
|
||||
dados[i][1], // centroCusto
|
||||
dados[i][2], // gestor
|
||||
idGestor,
|
||||
dados[i][3], // diretor
|
||||
idDiretor,
|
||||
dados[i][4], // diretor geral
|
||||
idDiretorGeral
|
||||
d.cod, d.cc,
|
||||
d.gestor, gestor.id, gestor.email,
|
||||
d.diretor, diretor.id,
|
||||
d.dg, dg.id
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
@@ -11,26 +11,19 @@ function createDataset(fields, constraints, sortFields) {
|
||||
|
||||
log.info("### Iniciando criação do dataset de Condições de Pagamento ###");
|
||||
|
||||
var servicecode = 'API_CONDICAO_PAGAMENTO'; // Nome do serviço cadastrado no Fluig
|
||||
var usuario = "fluig";
|
||||
var senha = "Ginseng@";
|
||||
// Autenticação gerenciada pelo cadastro do serviço no Fluig (sem credenciais no código)
|
||||
var servicecode = 'API_CONDICAO_PAGAMENTO';
|
||||
|
||||
try {
|
||||
log.info("Iniciando chamada para o clientService...");
|
||||
var clientService = fluigAPI.getAuthorizeClientService();
|
||||
var data = {
|
||||
companyId: "1",
|
||||
companyId: String(getValue("WKCompany") || "1"),
|
||||
serviceCode: servicecode,
|
||||
endpoint: "https://rest.grupoginseng.com.br/rest/api/fat/v1/paymentcondition?Fields=Code,Plots.Description&Page=1&PageSize=100",
|
||||
method: 'get',
|
||||
timeoutService: '60000',
|
||||
params: {},
|
||||
options: {
|
||||
encoding: 'UTF-8',
|
||||
useBasicAuth: true,
|
||||
username: usuario,
|
||||
password: senha
|
||||
}
|
||||
params: {}
|
||||
};
|
||||
|
||||
log.info("Parâmetros da chamada: " + JSON.stringify(data));
|
||||
|
||||
Reference in New Issue
Block a user