From 56a2ed5d316a0e0cae00bd401de6463998205542 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 5 Jul 2026 20:57:49 +0000 Subject: [PATCH] fix: buildPrintHTML usa sys_total correto --- src-tauri/src/plugins/printer.rs | 11 ++++++----- src/index.html | 4 ++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src-tauri/src/plugins/printer.rs b/src-tauri/src/plugins/printer.rs index 0dd0251..43f051e 100644 --- a/src-tauri/src/plugins/printer.rs +++ b/src-tauri/src/plugins/printer.rs @@ -322,13 +322,12 @@ impl ReciboData { out.extend(escpos::divider()); // ── DIFERENÇA ── - // Diferença = TOTAL SISTEMA - saldo_esperado - cancelamentos + // Usa o valor calculado pelo frontend (já correto) out.extend(escpos::line_bold("DIFERENCA")); - let diff = self.sys_total - self.saldo_esperado - self.cancelamentos; - let diff_str = if diff >= 0.0 { - format!("+{}", self.fmt_money(diff)) + let diff_str = if self.diferenca >= 0.0 { + format!("+{}", self.fmt_money(self.diferenca)) } else { - self.fmt_money(diff) + self.fmt_money(self.diferenca) }; out.extend(escpos::title(&diff_str)); @@ -528,8 +527,10 @@ pub fn caminho_impressora() -> Option { #[tauri::command] pub fn imprimir_recibo(data: String) -> Result { + eprintln!("[DEBUG RECIBO JSON] {}", &data[..data.len().min(500)]); let r: ReciboData = serde_json::from_str(&data).map_err(|e| format!("Erro ao analisar dados: {}", e))?; + eprintln!("[DEBUG DIFERENCA] self.diferenca={}", r.diferenca); let bytes = r.to_escpos(); log::info!("Imprimindo recibo: {} bytes ESC/POS", bytes.len()); PRINTER.imprimir_bytes(&bytes) diff --git a/src/index.html b/src/index.html index 98f2a9b..9b9c631 100644 --- a/src/index.html +++ b/src/index.html @@ -1492,7 +1492,7 @@ function buildPrintHTML(data) { const fmt = v => 'R$ ' + (v || 0).toFixed(2).replace('.', ','); const fmtNeg = v => (v < 0 ? '-' : '') + 'R$ ' + Math.abs(v || 0).toFixed(2).replace('.', ','); // Diferença = Total Sistema - Saldo Esperado - Cancelamentos - const sysTotalCalc = (data.sysTotal || 0); + const sysTotalCalc = (data.sys_total || 0); const saldoEsperadoCalc = (data.saldo_esperado || 0); // Cancelamentos: SEMPRE recalcular da array (o scalar pode estar desatualizado) const cancelamentos_arr = Array.isArray(data.cancelamentos_arr) ? data.cancelamentos_arr : []; @@ -1766,7 +1766,7 @@ function buildReportHTML(data) {
💳 Crédito:${fmt(cartCred)}
💳 Débito:${fmt(cartDeb)}
💳 Alimentação:${fmt(cartAli)}
-
❌ Cancelamentos:${fmt(cancelamentos)}
+
❌ Cancelamentos:${fmt(totalCancelCalc)}

📋 Fechamento (contado):${fmt(fechamento)}
🖥️ Total Sistema:${fmt(sysTotal)}