dashboard: reimaginacao
Signed-off-by: Rodrigo B. de Sousa Martins <rodrigo.sousa.577@gmail.com>
This commit is contained in:
1 parent
285d829c27
commit
90a098e7db
1 file changed
+11
-55
@@ -10,66 +10,22 @@ export interface FinanceiroResumo {
|
||||
detalhesCustas: any[];
|
||||
}
|
||||
|
||||
// Hook para buscar dados financeiros do painel
|
||||
// Hook para buscar dados financeiros do painel diretamente do backend
|
||||
export function useFinanceiroPainel(mes: number, ano: number) {
|
||||
return useQuery<FinanceiroResumo>(['financeiroPainel', mes, ano], async () => {
|
||||
let honorarios: any[] = [];
|
||||
let custas: any[] = [];
|
||||
// Buscar honorários e parcelas, tratar erro 404
|
||||
try {
|
||||
const honorariosRes = await api.get('/honorarios');
|
||||
honorarios = honorariosRes.data;
|
||||
const res = await api.get(`/financeiro-painel?mes=${mes}&ano=${ano}`);
|
||||
return res.data;
|
||||
} catch (error: any) {
|
||||
if (error?.response?.status !== 404) throw error;
|
||||
honorarios = [];
|
||||
}
|
||||
let honorariosAReceber = 0;
|
||||
let honorariosRecebidosMes = 0;
|
||||
const detalhesHonorarios: any[] = [];
|
||||
honorarios.forEach((h: any) => {
|
||||
if (h.parcelas && Array.isArray(h.parcelas)) {
|
||||
h.parcelas.forEach((p: any) => {
|
||||
const dataPagamento = p.dataPagamento ? new Date(p.dataPagamento) : null;
|
||||
if (p.status === 'PENDENTE' || p.status === 'VENCIDO') {
|
||||
honorariosAReceber += Number(p.valor);
|
||||
}
|
||||
if (p.status === 'PAGO' && dataPagamento && dataPagamento.getMonth() + 1 === mes && dataPagamento.getFullYear() === ano) {
|
||||
honorariosRecebidosMes += Number(p.valorPago || p.valor);
|
||||
detalhesHonorarios.push({ contrato: h, parcela: p });
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
// Buscar custas, tratar erro 404
|
||||
try {
|
||||
const custasRes = await api.get('/custas-processuais');
|
||||
custas = custasRes.data;
|
||||
} catch (error: any) {
|
||||
if (error?.response?.status !== 404) throw error;
|
||||
custas = [];
|
||||
}
|
||||
let custasAPagar = 0;
|
||||
let custasPagasMes = 0;
|
||||
const detalhesCustas: any[] = [];
|
||||
custas.forEach((c: any) => {
|
||||
if (c.status === 'PENDENTE' || c.status === 'VENCIDO') {
|
||||
custasAPagar += Number(c.valor);
|
||||
}
|
||||
if (c.status === 'PAGO' && c.dataPagamento) {
|
||||
const dataPagamento = new Date(c.dataPagamento);
|
||||
if (dataPagamento.getMonth() + 1 === mes && dataPagamento.getFullYear() === ano) {
|
||||
custasPagasMes += Number(c.valor);
|
||||
detalhesCustas.push(c);
|
||||
}
|
||||
}
|
||||
});
|
||||
// Se der erro, retorna tudo zerado
|
||||
return {
|
||||
honorariosAReceber,
|
||||
honorariosRecebidosMes,
|
||||
custasAPagar,
|
||||
custasPagasMes,
|
||||
detalhesHonorarios,
|
||||
detalhesCustas,
|
||||
honorariosAReceber: 0,
|
||||
honorariosRecebidosMes: 0,
|
||||
custasAPagar: 0,
|
||||
custasPagasMes: 0,
|
||||
detalhesHonorarios: [],
|
||||
detalhesCustas: [],
|
||||
};
|
||||
}
|
||||
});
|
||||
}
|
||||
Reference in new issue
Block a user