fix: buildPrintHTML usa sys_total correto
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-07-05 20:57:49 +00:00
parent acb90f093d
commit 56a2ed5d31
2 changed files with 8 additions and 7 deletions
+6 -5
View File
@@ -322,13 +322,12 @@ impl ReciboData {
out.extend(escpos::divider()); out.extend(escpos::divider());
// ── DIFERENÇA ── // ── DIFERENÇA ──
// Diferença = TOTAL SISTEMA - saldo_esperado - cancelamentos // Usa o valor calculado pelo frontend (já correto)
out.extend(escpos::line_bold("DIFERENCA")); out.extend(escpos::line_bold("DIFERENCA"));
let diff = self.sys_total - self.saldo_esperado - self.cancelamentos; let diff_str = if self.diferenca >= 0.0 {
let diff_str = if diff >= 0.0 { format!("+{}", self.fmt_money(self.diferenca))
format!("+{}", self.fmt_money(diff))
} else { } else {
self.fmt_money(diff) self.fmt_money(self.diferenca)
}; };
out.extend(escpos::title(&diff_str)); out.extend(escpos::title(&diff_str));
@@ -528,8 +527,10 @@ pub fn caminho_impressora() -> Option<String> {
#[tauri::command] #[tauri::command]
pub fn imprimir_recibo(data: String) -> Result<usize, String> { pub fn imprimir_recibo(data: String) -> Result<usize, String> {
eprintln!("[DEBUG RECIBO JSON] {}", &data[..data.len().min(500)]);
let r: ReciboData = let r: ReciboData =
serde_json::from_str(&data).map_err(|e| format!("Erro ao analisar dados: {}", e))?; 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(); let bytes = r.to_escpos();
log::info!("Imprimindo recibo: {} bytes ESC/POS", bytes.len()); log::info!("Imprimindo recibo: {} bytes ESC/POS", bytes.len());
PRINTER.imprimir_bytes(&bytes) PRINTER.imprimir_bytes(&bytes)
+2 -2
View File
@@ -1492,7 +1492,7 @@ 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 = Total Sistema - Saldo Esperado - Cancelamentos // Diferença = Total Sistema - Saldo Esperado - Cancelamentos
const sysTotalCalc = (data.sysTotal || 0); const sysTotalCalc = (data.sys_total || 0);
const saldoEsperadoCalc = (data.saldo_esperado || 0); const saldoEsperadoCalc = (data.saldo_esperado || 0);
// Cancelamentos: SEMPRE recalcular da array (o scalar pode estar desatualizado) // Cancelamentos: SEMPRE recalcular da array (o scalar pode estar desatualizado)
const cancelamentos_arr = Array.isArray(data.cancelamentos_arr) ? data.cancelamentos_arr : []; const cancelamentos_arr = Array.isArray(data.cancelamentos_arr) ? data.cancelamentos_arr : [];
@@ -1766,7 +1766,7 @@ function buildReportHTML(data) {
<div class="row"><span>💳 Crédito:</span><span class="val">${fmt(cartCred)}</span></div> <div class="row"><span>💳 Crédito:</span><span class="val">${fmt(cartCred)}</span></div>
<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(totalCancelCalc)}</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>