v1.3.15: diferença=fechamento-saldo_esperado-cancelamentos; ESCPOS 80mm+HTML com clientes+frango
This commit is contained in:
@@ -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
@@ -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} <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