fix: always recalculate diferenca from sys_total (ignore precomputed data.diferenca)
This commit is contained in:
+4
-5
@@ -1325,11 +1325,11 @@ function buildConfirmHTML(data) {
|
|||||||
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
|
||||||
// ⚠️ buildReciboData retorna snake_case (sys_total, total_cancelamentos)
|
// ⚠️ buildReciboData retorna snake_case (sys_total, total_cancelamentos)
|
||||||
|
// Sempre recalcula para garantir consistência — ignora data.diferenca
|
||||||
const sysTotalCalc = (data.sys_total || data.sysTotal || 0);
|
const sysTotalCalc = (data.sys_total || data.sysTotal || 0);
|
||||||
const saldoEsperadoCalc = (data.saldo_esperado || 0);
|
const saldoEsperadoCalc = (data.saldo_esperado || 0);
|
||||||
const cancelamentosCalc = (data.total_cancelamentos || data.cancelamentos || 0);
|
const cancelamentosCalc = (data.total_cancelamentos || data.cancelamentos || 0);
|
||||||
const diferenca = data.diferenca !== undefined ? data.diferenca
|
const diferenca = sysTotalCalc - saldoEsperadoCalc - cancelamentosCalc;
|
||||||
: (sysTotalCalc - saldoEsperadoCalc - cancelamentosCalc);
|
|
||||||
const diffStr = diferenca >= 0 ? `+${fmt(diferenca)}` : fmtNeg(diferenca);
|
const diffStr = diferenca >= 0 ? `+${fmt(diferenca)}` : fmtNeg(diferenca);
|
||||||
const diffOk = diferenca === 0;
|
const diffOk = diferenca === 0;
|
||||||
|
|
||||||
@@ -1733,12 +1733,11 @@ 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;
|
||||||
// Diferença = Total Sistema - Saldo Esperado - Cancelamentos
|
// Diferença = Total Sistema - Saldo Esperado - Cancelamentos
|
||||||
// ⚠️ buildReciboData retorna snake_case (sys_total, total_cancelamentos)
|
// Sempre recalcula para garantir consistência
|
||||||
const sysTotalCalc = (data.sys_total || data.sysTotal || 0);
|
const sysTotalCalc = (data.sys_total || data.sysTotal || 0);
|
||||||
const saldoEspCalc = (data.saldo_esperado || 0);
|
const saldoEspCalc = (data.saldo_esperado || 0);
|
||||||
const cancelamentosCalc = (data.total_cancelamentos || data.cancelamentos || 0);
|
const cancelamentosCalc = (data.total_cancelamentos || data.cancelamentos || 0);
|
||||||
const diferenca = data.diferenca !== undefined ? data.diferenca
|
const diferenca = sysTotalCalc - saldoEspCalc - cancelamentosCalc;
|
||||||
: (sysTotalCalc - saldoEspCalc - cancelamentosCalc);
|
|
||||||
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';
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user