const dbRecords = _db.query(` SELECT evento.titulo, to_char(evento.data, 'DD/MM/YYYY') AS data, evento.capacidade, evento.preco, categoria_evento.nome AS categoria, (SELECT count(*) FROM evento evento2 WHERE evento2.id_categoria = evento.id_categoria) as quantia, ROW_NUMBER () OVER (PARTITION BY categoria_evento.id ORDER BY categoria_evento.nome) as linha FROM evento JOIN categoria_evento ON evento.id_categoria = categoria_evento.id ORDER BY categoria `); _out.println('
') _out.println('
') _out.println('Eventos') _out.println('') _out.println('') _out.println('') _out.println('') _out.println('') _out.println('') _out.println('') _out.println('') // let copiaDbRecords = dbRecords.slice() dbRecords.map(dbRecord => { // const initialLength = copiaDbRecords.length // copiaDbRecords = copiaDbRecords.filter(r => r.getString("categoria") != dbRecord.getString("categoria")) // const lengthCategoria = initialLength - copiaDbRecords.length const quantia = dbRecord.getInt("quantia") const linha = dbRecord.getInt("linha") const imprimeCategoria = (quantia > 1 && linha === 1) || quantia === 1 _out.println(``) _out.println(``) _out.println(``) _out.println(``) _out.println(``) {imprimeCategoria && _out.println(``)} _out.println('') }) _out.println('
TítuloDataCapacidadePreçoCategoria
${dbRecord.getString("titulo")}${dbRecord.getString("data")}${dbRecord.getInt("capacidade")}${dbRecord.getDouble("preco")}${dbRecord.getString("categoria")}
') _out.println('
') _out.println('
')