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_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_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_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_credito": estado.get("total_cartao_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_debito": estado.get("total_cartao_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_alimentacao": estado.get("total_cartao_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_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),
|
"saldo_esperado": estado.get("saldo_esperado").and_then(|v| v.as_f64()).unwrap_or(0.0),
|
||||||
"dados": estado,
|
"dados": estado,
|
||||||
"observacoes": estado.get("observacoes").and_then(|v| v.as_str()).unwrap_or(""),
|
"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';
|
const CFG_KEY = 'fc_cfg';
|
||||||
|
|
||||||
function buildEstadoForBackend() {
|
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)
|
// Monta o objeto exactly as o backend espera (storage.rs → salvar_fechamento)
|
||||||
return {
|
return {
|
||||||
uuid: estado.uuid,
|
uuid: estado.uuid,
|
||||||
@@ -1067,9 +1079,31 @@ function buildEstadoForBackend() {
|
|||||||
data: estado.data,
|
data: estado.data,
|
||||||
operador: estado.operador,
|
operador: estado.operador,
|
||||||
turno: estado.turno,
|
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')),
|
saldo_esperado: parseNum(val('f-saldo-esperado')),
|
||||||
fechamento: parseNum(val('f-fech-dinheiro')) + parseNum(val('f-fech-cartoes')) + parseNum(val('f-fech-receber')),
|
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 })),
|
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 || '' })),
|
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 })),
|
pixcnpj: estado.pixcnpj.map(r => ({ nome: r.nome || '', valor: r.valor || 0 })),
|
||||||
|
|||||||
Reference in New Issue
Block a user