|
|
|
@ -2,7 +2,9 @@ |
|
|
|
|
|
|
|
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 |
|
|
|
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 |
|
|
|
`);
|
|
|
|
|
|
|
|
@ -19,20 +21,25 @@ _out.println('<div style="display: flex; justify-content: center; margin-top: 80 |
|
|
|
_out.println('<th style="border-collapse:collapse; border:1px solid #999; border-inline:none;">Categoria</th>') |
|
|
|
_out.println('</tr>') |
|
|
|
|
|
|
|
let copiaDbRecords = dbRecords.slice() |
|
|
|
// 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 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(`<tr style="height:35px;">`) |
|
|
|
_out.println(`<td style="border-collapse:collapse; border:1px solid #999; border-inline:none;">${dbRecord.getString("titulo")}</td>`) |
|
|
|
_out.println(`<td style="border-collapse:collapse; border:1px solid #999; border-inline:none;">${dbRecord.getString("data")}</td>`) |
|
|
|
_out.println(`<td style="border-collapse:collapse; border:1px solid #999; border-inline:none;">${dbRecord.getInt("capacidade")}</td>`) |
|
|
|
_out.println(`<td style="border-collapse:collapse; border:1px solid #999; border-inline:none;">${dbRecord.getDouble("preco")}</td>`) |
|
|
|
{lengthCategoria > 0 && _out.println(`<td style="border-collapse:collapse; border:1px solid #999; border-inline:none;" rowspan="${lengthCategoria}">${dbRecord.getString("categoria")}</td>`)} |
|
|
|
{imprimeCategoria _out.println(`<td style="border-collapse:collapse; border:1px solid #999; border-inline:none;" rowspan="${quantia}">${dbRecord.getString("categoria")}</td>`)} |
|
|
|
|
|
|
|
_out.println('</tr>') |
|
|
|
}) |
|
|
|
|
|
|
|
|