Novo git da alteração
This commit is contained in:
@@ -17,20 +17,20 @@ function createDataset(fields, constraints, sortFields) {
|
||||
|
||||
// Lista dos centros de custo
|
||||
var dados = [
|
||||
["41101", "Comercial", "Analanny Magalhães", "analanny.magalhaes@grupoginseng.com.br", "1"],
|
||||
["41101", "Comercial BA", "Arianne Sodre", "arianne.sodre@grupoginseng.com.br", "2"],
|
||||
["41101", "Comercial SE", "Iolanda Bezerra", "iolanda.bezerra@grupoginseng.com.br", "3"],
|
||||
["41101", "Comercial AL", "Raquel Tenório", "raquel.tenorio@grupoginseng.com.br", "4"],
|
||||
["51101", "Diretoria e Gestão", "João Marcelo", "joao.loureiro@grupoginseng.com.br", "5"],
|
||||
["51102", "Operações", "Diogo Demetrio", "diogo.martins@grupoginseng.com.br", "6"],
|
||||
["41101", "Comercial BA", "Arianne Sodre", "arianne.sodre@grupoginseng.com.br", "1"],
|
||||
["41101", "Comercial SE", "Iolanda Bezerra", "iolanda.bezerra@grupoginseng.com.br", "2"],
|
||||
["41101", "Comercial AL", "Raquel Tenório", "raquel.tenorio@grupoginseng.com.br", "3"],
|
||||
["51101", "Diretoria e Gestão", "João Marcelo", "joao.loureiro@grupoginseng.com.br", "4"],
|
||||
["51102", "Operações", "Lucas Barbosa", "lucas.barbosa@grupoginseng.com.br", "5"],
|
||||
["51102", "Obras e Manutenção", "Diogo Demetrio", "diogo.martins@grupoginseng.com.br", "6"],
|
||||
["51103", "Controladoria", "Ariklenyo Nascimento", "ari.nascimento@grupoginseng.com.br", "7"],
|
||||
["51104", "Compliance", "Marla Palma", "marla.palma@grupoginseng.com.br", "8"],
|
||||
["51107", "Administrativo", "Lucila Brandão", "lucila.brandao@grupoginseng.com.br", "9"],
|
||||
["51110", "Gente e Cultura", "Francine Peiter", "francine.silva@grupoginseng.com.br", "10"],
|
||||
["51113", "TI", "Igor Oliveira", "igor.oliveira@grupoginseng.com.br", "11"],
|
||||
["51114", "Projetos e Performance", "Lucas Rocha", "lucas.rocha@grupoginseng.com.br", "12"],
|
||||
["41101", "Treinamento", "Analanny Magalhães", "analanny.magalhaes@grupoginseng.com.br", "13"],
|
||||
["41101", "Marketing", "Analanny Magalhães", "analanny.magalhaes@grupoginseng.com.br", "14"]
|
||||
["41101", "Treinamento", "Andreia Leite", "andreia.leite@grupoginseng.com.br", "13"],
|
||||
["41101", "Marketing", "Andreia Leite", "andreia.leite@grupoginseng.com.br", "14"]
|
||||
|
||||
];
|
||||
|
||||
|
||||
@@ -1,61 +1,84 @@
|
||||
function defineStructure() {
|
||||
addColumn("codigo");
|
||||
addColumn("descricao");
|
||||
}
|
||||
|
||||
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;
|
||||
var dataset = DatasetBuilder.newDataset();
|
||||
dataset.addColumn("DESCRICAO");
|
||||
dataset.addColumn("CBO");
|
||||
|
||||
try {
|
||||
log.info("Iniciando execução do dataset...");
|
||||
var servicecode = "Postprod";
|
||||
var usuario = "fluig";
|
||||
var senha = "Ginseng@";
|
||||
|
||||
var sql = "select C8V_CODIGO, C8V_DESCRI from C8V010 where D_E_L_E_T_= '' and C8V_FILIAL = '01'";
|
||||
log.info("Query SQL: " + sql);
|
||||
var filial = "01";
|
||||
var pagesize = 100;
|
||||
var page = 1;
|
||||
var total = null;
|
||||
|
||||
stmt = conn.prepareStatement(sql);
|
||||
rs = stmt.executeQuery();
|
||||
try {
|
||||
var clientService = fluigAPI.getAuthorizeClientService();
|
||||
|
||||
dataset.addColumn("codigo");
|
||||
dataset.addColumn("descricao");
|
||||
while (true) {
|
||||
var endpoint =
|
||||
"https://rest.grupoginseng.com.br/rest/uf_sigagpe/funcoes" +
|
||||
"?filial=" + encodeURIComponent(filial) +
|
||||
"&page=" + encodeURIComponent(page) +
|
||||
"&pagesize=" + encodeURIComponent(pagesize);
|
||||
|
||||
var encontrados = {}; // Usando um objeto para evitar duplicação
|
||||
|
||||
while (rs.next()) {
|
||||
var codigo = rs.getString("C8V_CODIGO");
|
||||
var descricao = rs.getString("C8V_DESCRI");
|
||||
|
||||
if (!encontrados[codigo]) { // Verifica se já foi adicionado
|
||||
encontrados[codigo] = true; // Marca como processado
|
||||
log.info("Registro encontrado: " + codigo + " - " + descricao);
|
||||
dataset.addRow([codigo, descricao]);
|
||||
}
|
||||
var data = {
|
||||
companyId: "1",
|
||||
serviceCode: servicecode,
|
||||
endpoint: endpoint,
|
||||
method: "get",
|
||||
timeoutService: "60000",
|
||||
params: {},
|
||||
options: {
|
||||
encoding: "UTF-8",
|
||||
useBasicAuth: true,
|
||||
username: usuario,
|
||||
password: senha
|
||||
}
|
||||
};
|
||||
|
||||
if (Object.keys(encontrados).length === 0) {
|
||||
log.info("Nenhum registro encontrado para a consulta.");
|
||||
}
|
||||
var vo = clientService.invoke(JSON.stringify(data));
|
||||
var retorno = vo.getResult();
|
||||
|
||||
} 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);
|
||||
}
|
||||
if (!retorno) break;
|
||||
|
||||
var obj = JSON.parse(retorno);
|
||||
|
||||
// se a API usa "sucesso"
|
||||
if (obj.sucesso !== true) {
|
||||
dataset.addRow(["(API retornou sucesso=false)", ""]);
|
||||
break;
|
||||
}
|
||||
|
||||
// sua lista vem em "funcoes" (não "items")
|
||||
var funcoes = obj.funcoes;
|
||||
|
||||
if (!funcoes || funcoes.length === 0) break;
|
||||
|
||||
// guarda total se vier
|
||||
if (total === null && obj.total != null) total = Number(obj.total);
|
||||
|
||||
for (var i = 0; i < funcoes.length; i++) {
|
||||
dataset.addRow([
|
||||
funcoes[i].RJ_DESC || "",
|
||||
funcoes[i].RJ_CODCBO || "" // ou RJ_CBO se for o campo desejado
|
||||
]);
|
||||
}
|
||||
|
||||
// condição de parada segura
|
||||
if (funcoes.length < pagesize) break;
|
||||
|
||||
// se quiser parar com base no total:
|
||||
if (total !== null && page * pagesize >= total) break;
|
||||
|
||||
page++;
|
||||
}
|
||||
|
||||
return dataset;
|
||||
}
|
||||
} catch (e) {
|
||||
dataset = DatasetBuilder.newDataset();
|
||||
dataset.addColumn("ERRO");
|
||||
dataset.addRow([String(e)]);
|
||||
}
|
||||
|
||||
function onMobileSync(user) {}
|
||||
return dataset;
|
||||
}
|
||||
Reference in New Issue
Block a user