Compare commits

...

2 Commits

Author SHA1 Message Date
root fbed0e57c2 fix: duplicacao saldo caixa — top-level tem prioridade sobre dados JSON
Build Fechamento de Caixa / build (macos-14, app) (push) Has been cancelled
Build Fechamento de Caixa / build (ubuntu-22.04, deb) (push) Has been cancelled
Build Fechamento de Caixa / build (windows-2022, msi) (push) Has been cancelled
2026-07-02 14:35:13 +00:00
root 362a76961b fix: saldo caixa = soma direta dos campos individuais (troco+credito+debito+alimentacao+vales+areceber+pixcnpj+pixcartao)
Build Fechamento de Caixa / build (macos-14, app) (push) Has been cancelled
Build Fechamento de Caixa / build (ubuntu-22.04, deb) (push) Has been cancelled
Build Fechamento de Caixa / build (windows-2022, msi) (push) Has been cancelled
2026-07-02 14:15:26 +00:00
+13 -8
View File
@@ -2175,16 +2175,21 @@ function buildConsultaModal(recentList) {
};
// Calcula saldo de caixa real (mesma fórmula do relatório)
// SALDO CAIXA = total do sistema = fechamento_dinheiro + fechamento_cartoes + fechamento_areceber
// (mesma fórmula do relatório impresso)
// SALDO CAIXA = soma dos campos individuais (total do sistema no relatório)
// Lê do top-level E do JSON dados (compatibilidade com registros antigos)
// SALDO CAIXA = soma dos campos individuais (total do sistema no relatório)
// Prioriza top-level, só usa dados.dados se top-level for 0/missing (compat old records)
const f = (item, dados, field) => parseFloat(item[field]||dados[field]||0);
const calcSaldoCaixa = item => {
const dados = item.dados || {};
return (parseFloat(item.fechamento_dinheiro)||0)
+ (parseFloat(item.fechamento_cartoes)||0)
+ (parseFloat(item.fechamento_areceber)||0)
+ (parseFloat(dados.fechamento_dinheiro)||0)
+ (parseFloat(dados.fechamento_cartoes)||0)
+ (parseFloat(dados.fechamento_areceber)||0);
return f(item,dados,'saldo_troco')
+ f(item,dados,'saldo_credito')
+ f(item,dados,'saldo_debito')
+ f(item,dados,'saldo_alimentacao')
+ f(item,dados,'saldo_vales')
+ f(item,dados,'saldo_areceber')
+ f(item,dados,'total_pixcnpj')
+ f(item,dados,'total_cartao_pix');
};
const calcCancelamentos = item => {
const dados = item.dados || {};