pequenas otimizações
This commit is contained in:
parent
f5dda37285
commit
0d30afd700
@ -10,7 +10,7 @@ namespace OpenCand.Repository
|
|||||||
protected readonly IMemoryCache? _cache;
|
protected readonly IMemoryCache? _cache;
|
||||||
|
|
||||||
// Default cache settings
|
// Default cache settings
|
||||||
protected static readonly TimeSpan DefaultCacheExpiration = TimeSpan.FromDays(7);
|
protected static readonly TimeSpan DefaultCacheExpiration = TimeSpan.MaxValue;
|
||||||
protected static readonly CacheItemPriority DefaultCachePriority = CacheItemPriority.Normal;
|
protected static readonly CacheItemPriority DefaultCachePriority = CacheItemPriority.Normal;
|
||||||
|
|
||||||
public BaseRepository(IConfiguration configuration, IMemoryCache? cache = null)
|
public BaseRepository(IConfiguration configuration, IMemoryCache? cache = null)
|
||||||
|
@ -25,33 +25,33 @@ namespace OpenCand.API.Repository
|
|||||||
using (var connection = new NpgsqlConnection(ConnectionString))
|
using (var connection = new NpgsqlConnection(ConnectionString))
|
||||||
{
|
{
|
||||||
return (await connection.QueryAsync<MaioresEnriquecimento>(@"
|
return (await connection.QueryAsync<MaioresEnriquecimento>(@"
|
||||||
WITH patrimonio_anual AS (
|
WITH extremos_declaracao AS (
|
||||||
SELECT idcandidato, ano, SUM(valor) AS valor_total_ano
|
SELECT
|
||||||
|
idcandidato,
|
||||||
|
MIN(ano) AS anoInicial,
|
||||||
|
MAX(ano) AS anoFinal
|
||||||
FROM mv_bem_candidato
|
FROM mv_bem_candidato
|
||||||
GROUP BY idcandidato, ano
|
|
||||||
),
|
|
||||||
extremos_declaracao AS (
|
|
||||||
SELECT idcandidato, MIN(ano) AS anoInicial, MAX(ano) AS anoFinal
|
|
||||||
FROM patrimonio_anual
|
|
||||||
GROUP BY idcandidato
|
GROUP BY idcandidato
|
||||||
HAVING COUNT(DISTINCT ano) >= 2
|
HAVING COUNT(ano) >= 2
|
||||||
)
|
)
|
||||||
SELECT
|
SELECT
|
||||||
c.nome,
|
c.nome,
|
||||||
ed.anoInicial,
|
ed.anoInicial,
|
||||||
pi.valor_total_ano AS patrimonioInicial,
|
pi.valor AS patrimonioInicial,
|
||||||
ed.anoFinal,
|
ed.anoFinal,
|
||||||
pf.valor_total_ano AS patrimonioFinal,
|
pf.valor AS patrimonioFinal,
|
||||||
(pf.valor_total_ano - pi.valor_total_ano) AS enriquecimento
|
(pf.valor - pi.valor) AS enriquecimento
|
||||||
FROM extremos_declaracao ed
|
FROM extremos_declaracao ed
|
||||||
JOIN candidato c ON ed.idcandidato = c.idcandidato
|
JOIN candidato c ON ed.idcandidato = c.idcandidato
|
||||||
JOIN patrimonio_anual pi ON ed.idcandidato = pi.idcandidato AND ed.anoInicial = pi.ano
|
JOIN mv_bem_candidato pi ON ed.idcandidato = pi.idcandidato AND ed.anoInicial = pi.ano
|
||||||
JOIN patrimonio_anual pf ON ed.idcandidato = pf.idcandidato AND ed.anoFinal = pf.ano
|
JOIN mv_bem_candidato pf ON ed.idcandidato = pf.idcandidato AND ed.anoFinal = pf.ano
|
||||||
ORDER BY enriquecimento DESC
|
ORDER BY
|
||||||
|
enriquecimento DESC
|
||||||
LIMIT 25;")
|
LIMIT 25;")
|
||||||
).AsList();
|
).AsList();
|
||||||
}
|
}
|
||||||
}); return result ?? new List<MaioresEnriquecimento>();
|
});
|
||||||
|
return result ?? new List<MaioresEnriquecimento>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<ConfigurationModel> GetConfiguration()
|
public async Task<ConfigurationModel> GetConfiguration()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user