From fbed0e57c2a4a4c24f769fb954cc1e42fb1637c5 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 2 Jul 2026 14:35:13 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20duplicacao=20saldo=20caixa=20=E2=80=94?= =?UTF-8?q?=20top-level=20tem=20prioridade=20sobre=20dados=20JSON?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/index.html | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/src/index.html b/src/index.html index a57bb6b..204bebb 100644 --- a/src/index.html +++ b/src/index.html @@ -2177,24 +2177,19 @@ function buildConsultaModal(recentList) { // Calcula saldo de caixa real (mesma fórmula do relatório) // 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.saldo_troco)||0) - + (parseFloat(item.saldo_credito)||0) - + (parseFloat(item.saldo_debito)||0) - + (parseFloat(item.saldo_alimentacao)||0) - + (parseFloat(item.saldo_vales)||0) - + (parseFloat(item.saldo_areceber)||0) - + (parseFloat(item.total_pixcnpj)||0) - + (parseFloat(item.total_cartao_pix)||0) - + (parseFloat(dados.saldo_troco)||0) - + (parseFloat(dados.saldo_credito)||0) - + (parseFloat(dados.saldo_debito)||0) - + (parseFloat(dados.saldo_alimentacao)||0) - + (parseFloat(dados.saldo_vales)||0) - + (parseFloat(dados.saldo_areceber)||0) - + (parseFloat(dados.total_pixcnpj)||0) - + (parseFloat(dados.total_cartao_pix)||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 || {};