Compare commits

..

2 Commits

Author SHA1 Message Date
root b1a9f94231 fix: dados objeto (não string) + merge com existing dados parseado
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-01 15:13:29 +00:00
root 42aadcca2c fix: dados JSONB no PATCH, total_cancelamentos, corrige duplicados total_*
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-01 14:50:35 +00:00
+22 -9
View File
@@ -3034,23 +3034,36 @@ window.salvarEdicaoModal = async function() {
saldo_debito: cartDeb_tot,
saldo_alimentacao: cartAli_tot,
saldo_vales: vales_tot,
total_pixcnpj: pixcnpj_tot,
saldo_areceber: recv_tot,
// Totais
total_vales: vales_tot,
total_despesas: desp_tot,
total_sangrias: sang_tot,
total_areceber: recv_tot,
total_pixcnpj: pixcnpj_tot,
total_areceber: recv_tot,
total_cancelamentos: canc_tot,
// Lançamentos detalhados
vales: vales,
despesas: despesas,
sangrias: sangrias,
cancelamentos: cancelamentos,
pixcnpj: pixcnpj,
receber: receber,
// Lançamentos detalhados (JSONB — gravados no campo `dados`)
// IMPORTANTE: não usar JSON.stringify — dados deve ser objeto, não string,
// para o Rust serializar corretamente como JSONB no Supabase.
// Se full.dados existe (string de stringify anterior), parsear de volta.
dados: (() => {
const existing = full.dados;
const base = { cartoes, vales, despesas, sangrias, cancelamentos, pixcnpj, receber };
const counters = {
clientes: parseInt(inp('edit-clientes') || '0'),
frango: parseInt(inp('edit-frango') || '0'),
vendas: p(inp('edit-vendas')),
};
if (typeof existing === 'string') {
try {
const parsed = JSON.parse(existing);
return { ...parsed, ...base, ...counters };
} catch { return { ...base, ...counters }; }
}
return { ...(existing || {}), ...base, ...counters };
})(),
// Contadores
clientes: parseInt(inp('edit-clientes') || '0'),