v1.2.5 — fixes: diferenca=fechamento-esperado; btn-enviar func; mapas tabela Supabase
MAPA SUPABASE: Tabela: fechamentos_web uuid | loja | data | operador | turno saldo_troco | saldo_esperado | fechamento | diferenca sync_status | observacoes | dados (JSON com tudo) atualizado_em Tabela: despesas (via JSON em dados->despesas) Tabela: sangrias (via JSON em dados->sangrias) Tabela: vales (via JSON em dados->vales) Tabela: receber (via JSON em dados->receber) Tabela: pixcnpj (via JSON em dados->pixcnpj) Tabela: cancelamentos (via JSON em dados->cancelamentos) Tabela: cartoes (dados->cartoes: credito/debito/alimentacao/pix arrays) Tabela: listas_personalizadas (operadores/gerentes/despesas_custom/clientes) loja | operadores[] | gerentes[] | despesas_custom[] | clientes[] FUNCOES RPC: upsert_fechamento() — upsert fechamentos_web por uuid upsert_listas() — upsert listas_personalizadas por loja BOTÃO DIA ANTERIOR: usa sb_listar_recentes → tabela fechamentos_web Seleciona por numero (1=N Mais Recente, 2=2o Mais Recente...) ou automatico: data-1dia
This commit is contained in:
Binary file not shown.
Binary file not shown.
+12
-9
@@ -1194,9 +1194,9 @@ async function tauriEnviar() {
|
||||
// ─── Print Preview Window ──────────────────────────────────────────────────
|
||||
function buildPrintHTML(data) {
|
||||
const fmt = v => 'R$ ' + (v || 0).toFixed(2).replace('.', ',');
|
||||
const diff = (data.saldo_troco - data.saldo_esperado);
|
||||
const diffStr = diff >= 0 ? `+${fmt(diff)}` : fmt(diff);
|
||||
const diffColor = diff === 0 ? '#2e7d32' : (diff > 0 ? '#e65100' : '#c0272d');
|
||||
const diferenca = (data.fechamento || 0) - (data.saldo_esperado || 0);
|
||||
const diffStr = diferenca >= 0 ? `+${fmt(diferenca)}` : fmt(diferenca);
|
||||
const diffColor = diferenca === 0 ? '#2e7d32' : (diferenca > 0 ? '#e65100' : '#c0272d');
|
||||
|
||||
let rows = '';
|
||||
// Sangrias
|
||||
@@ -1338,7 +1338,7 @@ async function tauriRecibo() {
|
||||
const fechamentoCounted = parseNum(val('f-fech-dinheiro')) + parseNum(val('f-fech-cartoes')) + parseNum(val('f-fech-receber'));
|
||||
const saldoEsp = parseNum(val('f-saldo-esperado'));
|
||||
const sysTroco = parseNum(val('sys-troco'));
|
||||
|
||||
const fechamentoCounted = parseNum(val('f-fech-dinheiro')) + parseNum(val('f-fech-cartoes')) + parseNum(val('f-fech-receber'));
|
||||
const data = {
|
||||
uuid: estado.uuid,
|
||||
id_local: estado.id_local,
|
||||
@@ -1349,7 +1349,7 @@ async function tauriRecibo() {
|
||||
saldo_troco: sysTroco,
|
||||
saldo_esperado: saldoEsp,
|
||||
fechamento: fechamentoCounted,
|
||||
diferenca: sysTroco - saldoEsp,
|
||||
diferenca: fechamentoCounted - saldoEsp, // CORRIGIDO: diferenca = fechamento - esperado
|
||||
despesas: estado.despesas.map(r => ({ desc: r.desc||'', obs: r.obs||'', valor: r.valor||0 })),
|
||||
sangrias: estado.sangrias.map(r => ({ hora: r.hora||'', retirada: parseNum(r.retirada)||0, gerente: r.gerente||'' })),
|
||||
pixcnpj: estado.pixcnpj.map(r => ({ nome: r.nome||'', valor: r.valor||0 })),
|
||||
@@ -1446,16 +1446,19 @@ document.getElementById('modal-confirm').addEventListener('click', e => { if (e.
|
||||
// Print from confirm modal — abre preview no navegador
|
||||
document.getElementById('confirm-print').addEventListener('click', async () => {
|
||||
closeConfirmModal();
|
||||
// Reconstrói os mesmos dados do tauriRecibo e abre preview
|
||||
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);
|
||||
const cancelTotal = estado.cancelamentos.reduce((s,r) => s+(parseNum(r.valor||0)||0), 0);
|
||||
const fechamentoCounted = parseNum(val('f-fech-dinheiro')) + parseNum(val('f-fech-cartoes')) + parseNum(val('f-fech-receber'));
|
||||
const saldoEsp = parseNum(val('f-saldo-esperado'));
|
||||
const data = {
|
||||
loja: estado.loja, data: estado.data, operador: estado.operador, turno: estado.turno,
|
||||
saldo_troco: parseNum(val('sys-troco')) || 0,
|
||||
saldo_esperado: parseNum(val('f-saldo-esperado')) || 0,
|
||||
fechamento: parseNum(val('f-fech-dinheiro')) + parseNum(val('f-fech-cartoes')) + parseNum(val('f-fech-receber')),
|
||||
saldo_esperado: saldoEsp,
|
||||
fechamento: fechamentoCounted,
|
||||
diferenca: fechamentoCounted - saldoEsp,
|
||||
despesas: estado.despesas.map(r => ({ desc: r.desc||'', obs: r.obs||'', valor: r.valor||0 })),
|
||||
sangrias: estado.sangrias.map(r => ({ hora: r.hora||'', retirada: parseNum(r.retirada)||0, gerente: r.gerente||'' })),
|
||||
pixcnpj: estado.pixcnpj.map(r => ({ nome: r.nome||'', valor: r.valor||0 })),
|
||||
@@ -1463,7 +1466,7 @@ document.getElementById('confirm-print').addEventListener('click', async () => {
|
||||
receber: estado.receber.map(r => ({ nome: r.nome||'', valor: r.valor||0 })),
|
||||
cancelamentos: estado.cancelamentos.map(r => ({ numero: r.numero||'', valor: r.valor||0, motivo: r.motivo||'' })),
|
||||
credito: cartCred, debito: cartDeb, alimentacao: cartAli,
|
||||
cartoes: { pix: cartPix },
|
||||
cartoes: { credito: estado.cartoes.credito, debito: estado.cartoes.debito, alimentacao: estado.cartoes.alimentacao, pix: estado.cartoes.pix },
|
||||
observacoes: estado.observacoes,
|
||||
};
|
||||
openPrintPreview(data);
|
||||
|
||||
Reference in New Issue
Block a user