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_debito: cartDeb_tot,
saldo_alimentacao: cartAli_tot, saldo_alimentacao: cartAli_tot,
saldo_vales: vales_tot, saldo_vales: vales_tot,
total_pixcnpj: pixcnpj_tot,
saldo_areceber: recv_tot, saldo_areceber: recv_tot,
// Totais // Totais
total_vales: vales_tot, total_vales: vales_tot,
total_despesas: desp_tot, total_despesas: desp_tot,
total_sangrias: sang_tot, total_sangrias: sang_tot,
total_areceber: recv_tot, total_pixcnpj: pixcnpj_tot,
total_areceber: recv_tot,
total_cancelamentos: canc_tot, total_cancelamentos: canc_tot,
// Lançamentos detalhados // Lançamentos detalhados (JSONB — gravados no campo `dados`)
vales: vales, // IMPORTANTE: não usar JSON.stringify — dados deve ser objeto, não string,
despesas: despesas, // para o Rust serializar corretamente como JSONB no Supabase.
sangrias: sangrias, // Se full.dados existe (string de stringify anterior), parsear de volta.
cancelamentos: cancelamentos, dados: (() => {
pixcnpj: pixcnpj, const existing = full.dados;
receber: receber, 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 // Contadores
clientes: parseInt(inp('edit-clientes') || '0'), clientes: parseInt(inp('edit-clientes') || '0'),