feat: enhance dashboard functionality by adding user statistics, improving data filtering for dispensas, and refining timestamp handling to ensure accurate time zone management

This commit is contained in:
2025-12-24 08:26:47 -03:00
parent e548c2c678
commit b248472d65
5 changed files with 500 additions and 837 deletions

View File

@@ -7,10 +7,12 @@ export const getStats = query({
returns: v.object({
totalFuncionarios: v.number(),
totalSimbolos: v.number(),
totalUsuarios: v.number(),
funcionariosAtivos: v.number(),
funcionariosDesligados: v.number(),
cargoComissionado: v.number(),
funcaoGratificada: v.number()
funcaoGratificada: v.number(),
totalCadastros: v.number()
}),
handler: async (ctx) => {
// Contar funcionários
@@ -36,41 +38,22 @@ export const getStats = query({
const simbolos = await ctx.db.query('simbolos').collect();
const totalSimbolos = simbolos.length;
// Contar usuários cadastrados
const usuarios = await ctx.db.query('usuarios').collect();
const totalUsuarios = usuarios.length;
// Calcular total de cadastros (funcionários + símbolos + usuários)
const totalCadastros = totalFuncionarios + totalSimbolos + totalUsuarios;
return {
totalFuncionarios,
totalSimbolos,
totalUsuarios,
funcionariosAtivos,
funcionariosDesligados,
cargoComissionado,
funcaoGratificada
};
}
});
// Obter atividades recentes (últimas 24 horas)
export const getRecentActivity = query({
args: {},
returns: v.object({
funcionariosCadastrados24h: v.number(),
simbolosCadastrados24h: v.number()
}),
handler: async (ctx) => {
const now = Date.now();
const last24h = now - 24 * 60 * 60 * 1000;
// Funcionários cadastrados nas últimas 24h
const funcionarios = await ctx.db.query('funcionarios').collect();
const funcionariosCadastrados24h = funcionarios.filter(
(f) => f._creationTime >= last24h
).length;
// Símbolos cadastrados nas últimas 24h
const simbolos = await ctx.db.query('simbolos').collect();
const simbolosCadastrados24h = simbolos.filter((s) => s._creationTime >= last24h).length;
return {
funcionariosCadastrados24h,
simbolosCadastrados24h
funcaoGratificada,
totalCadastros
};
}
});