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) // Calcula saldo de caixa real (mesma fórmula do relatório)
// SALDO CAIXA = total do sistema = fechamento_dinheiro + fechamento_cartoes + fechamento_areceber // SALDO CAIXA = soma dos campos individuais (total do sistema no relatório)
// (mesma fórmula do relatório impresso) // 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 calcSaldoCaixa = item => {
const dados = item.dados || {}; const dados = item.dados || {};
return (parseFloat(item.fechamento_dinheiro)||0) return f(item,dados,'saldo_troco')
+ (parseFloat(item.fechamento_cartoes)||0) + f(item,dados,'saldo_credito')
+ (parseFloat(item.fechamento_areceber)||0) + f(item,dados,'saldo_debito')
+ (parseFloat(dados.fechamento_dinheiro)||0) + f(item,dados,'saldo_alimentacao')
+ (parseFloat(dados.fechamento_cartoes)||0) + f(item,dados,'saldo_vales')
+ (parseFloat(dados.fechamento_areceber)||0); + f(item,dados,'saldo_areceber')
+ f(item,dados,'total_pixcnpj')
+ f(item,dados,'total_cartao_pix');
}; };
const calcCancelamentos = item => { const calcCancelamentos = item => {
const dados = item.dados || {}; const dados = item.dados || {};