v1.3.15: diferença=fechamento-saldo_esperado-cancelamentos; ESCPOS 80mm+HTML com clientes+frango
Build Fechamento de Caixa / build (macos-14, app) (push) Has been cancelled
Build Fechamento de Caixa / build (ubuntu-22.04, deb) (push) Has been cancelled
Build Fechamento de Caixa / build (windows-2022, msi) (push) Has been cancelled

This commit is contained in:
root
2026-06-26 13:33:28 +00:00
parent 103cd31e50
commit 5ad8c1f395
2 changed files with 20 additions and 10 deletions
+10
View File
@@ -127,6 +127,10 @@ pub struct ReciboData {
pub cancelamentos_arr: Vec<ReciboLinha>, pub cancelamentos_arr: Vec<ReciboLinha>,
#[serde(default)] #[serde(default)]
pub observacoes: Option<String>, pub observacoes: Option<String>,
#[serde(default)]
pub clientes: i32,
#[serde(default)]
pub frango: i32,
} }
impl ReciboData { impl ReciboData {
@@ -284,6 +288,12 @@ 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)));
+10 -10
View File
@@ -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 = fechamento - (saldo_esperado - cancelamentos) // Diferença = fechamento - saldo_esperado - cancelamentos
const fechamentoTotal = fd + fc + fr; 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 = 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 = fechamento - (saldo_esperado - cancelamentos) // Diferença = fechamento - saldo_esperado - cancelamentos
const diferenca = data.diferenca !== undefined ? data.diferenca const diferenca = data.diferenca !== undefined ? data.diferenca
: ((data.fechamento || 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;
@@ -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 = fechamento - (saldo_esperado - cancelamentos) // Diferença = fechamento - saldo_esperado - cancelamentos
const diferenca = data.diferenca !== undefined ? data.diferenca const diferenca = data.diferenca !== undefined ? data.diferenca
: ((data.fechamento || 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');
@@ -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
: (fechamento - (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 = fechamento - (saldo_esperado - cancelamentos) // Diferença = fechamento - saldo_esperado - cancelamentos
const diferenca = fechamentoCounted - (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 = fechamento - (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} &nbsp; <strong>👤 Operador:</strong> ${operador} &nbsp; <strong>⏰ Turno:</strong> ${turno} &nbsp; <strong>🏪 Loja:</strong> ${loja}</div> `<div style="margin-bottom:6px"><strong>📅 Data:</strong> ${estado.data} &nbsp; <strong>👤 Operador:</strong> ${operador} &nbsp; <strong>⏰ Turno:</strong> ${turno} &nbsp; <strong>🏪 Loja:</strong> ${loja}</div>