Browse Source

Otimizando tempo de carregamento da tabela

master
Henrique Caetano de Barros 3 years ago
parent
commit
6138c2078e
1 changed files with 13 additions and 6 deletions
  1. +13
    -6
      server/services/eventos.js

+ 13
- 6
server/services/eventos.js View File

@ -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>')
})


Loading…
Cancel
Save