62 lines
1.9 KiB
JavaScript
62 lines
1.9 KiB
JavaScript
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;
|
|
|
|
try {
|
|
log.info("Iniciando execução do dataset...");
|
|
|
|
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);
|
|
|
|
stmt = conn.prepareStatement(sql);
|
|
rs = stmt.executeQuery();
|
|
|
|
dataset.addColumn("codigo");
|
|
dataset.addColumn("descricao");
|
|
|
|
var encontrados = {}; // Usando um objeto para evitar duplicação
|
|
|
|
while (rs.next()) {
|
|
var codigo = rs.getString("b1_cod");
|
|
var descricao = rs.getString("b1_desc");
|
|
|
|
if (!encontrados[codigo]) { // Verifica se já foi adicionado
|
|
encontrados[codigo] = true; // Marca como processado
|
|
log.info("Registro encontrado: " + codigo + " - " + descricao);
|
|
dataset.addRow([codigo, descricao]);
|
|
}
|
|
}
|
|
|
|
if (Object.keys(encontrados).length === 0) {
|
|
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) {}
|