function defineStructure() {}

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("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"]
    ];

    // 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") : "";
    }

    // 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]);

        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
        ]);
    }

    return dataset;
}

function onMobileSync(user) {}
