My code until now:
var activeDB;
var selectedLanguage = Context.getSelectedLanguage();
var dummyOutput = Context.createOutputObject();
var foldersList = new java.util.Vector();
main();
dummyOutput.WriteReport();
function main() {
activeDB = ArisData.getActiveDatabase();
foldersList = ArisData.getActiveDatabase().GroupList(ArisData.getSelectedGroups()[0]);
dummyOutput.BeginTable(100, Constants.C_BLACK, Constants.C_TRANSPARENT, Constants.FMT_LEFT | Constants.FMT_REPEAT_HEADER, 0);
dummyOutput.TableRow();
dummyOutput.TableRow();
dummyOutput.TableCell("PROJECTO JUMP", 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
dummyOutput.TableCell("NOTA: Os subprocessos na coluna D são inputs e outputs dos subprocessos na linha 3", 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
dummyOutput.TableRow();
dummyOutput.TableCell("imagens", 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
dummyOutput.TableCell("imagens", 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
dummyOutput.TableCell("imagens", 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
dummyOutput.TableCell("imagens", 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
for (var i = 0; i < foldersList.length; i++) {
var currentFolder = foldersList[i];
var currentFolderName = currentFolder.Name(selectedLanguage);
var folderParent = currentFolder.Parent();
var folderParentName = folderParent.Name(selectedLanguage)
var folderParentChildList = folderParent.Childs(false);
for (var j = 0; j < folderParentChildList.length; j++) {
var currentChild = folderParentChildList[j];
var folderParentGrandChild = currentChild.Childs(false);
for (var h = 0; h < folderParentGrandChild.length; h++) {
var currentGrandChild = folderParentGrandChild[h];
var grandGrandChildList = currentGrandChild.Childs(false);
if (folderParentName == "5. Gestão de ativos") {
dummyOutput.TableCell(currentGrandChild.Name(selectedLanguage), 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
if (folderParentName == "6. Gestão de Energia") {
dummyOutput.TableCell(currentGrandChild.Name(selectedLanguage), 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
if (folderParentName == "7. Gestão Comercial") {
dummyOutput.TableCell(currentGrandChild.Name(selectedLanguage), 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
if (folderParentName == "8. Gestão e Operação de Rede de Distribuição") {
dummyOutput.TableCell(currentGrandChild.Name(selectedLanguage), 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
if (folderParentName == "10. Service Provider") {
dummyOutput.TableCell(currentGrandChild.Name(selectedLanguage), 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
}
}
}
}
}
}
}
}
dummyOutput.TableRow();
dummyOutput.TableCell("Capacidade", 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
dummyOutput.TableCell("Grupo de Processo", 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
dummyOutput.TableCell("Processo", 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
dummyOutput.TableCell("Sub-Processo", 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
dummyOutput.TableCell("TO WRITE HERE ", 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
writeColumns(foldersList);
//antes de fechar a funcao main
dummyOutput.EndTable("FIM", 100, "Arial", 10, Constants.C_BLACK, Constants.C_BLACK, 0, Constants.FMT_LEFT | Constants.FMT_ITALIC, 0);
}
/*
* Writes in the columns "Capacidade, Grupo de Processo, Processo e Sub-Processo"
*/
function writeColumns(foldersList) {
for (var i = 0; i < foldersList.length; i++) {
var currentFolder = foldersList[i];
var currentFolderName = currentFolder.Name(selectedLanguage);
var folderParent = currentFolder.Parent();
var folderParentName = folderParent.Name(selectedLanguage);
var folderParentChildList = folderParent.Childs(false); //false é sem recursividade, ou seja, apenas os childs do nivel abaixo
for (var j = 0; j < folderParentChildList.length; j++) {
var currentChild = folderParentChildList[j];
var folderParentGrandChild = currentChild.Childs(false);
for (var h = 0; h < folderParentGrandChild.length; h++) {
var currentGrandChild = folderParentGrandChild[h];
var grandGrandChildList = currentGrandChild.Childs(false);
for (var k = 0; k < grandGrandChildList.length; k++) {
var currentGrandGrandChild = grandGrandChildList[k];
if (folderParentName == "5. Gestão de ativos") {
dummyOutput.TableRow();
dummyOutput.TableCell(folderParentName, 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
dummyOutput.TableCell(currentChild.Name(selectedLanguage), 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
dummyOutput.TableCell(currentGrandChild.Name(selectedLanguage), 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
dummyOutput.TableCell(currentGrandGrandChild.Name(selectedLanguage), 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
if (folderParentName == "6. Gestão de Energia") {
dummyOutput.TableRow();
dummyOutput.TableCell(folderParentName, 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
dummyOutput.TableCell(currentChild.Name(selectedLanguage), 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
dummyOutput.TableCell(currentGrandChild.Name(selectedLanguage), 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
if (folderParentName == "7. Gestão Comercial") {
dummyOutput.TableRow();
dummyOutput.TableCell(folderParentName, 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
dummyOutput.TableCell(currentChild.Name(selectedLanguage), 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
dummyOutput.TableCell(currentGrandChild.Name(selectedLanguage), 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
if (folderParentName == "8. Gestão e Operação de Rede de Distribuição") {
dummyOutput.TableRow();
dummyOutput.TableCell(folderParentName, 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
dummyOutput.TableCell(currentChild.Name(selectedLanguage), 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
dummyOutput.TableCell(currentGrandChild.Name(selectedLanguage), 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
if (folderParentName == "10. Service Provider") {
dummyOutput.TableRow();
dummyOutput.TableCell(folderParentName, 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
dummyOutput.TableCell(currentChild.Name(selectedLanguage), 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
dummyOutput.TableCell(currentGrandChild.Name(selectedLanguage), 20, "Arial", 10, Constants.C_BLACK, Constants.C_WHITE, 0, Constants.FMT_CENTER, 0);
}
}
}
}
}
}
}
}
}
}