Compare commits

...

17 Commits

Author SHA1 Message Date
root a56d7188f2 fix: fórmula diferença = sys_total - saldo_esperado - cancelamentos (todas as 3 functions de print); aumenta fonte print para 17px + ajustes de padding/margens
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
2026-06-30 22:03:12 +00:00
root 7e1ee6bc04 fix: diff=sysTotal-esperado; toggleEdit fecha relatorio; saldo=soma carts; print diff=sysTotal
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
2026-06-30 20:54:02 +00:00
root 6a8881d41d fix: cartoes do dados JSONB no print; listar_recentes com dados; table-layout fixed; modal conf font 14px
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
2026-06-30 20:00:07 +00:00
root 3b3eb1a4cc fix: fonte impressao 13→15px, cartoes 11→13px, tudo bold !important, bordas 1px dashed→2px solid
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
2026-06-30 19:30:42 +00:00
root c7109b1017 fix: uuid/id restaurados ao editar dia anterior; calcAll→updateTotals; invoke usa id; senha sempre pedida
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
2026-06-30 19:00:01 +00:00
root f45d1e8170 fix: somatório atualiza após add linha; saldo caixa só troco editável; printRelatorio fixed; salvamento via uuid; edited_at/by; totales completos
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
2026-06-30 18:33:38 +00:00
root 8ea5ba771a feat: impressao bold; JSON vales/sangrias/despesas/pixcnpj/receber/cancelamentos; recalc on add row
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
2026-06-30 18:08:19 +00:00
root 84578fe43d feat: _recalcEditTotals oninput; fmtBR onblur; IDs nos spans de totais
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
2026-06-30 14:58:42 +00:00
root 3e94789cb0 fix: editTableHTML has local fmtNum; removes all fmtCell calls from openEditModal
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
2026-06-30 14:45:36 +00:00
root 292d0b85d9 fix: fmtCell inline money formatting (remove fmtMoney ref)
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
2026-06-30 14:34:23 +00:00
root a8edab029d feat: modal edicao completo com todas as grades editaveis — cartoes, vales, despesas, sangrias, pixcnPJ, receber, cancelamentos
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
2026-06-30 14:27:01 +00:00
root cbaef8772d fix: askPassword closure — pw declared inside function (was global ref)
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
2026-06-30 14:06:45 +00:00
root 80740afbf0 fix: parseNum vendas; screen: edit modal separado c/ senha, edited_at/by, fmtBR inputs
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
2026-06-30 13:57:03 +00:00
root 7134c85bb7 fix: carregar dia anterior - cartoes como numeros crus, NaN makeRow, campos sistema populados
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
2026-06-30 13:35:13 +00:00
root 4a157d27cb fix: vendas no buildPrintHTML e consultaToPrintData, fmtMoneyInput R$, auto-migration no Rust
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
2026-06-30 02:52:18 +00:00
root a0f2f91131 fix: IIFE closure no botao Editar caixa completo; feat: campo Vendas em todo lugar
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
2026-06-30 00:33:58 +00:00
root 15f141c191 feat: botao Editar caixa completo - restaura todos os lancamentos detalhados
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
2026-06-29 23:30:58 +00:00
3 changed files with 805 additions and 213 deletions
+2 -2
View File
@@ -322,9 +322,9 @@ impl ReciboData {
out.extend(escpos::divider()); out.extend(escpos::divider());
// ── DIFERENÇA ── // ── DIFERENÇA ──
// Diferença = total_fechamento - saldo_esperado - cancelamentos // Diferença = sys_total - saldo_esperado - cancelamentos
out.extend(escpos::line_bold("DIFERENCA")); out.extend(escpos::line_bold("DIFERENCA"));
let diff = self.fechamento - self.saldo_esperado - self.cancelamentos; let diff = self.sys_total - self.saldo_esperado - self.cancelamentos;
let diff_str = if diff >= 0.0 { let diff_str = if diff >= 0.0 {
format!("+{}", self.fmt_money(diff)) format!("+{}", self.fmt_money(diff))
} else { } else {
+44 -1
View File
@@ -140,6 +140,7 @@ impl SupabaseClient {
"observacoes": estado.get("observacoes").and_then(|v| v.as_str()).unwrap_or(""), "observacoes": estado.get("observacoes").and_then(|v| v.as_str()).unwrap_or(""),
"clientes": estado.get("clientes").and_then(|v| v.as_i64()).unwrap_or(0), "clientes": estado.get("clientes").and_then(|v| v.as_i64()).unwrap_or(0),
"frango": estado.get("frango").and_then(|v| v.as_i64()).unwrap_or(0), "frango": estado.get("frango").and_then(|v| v.as_i64()).unwrap_or(0),
"vendas": estado.get("vendas").and_then(|v| v.as_f64()).unwrap_or(0.0),
}); });
// Primeiro tenta INSERT (upsert via Prefer) // Primeiro tenta INSERT (upsert via Prefer)
@@ -278,7 +279,7 @@ impl SupabaseClient {
pub fn listar_recentes(&self, loja: &str, limite: i64) -> Result<Vec<Value>, SupabaseError> { pub fn listar_recentes(&self, loja: &str, limite: i64) -> Result<Vec<Value>, SupabaseError> {
let loja_normalized = sem_acento(&loja.to_lowercase()); let loja_normalized = sem_acento(&loja.to_lowercase());
let url = format!( let url = format!(
"{}/rest/v1/fechamentos_web?loja=eq.{}&order=data.desc,atualizado_em.desc&limit={}&select=id,id_fechamento,data,operador,turno,saldo_troco,saldo_esperado,fechamento_dinheiro,fechamento_cartoes,fechamento_areceber,diferenca,status_diferenca,observacoes,atualizado_em", "{}/rest/v1/fechamentos_web?loja=eq.{}&order=data.desc,atualizado_em.desc&limit={}&select=id,id_fechamento,data,operador,turno,saldo_troco,saldo_esperado,fechamento_dinheiro,fechamento_cartoes,fechamento_areceber,diferenca,status_diferenca,observacoes,atualizado_em,dados",
self.base_url, self.base_url,
urlencoding::encode(&loja_normalized), urlencoding::encode(&loja_normalized),
limite, limite,
@@ -396,6 +397,48 @@ impl SupabaseClient {
} }
} }
/// Tenta forçar PostgREST a recarregar schema com novas colunas (vendas, edited_at, edited_by).
/// Estratégia: INSERT com novas colunas → se PGRST204, espera 1.5s → retry.
/// Fire-and-forget — falha não bloqueia.
pub fn run_migration(&self) {
let payload = serde_json::json!({
"id_fechamento": "_mig_probe_1900",
"loja": "_probe_",
"data": "1900-01-01",
"operador": "_probe_",
"vendas": 0,
"edited_at": null,
"edited_by": null
});
let r1 = self.http
.post(&format!("{}/rest/v1/fechamentos_web", self.base_url))
.headers(self.headers(true))
.header("Prefer", "resolution=merge-duplicates")
.json(&payload)
.send();
if let Ok(resp) = r1 {
if resp.status().as_u16() == 400 {
std::thread::sleep(std::time::Duration::from_millis(1500));
let _ = self.http
.post(&format!("{}/rest/v1/fechamentos_web", self.base_url))
.headers(self.headers(true))
.header("Prefer", "resolution=merge-duplicates")
.json(&serde_json::json!({
"id_fechamento": "_mig_probe_1900",
"vendas": 0,
"edited_at": null,
"edited_by": null
}))
.send();
}
}
// Limpa probe
let _ = self.http
.delete(&format!("{}/rest/v1/fechamentos_web?id_fechamento=eq._mig_probe_1900", self.base_url))
.headers(self.headers(true))
.send();
}
/// Verifica se está online. /// Verifica se está online.
pub fn health_check(&self) -> bool { pub fn health_check(&self) -> bool {
let url = format!("{}/rest/v1/?limit=0", self.base_url); let url = format!("{}/rest/v1/?limit=0", self.base_url);
+759 -210
View File
File diff suppressed because it is too large Load Diff