Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| da861ef964 | |||
| 8e642f2e0c |
@@ -288,12 +288,6 @@ impl ReciboData {
|
|||||||
out.extend(escpos::divider());
|
out.extend(escpos::divider());
|
||||||
}
|
}
|
||||||
|
|
||||||
// ── CONTADORES ──
|
|
||||||
out.extend(escpos::line_bold("CONTADORES"));
|
|
||||||
out.extend(escpos::kv("Clientes:", &self.clientes.to_string()));
|
|
||||||
out.extend(escpos::kv("Frango Assado:", &self.frango.to_string()));
|
|
||||||
out.extend(escpos::divider());
|
|
||||||
|
|
||||||
// ── CARTÕES ──
|
// ── CARTÕES ──
|
||||||
out.extend(escpos::line_bold("CARTOES"));
|
out.extend(escpos::line_bold("CARTOES"));
|
||||||
out.extend(escpos::kv("Credito:", &self.fmt_money(self.credito)));
|
out.extend(escpos::kv("Credito:", &self.fmt_money(self.credito)));
|
||||||
@@ -339,6 +333,12 @@ impl ReciboData {
|
|||||||
};
|
};
|
||||||
out.extend(escpos::title(&diff_str));
|
out.extend(escpos::title(&diff_str));
|
||||||
|
|
||||||
|
// ── CONTADORES ──
|
||||||
|
out.extend(escpos::line_bold("CONTADORES"));
|
||||||
|
out.extend(escpos::kv("Clientes:", &self.clientes.to_string()));
|
||||||
|
out.extend(escpos::kv("Frango Assado:", &self.frango.to_string()));
|
||||||
|
out.extend(escpos::divider());
|
||||||
|
|
||||||
// ── OBSERVAÇÕES ──
|
// ── OBSERVAÇÕES ──
|
||||||
if let Some(ref obs) = self.observacoes {
|
if let Some(ref obs) = self.observacoes {
|
||||||
if !obs.trim().is_empty() {
|
if !obs.trim().is_empty() {
|
||||||
|
|||||||
+13
-13
@@ -855,8 +855,8 @@ function updateTotals() {
|
|||||||
const receberTotal = estado.receber.reduce((s, r) => s + (parseNum(r['valor'] || 0) || 0), 0);
|
const receberTotal = estado.receber.reduce((s, r) => s + (parseNum(r['valor'] || 0) || 0), 0);
|
||||||
document.getElementById('sys-receber').value = receberTotal > 0 ? fmtNum(receberTotal) : '';
|
document.getElementById('sys-receber').value = receberTotal > 0 ? fmtNum(receberTotal) : '';
|
||||||
|
|
||||||
// SYS total = crédito + débito + alimentação + vales + receber + pixCartão + pixCnpj (NÃO inclui troco)
|
// Saldo de Caixa (Sistema) = troco + crédito + débito + alimentação + vales + receber + pixCartão + pixCnpj
|
||||||
const sysTotal = cartCred + cartDeb + cartAli + valesTotal + receberTotal + cartPix + pixCnpjTotal;
|
const sysTotal = parseNum(val('sys-troco')) + cartCred + cartDeb + cartAli + valesTotal + receberTotal + cartPix + pixCnpjTotal;
|
||||||
setText('sys-total', fmt(sysTotal));
|
setText('sys-total', fmt(sysTotal));
|
||||||
|
|
||||||
// ── Fechamento Contado — auto-populate (readonly, filled from tables) ──
|
// ── Fechamento Contado — auto-populate (readonly, filled from tables) ──
|
||||||
@@ -873,10 +873,9 @@ function updateTotals() {
|
|||||||
const fr = receberTotal;
|
const fr = receberTotal;
|
||||||
setText('fech-total', fmt(fd + fc + fr));
|
setText('fech-total', fmt(fd + fc + fr));
|
||||||
|
|
||||||
// Diferença = fechamento - saldo_esperado - cancelamentos
|
// Diferença = Saldo de Caixa (Sistema) - saldo_esperado - cancelamentos
|
||||||
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 = fechamentoTotal - parseNum(val('f-saldo-esperado')) - cancelTotal;
|
const diff = sysTotal - 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) {
|
||||||
@@ -1695,8 +1694,6 @@ function buildReportHTML(data) {
|
|||||||
<div class="row"><span>💳 Débito:</span><span class="val">${fmt(cartDeb)}</span></div>
|
<div class="row"><span>💳 Débito:</span><span class="val">${fmt(cartDeb)}</span></div>
|
||||||
<div class="row"><span>💳 Alimentação:</span><span class="val">${fmt(cartAli)}</span></div>
|
<div class="row"><span>💳 Alimentação:</span><span class="val">${fmt(cartAli)}</span></div>
|
||||||
<div class="row"><span>❌ Cancelamentos:</span><span class="val">${fmt(cancelamentos)}</span></div>
|
<div class="row"><span>❌ Cancelamentos:</span><span class="val">${fmt(cancelamentos)}</span></div>
|
||||||
<div class="row"><span>👥 Clientes:</span><span class="val">${data.clientes || 0}</span></div>
|
|
||||||
<div class="row"><span>🍗 Frango Assado:</span><span class="val">${data.frango || 0}</span></div>
|
|
||||||
<hr>
|
<hr>
|
||||||
<div class="row"><span>📋 Fechamento (contado):</span><span class="val">${fmt(fechamento)}</span></div>
|
<div class="row"><span>📋 Fechamento (contado):</span><span class="val">${fmt(fechamento)}</span></div>
|
||||||
<div class="row"><span>🖥️ Total Sistema:</span><span class="val">${fmt(sysTotal)}</span></div>
|
<div class="row"><span>🖥️ Total Sistema:</span><span class="val">${fmt(sysTotal)}</span></div>
|
||||||
@@ -1704,6 +1701,9 @@ function buildReportHTML(data) {
|
|||||||
<div class="row"><span>🎯 Saldo Esperado (contado):</span><span class="val">${fmt(saldoEsp)}</span></div>
|
<div class="row"><span>🎯 Saldo Esperado (contado):</span><span class="val">${fmt(saldoEsp)}</span></div>
|
||||||
<div class="row"><span>📐 Diferença:</span><span class="val" style="color:${diffColor}">${diffStr}</span></div>
|
<div class="row"><span>📐 Diferença:</span><span class="val" style="color:${diffColor}">${diffStr}</span></div>
|
||||||
<hr>
|
<hr>
|
||||||
|
<div class="row"><span>👥 Clientes:</span><span class="val">${data.clientes || 0}</span></div>
|
||||||
|
<div class="row"><span>🍗 Frango Assado:</span><span class="val">${data.frango || 0}</span></div>
|
||||||
|
<hr>
|
||||||
<div style="text-align:center;font-size:10px;color:#888">ID: ${data.loja}_${data.data}_${data.operador}</div>
|
<div style="text-align:center;font-size:10px;color:#888">ID: ${data.loja}_${data.data}_${data.operador}</div>
|
||||||
<div class="footer">Gerado em ${new Date().toLocaleString('pt-BR')}</div>
|
<div class="footer">Gerado em ${new Date().toLocaleString('pt-BR')}</div>
|
||||||
</body></html>`;
|
</body></html>`;
|
||||||
@@ -1807,10 +1807,10 @@ function buildReciboData() {
|
|||||||
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 fechamentoCounted = parseNum(val('f-fech-dinheiro')) + parseNum(val('f-fech-cartoes')) + parseNum(val('f-fech-receber'));
|
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 saldoEsp = parseNum(val('f-saldo-esperado'));
|
||||||
// SYS total = crédito + débito + alimentação + voucher pix + pixcnpj + vales + receber (NÃO inclui troco)
|
// Saldo de Caixa (Sistema) = troco + crédito + débito + alimentação + voucher pix + pixcnpj + vales + receber
|
||||||
const sysTotal = cartCred + cartDeb + cartAli + cartPix + pixCnpjTotal + valesTotal + receberTotal;
|
const sysTotal = parseNum(val('sys-troco')) + cartCred + cartDeb + cartAli + cartPix + pixCnpjTotal + valesTotal + receberTotal;
|
||||||
// Diferença = fechamento - saldo_esperado - cancelamentos
|
// Diferença = saldo de caixa (sistema) - saldo_esperado - cancelamentos
|
||||||
const diferenca = fechamentoCounted - saldoEsp - cancelTotal;
|
const diferenca = sysTotal - saldoEsp - cancelTotal;
|
||||||
return {
|
return {
|
||||||
uuid: estado.uuid,
|
uuid: estado.uuid,
|
||||||
id_local: estado.id_local,
|
id_local: estado.id_local,
|
||||||
@@ -1902,8 +1902,8 @@ function openConfirmModal() {
|
|||||||
const pixcnpj = estado.pixcnpj.reduce((s,r) => s+(parseNum(r.valor||0)||0), 0);
|
const pixcnpj = estado.pixcnpj.reduce((s,r) => s+(parseNum(r.valor||0)||0), 0);
|
||||||
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 = parseNum(val('sys-troco')) + cartCred + cartDeb + cartAli + cartPix + vales + receber + pixcnpj;
|
||||||
const diferenca = fechamento - saldoEsp - cancelamentos;
|
const diferenca = sysTotal - 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>
|
||||||
|
|||||||
Reference in New Issue
Block a user