v1.3.27: buildEstadoForBackend envia TODOS totais pro Postgres (colunas SQL)
This commit is contained in:
@@ -131,10 +131,10 @@ impl SupabaseClient {
|
||||
"total_vales": estado.get("total_vales").and_then(|v| v.as_f64()).unwrap_or(0.0),
|
||||
"total_pixcnpj": estado.get("total_pixcnpj").and_then(|v| v.as_f64()).unwrap_or(0.0),
|
||||
"total_areceber": estado.get("total_areceber").and_then(|v| v.as_f64()).unwrap_or(0.0),
|
||||
"total_cartao_credito": estado.get("total_credito").and_then(|v| v.as_f64()).unwrap_or(0.0),
|
||||
"total_cartao_debito": estado.get("total_debito").and_then(|v| v.as_f64()).unwrap_or(0.0),
|
||||
"total_cartao_alimentacao": estado.get("total_alimentacao").and_then(|v| v.as_f64()).unwrap_or(0.0),
|
||||
"total_cartao_pix": estado.get("total_pix").and_then(|v| v.as_f64()).unwrap_or(0.0),
|
||||
"total_cartao_credito": estado.get("total_cartao_credito").and_then(|v| v.as_f64()).unwrap_or(0.0),
|
||||
"total_cartao_debito": estado.get("total_cartao_debito").and_then(|v| v.as_f64()).unwrap_or(0.0),
|
||||
"total_cartao_alimentacao": estado.get("total_cartao_alimentacao").and_then(|v| v.as_f64()).unwrap_or(0.0),
|
||||
"total_cartao_pix": estado.get("total_cartao_pix").and_then(|v| v.as_f64()).unwrap_or(0.0),
|
||||
"saldo_esperado": estado.get("saldo_esperado").and_then(|v| v.as_f64()).unwrap_or(0.0),
|
||||
"dados": estado,
|
||||
"observacoes": estado.get("observacoes").and_then(|v| v.as_str()).unwrap_or(""),
|
||||
|
||||
+35
-1
@@ -1059,6 +1059,18 @@ const LS_KEY = 'fc_v7';
|
||||
const CFG_KEY = 'fc_cfg';
|
||||
|
||||
function buildEstadoForBackend() {
|
||||
// Calcula totais das tabelas (mesma lógica do updateTotals)
|
||||
const sangriasTotal = estado.sangrias.reduce((s, r) => s + (parseNum(r['retirada'] || 0) || 0), 0);
|
||||
const despesasTotal = estado.despesas.reduce((s, r) => s + (parseNum(r['valor'] || 0) || 0), 0);
|
||||
const pixcnpjTotal = estado.pixcnpj.reduce((s, r) => s + (parseNum(r['valor'] || 0) || 0), 0);
|
||||
const valesTotal = estado.vales.reduce((s, r) => s + (parseNum(r['valor'] || 0) || 0), 0);
|
||||
const receberTotal = estado.receber.reduce((s, r) => s + (parseNum(r['valor'] || 0) || 0), 0);
|
||||
const cancelTotal = estado.cancelamentos.reduce((s, r) => s + (parseNum(r['valor'] || 0) || 0), 0);
|
||||
const cartCred = estado.cartoes.credito.reduce((s, r) => s + (r.valor || 0), 0);
|
||||
const cartDeb = estado.cartoes.debito.reduce((s, r) => s + (r.valor || 0), 0);
|
||||
const cartAli = estado.cartoes.alimentacao.reduce((s, r) => s + (r.valor || 0), 0);
|
||||
const cartPix = estado.cartoes.pix.reduce((s, r) => s + (r.valor || 0), 0);
|
||||
|
||||
// Monta o objeto exactly as o backend espera (storage.rs → salvar_fechamento)
|
||||
return {
|
||||
uuid: estado.uuid,
|
||||
@@ -1067,9 +1079,31 @@ function buildEstadoForBackend() {
|
||||
data: estado.data,
|
||||
operador: estado.operador,
|
||||
turno: estado.turno,
|
||||
saldo_troco: parseNum(val('sys-troco')), // troco do sistema
|
||||
saldo_troco: parseNum(val('sys-troco')),
|
||||
saldo_esperado: parseNum(val('f-saldo-esperado')),
|
||||
fechamento: parseNum(val('f-fech-dinheiro')) + parseNum(val('f-fech-cartoes')) + parseNum(val('f-fech-receber')),
|
||||
// Saldos de cartões (do Sys / Saldo de Caixa)
|
||||
credito: parseNum(val('sys-credito')) || cartCred,
|
||||
debito: parseNum(val('sys-debito')) || cartDeb,
|
||||
alimentacao: parseNum(val('sys-alimentacao')) || cartAli,
|
||||
pixcnpj: parseNum(val('sys-pixcnpj')) || pixcnpjTotal,
|
||||
vales: parseNum(val('sys-vales')) || valesTotal,
|
||||
receber: parseNum(val('sys-receber')) || receberTotal,
|
||||
// Totais para colunas SQL
|
||||
total_sangrias: sangriasTotal,
|
||||
total_despesas: despesasTotal,
|
||||
total_pixcnpj: pixcnpjTotal,
|
||||
total_vales: valesTotal,
|
||||
total_areceber: receberTotal,
|
||||
total_cancelamentos: cancelTotal,
|
||||
total_cartao_credito: cartCred,
|
||||
total_cartao_debito: cartDeb,
|
||||
total_cartao_alimentacao: cartAli,
|
||||
total_cartao_pix: cartPix,
|
||||
// Fechamento contado
|
||||
fd: parseNum(val('f-fech-dinheiro')),
|
||||
fc: parseNum(val('f-fech-cartoes')),
|
||||
fr: parseNum(val('f-fech-receber')),
|
||||
despesas: estado.despesas.map(r => ({ desc: r.desc || '', obs: r.obs || '', valor: r.valor || 0 })),
|
||||
sangrias: estado.sangrias.map(r => ({ hora: r.hora || '', retirada: r.retirada || 0, gerente: r.gerente || '' })),
|
||||
pixcnpj: estado.pixcnpj.map(r => ({ nome: r.nome || '', valor: r.valor || 0 })),
|
||||
|
||||
Reference in New Issue
Block a user