Revert "v1.3.16: Diferença=SaldoCaixa(Sistema)-SaldoEsperado-Cancelamentos; nomes padronizados"
This reverts commit 13489d58cf.
This commit is contained in:
@@ -303,8 +303,8 @@ impl ReciboData {
|
|||||||
out.extend(escpos::kv("Cancelamentos:", &self.fmt_money(self.cancelamentos)));
|
out.extend(escpos::kv("Cancelamentos:", &self.fmt_money(self.cancelamentos)));
|
||||||
out.extend(escpos::divider());
|
out.extend(escpos::divider());
|
||||||
|
|
||||||
// ── FECHAMENTO DE CAIXA (sys_total) ──
|
// ── TROCO / SALDO DE CAIXA ──
|
||||||
out.extend(escpos::line_bold("FECHAMENTO DE CAIXA"));
|
out.extend(escpos::line_bold("SALDO DE CAIXA"));
|
||||||
out.extend(escpos::kv("Troco (+):", &self.fmt_money(self.saldo_troco)));
|
out.extend(escpos::kv("Troco (+):", &self.fmt_money(self.saldo_troco)));
|
||||||
out.extend(escpos::kv("Credito (+):", &self.fmt_money(self.credito)));
|
out.extend(escpos::kv("Credito (+):", &self.fmt_money(self.credito)));
|
||||||
out.extend(escpos::kv("Debito (+):", &self.fmt_money(self.debito)));
|
out.extend(escpos::kv("Debito (+):", &self.fmt_money(self.debito)));
|
||||||
@@ -328,8 +328,8 @@ impl ReciboData {
|
|||||||
out.extend(escpos::divider());
|
out.extend(escpos::divider());
|
||||||
|
|
||||||
// ── DIFERENÇA ──
|
// ── DIFERENÇA ──
|
||||||
// diferenca = saldo de caixa (sistema) - saldo_esperado - cancelamentos
|
// Usa self.diferenca que o frontend calcula como sys_total - saldo_esperado
|
||||||
// (calculado no frontend em buildReciboData)
|
// (não recalcula de fechamento, que é o valor contado e não deve ser usado na diferença)
|
||||||
out.extend(escpos::line_bold("DIFERENCA"));
|
out.extend(escpos::line_bold("DIFERENCA"));
|
||||||
let diff = self.diferenca;
|
let diff = self.diferenca;
|
||||||
let diff_str = if diff >= 0.0 {
|
let diff_str = if diff >= 0.0 {
|
||||||
|
|||||||
+20
-20
@@ -873,10 +873,10 @@ function updateTotals() {
|
|||||||
const fr = receberTotal;
|
const fr = receberTotal;
|
||||||
setText('fech-total', fmt(fd + fc + fr));
|
setText('fech-total', fmt(fd + fc + fr));
|
||||||
|
|
||||||
// Diferença = saldo de caixa (sistema) - saldo_esperado - cancelamentos
|
// Diferença = fechamento - saldo_esperado - cancelamentos
|
||||||
const sysTotal = cartCred + cartDeb + cartAli + cartPix + valesTotal + receberTotal + pixCnpjTotal;
|
const fechamentoTotal = fd + fc + fr;
|
||||||
const cancelTotal = estado.cancelamentos.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 diff = sysTotal - parseNum(val('f-saldo-esperado')) - cancelTotal;
|
const diff = fechamentoTotal - parseNum(val('f-saldo-esperado')) - cancelTotal;
|
||||||
const difEl = document.getElementById('diferenca');
|
const difEl = document.getElementById('diferenca');
|
||||||
const badgeEl = document.getElementById('dif-badge');
|
const badgeEl = document.getElementById('dif-badge');
|
||||||
if (difEl) {
|
if (difEl) {
|
||||||
@@ -1265,9 +1265,9 @@ function buildConfirmHTML(data) {
|
|||||||
// Relatório completo — mesmo layout do PDF
|
// Relatório completo — mesmo layout do PDF
|
||||||
const fmt = v => 'R$ ' + (v || 0).toFixed(2).replace('.', ',');
|
const fmt = v => 'R$ ' + (v || 0).toFixed(2).replace('.', ',');
|
||||||
const fmtNeg = v => (v < 0 ? '-' : '') + 'R$ ' + Math.abs(v || 0).toFixed(2).replace('.', ',');
|
const fmtNeg = v => (v < 0 ? '-' : '') + 'R$ ' + Math.abs(v || 0).toFixed(2).replace('.', ',');
|
||||||
// Diferença = saldo de caixa (sistema) - saldo_esperado - cancelamentos
|
// Diferença = fechamento - saldo_esperado - cancelamentos
|
||||||
const diferenca = data.diferenca !== undefined ? data.diferenca
|
const diferenca = data.diferenca !== undefined ? data.diferenca
|
||||||
: ((data.sys_total || 0) - (data.saldo_esperado || 0) - (data.cancelamentos || 0));
|
: ((data.fechamento || 0) - (data.saldo_esperado || 0) - (data.cancelamentos || 0));
|
||||||
const diffStr = diferenca >= 0 ? `+${fmt(diferenca)}` : fmtNeg(diferenca);
|
const diffStr = diferenca >= 0 ? `+${fmt(diferenca)}` : fmtNeg(diferenca);
|
||||||
const diffOk = diferenca === 0;
|
const diffOk = diferenca === 0;
|
||||||
|
|
||||||
@@ -1398,7 +1398,7 @@ ${cancelamentos_arr.map(c => `<div class="row"><span>${c.numero ? `Nº ${c.numer
|
|||||||
</table>
|
</table>
|
||||||
<div class="subtotal"><div class="row total-row"><span>Soma Cartões:</span><span>${fmt(totalCartoes)}</span></div></div>
|
<div class="subtotal"><div class="row total-row"><span>Soma Cartões:</span><span>${fmt(totalCartoes)}</span></div></div>
|
||||||
|
|
||||||
<div class="section-title">FECHAMENTO DE CAIXA</div>
|
<div class="section-title">SALDO DE CAIXA (SISTEMA) — RESUMO</div>
|
||||||
<div class="row"><span>Troco</span><span>${fmt(data.saldo_troco||0)}</span></div>
|
<div class="row"><span>Troco</span><span>${fmt(data.saldo_troco||0)}</span></div>
|
||||||
<div class="row"><span>Crédito</span><span>${fmt(cartCred)}</span></div>
|
<div class="row"><span>Crédito</span><span>${fmt(cartCred)}</span></div>
|
||||||
<div class="row"><span>Débito</span><span>${fmt(cartDeb)}</span></div>
|
<div class="row"><span>Débito</span><span>${fmt(cartDeb)}</span></div>
|
||||||
@@ -1407,11 +1407,11 @@ ${cancelamentos_arr.map(c => `<div class="row"><span>${c.numero ? `Nº ${c.numer
|
|||||||
<div class="row"><span>À Receber</span><span>${fmt(totalReceber)}</span></div>
|
<div class="row"><span>À Receber</span><span>${fmt(totalReceber)}</span></div>
|
||||||
<div class="row"><span>PIX Cartão</span><span>${fmt(cartPix)}</span></div>
|
<div class="row"><span>PIX Cartão</span><span>${fmt(cartPix)}</span></div>
|
||||||
<div class="row"><span>PIX CNPJ</span><span>${fmt(totalPixCnpj)}</span></div>
|
<div class="row"><span>PIX CNPJ</span><span>${fmt(totalPixCnpj)}</span></div>
|
||||||
<div class="row total-row"><span>TOTAL</span><span>${fmt(sysTotal)}</span></div>
|
<div class="row total-row"><span>TOTAL SISTEMA</span><span>${fmt(sysTotal)}</span></div>
|
||||||
<div class="row"><span>Saldo Esperado</span><span>${fmt(saldoEsperado)}</span></div>
|
<div class="row"><span>Saldo Esperado</span><span>${fmt(saldoEsperado)}</span></div>
|
||||||
<div class="row"><span>DIFERENÇA</span><span class="${diffOk ? 'diff-ok' : 'diff-bad'}">${diffStr}${diffOk ? ' ✓ OK' : ''}</span></div>
|
<div class="row"><span>DIFERENÇA</span><span class="${diffOk ? 'diff-ok' : 'diff-bad'}">${diffStr}${diffOk ? ' ✓ OK' : ''}</span></div>
|
||||||
|
|
||||||
<div class="section-title">SALDO DE CAIXA</div>
|
<div class="section-title">FECHAMENTO (CONTADO)</div>
|
||||||
<div class="row"><span>Dinheiro:</span><span>${fmt(fdin)}</span></div>
|
<div class="row"><span>Dinheiro:</span><span>${fmt(fdin)}</span></div>
|
||||||
<div class="row"><span>Cartões:</span><span>${fmt(fcarts)}</span></div>
|
<div class="row"><span>Cartões:</span><span>${fmt(fcarts)}</span></div>
|
||||||
<div class="row"><span>À Receber:</span><span>${fmt(frec)}</span></div>
|
<div class="row"><span>À Receber:</span><span>${fmt(frec)}</span></div>
|
||||||
@@ -1431,9 +1431,9 @@ ${data.observacoes ? `<div class="obs">${data.observacoes}</div>` : ''}
|
|||||||
function buildPrintHTML(data) {
|
function buildPrintHTML(data) {
|
||||||
const fmt = v => 'R$ ' + (v || 0).toFixed(2).replace('.', ',');
|
const fmt = v => 'R$ ' + (v || 0).toFixed(2).replace('.', ',');
|
||||||
const fmtNeg = v => (v < 0 ? '-' : '') + 'R$ ' + Math.abs(v || 0).toFixed(2).replace('.', ',');
|
const fmtNeg = v => (v < 0 ? '-' : '') + 'R$ ' + Math.abs(v || 0).toFixed(2).replace('.', ',');
|
||||||
// Diferença = saldo de caixa (sistema) - saldo_esperado - cancelamentos
|
// Diferença = fechamento - saldo_esperado - cancelamentos
|
||||||
const diferenca = data.diferenca !== undefined ? data.diferenca
|
const diferenca = data.diferenca !== undefined ? data.diferenca
|
||||||
: ((data.sys_total || 0) - (data.saldo_esperado || 0) - (data.cancelamentos || 0));
|
: ((data.fechamento || 0) - (data.saldo_esperado || 0) - (data.cancelamentos || 0));
|
||||||
const diffStr = diferenca >= 0 ? `+${fmt(diferenca)}` : fmtNeg(diferenca);
|
const diffStr = diferenca >= 0 ? `+${fmt(diferenca)}` : fmtNeg(diferenca);
|
||||||
const diffColor = diferenca === 0 ? '#2e7d32' : (diferenca > 0 ? '#e65100' : '#c0272d');
|
const diffColor = diferenca === 0 ? '#2e7d32' : (diferenca > 0 ? '#e65100' : '#c0272d');
|
||||||
|
|
||||||
@@ -1617,7 +1617,7 @@ ${cancLines.map(l => `<div class="row"><span>${l.label}</span><span>${fmt(l.valo
|
|||||||
</table>
|
</table>
|
||||||
<div class="subtotal"><div class="row total-row"><span>Soma Cartões:</span><span>${fmt(totalCartoes)}</span></div></div>
|
<div class="subtotal"><div class="row total-row"><span>Soma Cartões:</span><span>${fmt(totalCartoes)}</span></div></div>
|
||||||
|
|
||||||
<div class="section-title">FECHAMENTO DE CAIXA</div>
|
<div class="section-title">SALDO DE CAIXA (SISTEMA) — RESUMO</div>
|
||||||
<div class="row"><span>Troco</span><span>${fmt(data.saldo_troco||0)}</span></div>
|
<div class="row"><span>Troco</span><span>${fmt(data.saldo_troco||0)}</span></div>
|
||||||
<div class="row"><span>Crédito</span><span>${fmt(cartCred)}</span></div>
|
<div class="row"><span>Crédito</span><span>${fmt(cartCred)}</span></div>
|
||||||
<div class="row"><span>Débito</span><span>${fmt(cartDeb)}</span></div>
|
<div class="row"><span>Débito</span><span>${fmt(cartDeb)}</span></div>
|
||||||
@@ -1626,11 +1626,11 @@ ${cancLines.map(l => `<div class="row"><span>${l.label}</span><span>${fmt(l.valo
|
|||||||
<div class="row"><span>À Receber</span><span>${fmt(totalReceber)}</span></div>
|
<div class="row"><span>À Receber</span><span>${fmt(totalReceber)}</span></div>
|
||||||
<div class="row"><span>PIX Cartão</span><span>${fmt(cartPix)}</span></div>
|
<div class="row"><span>PIX Cartão</span><span>${fmt(cartPix)}</span></div>
|
||||||
<div class="row"><span>PIX CNPJ</span><span>${fmt(totalPixCnpj)}</span></div>
|
<div class="row"><span>PIX CNPJ</span><span>${fmt(totalPixCnpj)}</span></div>
|
||||||
<div class="row total-row"><span>TOTAL</span><span>${fmt(sysTotal)}</span></div>
|
<div class="row total-row"><span>TOTAL SISTEMA</span><span>${fmt(sysTotal)}</span></div>
|
||||||
<div class="row"><span>Saldo Esperado</span><span>${fmt(saldoEsperado)}</span></div>
|
<div class="row"><span>Saldo Esperado</span><span>${fmt(saldoEsperado)}</span></div>
|
||||||
<div class="row"><span>DIFERENÇA</span><span class="${diffOk ? 'diff-ok' : 'diff-bad'}">${diffStr}${diffOk ? ' ✓ OK' : ''}</span></div>
|
<div class="row"><span>DIFERENÇA</span><span class="${diffOk ? 'diff-ok' : 'diff-bad'}">${diffStr}${diffOk ? ' ✓ OK' : ''}</span></div>
|
||||||
|
|
||||||
<div class="section-title">SALDO DE CAIXA</div>
|
<div class="section-title">FECHAMENTO (CONTADO)</div>
|
||||||
<div class="row"><span>Dinheiro:</span><span>${fmt(fdin)}</span></div>
|
<div class="row"><span>Dinheiro:</span><span>${fmt(fdin)}</span></div>
|
||||||
<div class="row"><span>Cartões:</span><span>${fmt(fcarts)}</span></div>
|
<div class="row"><span>Cartões:</span><span>${fmt(fcarts)}</span></div>
|
||||||
<div class="row"><span>À Receber:</span><span>${fmt(frec)}</span></div>
|
<div class="row"><span>À Receber:</span><span>${fmt(frec)}</span></div>
|
||||||
@@ -1663,7 +1663,7 @@ function buildReportHTML(data) {
|
|||||||
const sysTotal = data.sys_total || 0;
|
const sysTotal = data.sys_total || 0;
|
||||||
const saldoEsp = data.saldo_esperado || 0;
|
const saldoEsp = data.saldo_esperado || 0;
|
||||||
const diferenca = data.diferenca !== undefined ? data.diferenca
|
const diferenca = data.diferenca !== undefined ? data.diferenca
|
||||||
: (sysTotal - saldoEsp - cancelamentos);
|
: (fechamento - saldoEsp - cancelamentos);
|
||||||
const diffStr = diferenca >= 0 ? `+${fmt(diferenca)}` : fmtNeg(diferenca);
|
const diffStr = diferenca >= 0 ? `+${fmt(diferenca)}` : fmtNeg(diferenca);
|
||||||
const diffColor = diferenca === 0 ? '#2e7d32' : '#c0272d';
|
const diffColor = diferenca === 0 ? '#2e7d32' : '#c0272d';
|
||||||
|
|
||||||
@@ -1809,8 +1809,8 @@ function buildReciboData() {
|
|||||||
const saldoEsp = parseNum(val('f-saldo-esperado'));
|
const saldoEsp = parseNum(val('f-saldo-esperado'));
|
||||||
// SYS total = crédito + débito + alimentação + voucher pix + pixcnpj + vales + receber (NÃO inclui troco)
|
// SYS total = crédito + débito + alimentação + voucher pix + pixcnpj + vales + receber (NÃO inclui troco)
|
||||||
const sysTotal = cartCred + cartDeb + cartAli + cartPix + pixCnpjTotal + valesTotal + receberTotal;
|
const sysTotal = cartCred + cartDeb + cartAli + cartPix + pixCnpjTotal + valesTotal + receberTotal;
|
||||||
// Diferença = saldo de caixa (sistema) - saldo_esperado - cancelamentos
|
// Diferença = fechamento - saldo_esperado - cancelamentos
|
||||||
const diferenca = sysTotal - saldoEsp - cancelTotal;
|
const diferenca = fechamentoCounted - saldoEsp - cancelTotal;
|
||||||
return {
|
return {
|
||||||
uuid: estado.uuid,
|
uuid: estado.uuid,
|
||||||
id_local: estado.id_local,
|
id_local: estado.id_local,
|
||||||
@@ -1903,7 +1903,7 @@ function openConfirmModal() {
|
|||||||
const fechamento = parseNum(val('f-fech-dinheiro')) + parseNum(val('f-fech-cartoes')) + parseNum(val('f-fech-receber'));
|
const fechamento = parseNum(val('f-fech-dinheiro')) + parseNum(val('f-fech-cartoes')) + parseNum(val('f-fech-receber'));
|
||||||
const saldoEsp = parseNum(val('f-saldo-esperado'));
|
const saldoEsp = parseNum(val('f-saldo-esperado'));
|
||||||
const sysTotal = cartCred + cartDeb + cartAli + cartPix + vales + receber + pixcnpj;
|
const sysTotal = cartCred + cartDeb + cartAli + cartPix + vales + receber + pixcnpj;
|
||||||
const diferenca = sysTotal - saldoEsp - cancelamentos;
|
const diferenca = fechamento - saldoEsp - cancelamentos;
|
||||||
const diffClass = diferenca === 0 ? '#2e7d32' : (diferenca > 0 ? '#e65100' : '#c0272d');
|
const diffClass = diferenca === 0 ? '#2e7d32' : (diferenca > 0 ? '#e65100' : '#c0272d');
|
||||||
document.getElementById('confirm-summary').innerHTML =
|
document.getElementById('confirm-summary').innerHTML =
|
||||||
`<div style="margin-bottom:6px"><strong>📅 Data:</strong> ${estado.data} <strong>👤 Operador:</strong> ${operador} <strong>⏰ Turno:</strong> ${turno} <strong>🏪 Loja:</strong> ${loja}</div>
|
`<div style="margin-bottom:6px"><strong>📅 Data:</strong> ${estado.data} <strong>👤 Operador:</strong> ${operador} <strong>⏰ Turno:</strong> ${turno} <strong>🏪 Loja:</strong> ${loja}</div>
|
||||||
@@ -1919,10 +1919,10 @@ function openConfirmModal() {
|
|||||||
<div>❌ Cancelamentos: <strong>${fmt(cancelamentos)}</strong></div>
|
<div>❌ Cancelamentos: <strong>${fmt(cancelamentos)}</strong></div>
|
||||||
<div>👥 Clientes: <strong>${estado.clientes || 0}</strong></div>
|
<div>👥 Clientes: <strong>${estado.clientes || 0}</strong></div>
|
||||||
<div>🍗 Frango Assado: <strong>${estado.frango || 0}</strong></div>
|
<div>🍗 Frango Assado: <strong>${estado.frango || 0}</strong></div>
|
||||||
<div>🛒 Saldo de Caixa: <strong>${fmt(fechamento)}</strong></div>
|
<div>📋 Fechamento (contado): <strong>${fmt(fechamento)}</strong></div>
|
||||||
<div>🖥️ Saldo de Caixa (Sistema): <strong>${fmt(sysTotal)}</strong></div>
|
<div>🖥️ Total Sistema: <strong>${fmt(sysTotal)}</strong></div>
|
||||||
<hr style="border:none;border-top:1px dashed #b3d9f7;margin:6px 0">
|
<hr style="border:none;border-top:1px dashed #b3d9f7;margin:6px 0">
|
||||||
<div>🎯 Saldo Esperado: <strong>${fmt(saldoEsp)}</strong></div>
|
<div>🎯 Saldo Esperado (contado): <strong>${fmt(saldoEsp)}</strong></div>
|
||||||
<div style="margin-top:4px">📐 Diferença: <strong style="color:${diffClass}">${fmt(diferenca)}</strong></div>
|
<div style="margin-top:4px">📐 Diferença: <strong style="color:${diffClass}">${fmt(diferenca)}</strong></div>
|
||||||
<div style="margin-top:4px;font-size:10px;color:#888">ID: ${estado.loja}_${estado.data}_${estado.operador}</div>`;
|
<div style="margin-top:4px;font-size:10px;color:#888">ID: ${estado.loja}_${estado.data}_${estado.operador}</div>`;
|
||||||
console.log('[DEBUG] openConfirmModal: tentando abrir modal');
|
console.log('[DEBUG] openConfirmModal: tentando abrir modal');
|
||||||
|
|||||||
Reference in New Issue
Block a user