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:
@@ -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
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user