fix: diff=sysTotal-esperado; toggleEdit fecha relatorio; saldo=soma carts; print diff=sysTotal
This commit is contained in:
+16
-13
@@ -1486,9 +1486,11 @@ ${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 = Total Sistema - Saldo Esperado - Cancelamentos
|
||||||
const diferenca = data.diferenca !== undefined ? data.diferenca
|
const sysTotalCalc = (data.sysTotal || 0);
|
||||||
: ((data.fechamento || 0) - (data.saldo_esperado || 0) - (data.cancelamentos || 0));
|
const saldoEsperadoCalc = (data.saldo_esperado || 0);
|
||||||
|
const cancelamentosCalc = (data.cancelamentos || 0);
|
||||||
|
const diferenca = sysTotalCalc - saldoEsperadoCalc - cancelamentosCalc;
|
||||||
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');
|
||||||
|
|
||||||
@@ -2283,10 +2285,10 @@ function buildRelatorioModal(full) {
|
|||||||
const totalSangrias = parseFloat(full.total_sangrias || 0);
|
const totalSangrias = parseFloat(full.total_sangrias || 0);
|
||||||
const totalCancelamentos = parseFloat(full.total_cancelamentos || 0);
|
const totalCancelamentos = parseFloat(full.total_cancelamentos || 0);
|
||||||
|
|
||||||
// Esperado e diferença
|
// Esperado e diferença — calculada: Total Sistema - Saldo Esperado - Cancelamentos
|
||||||
const saldoEsperado = parseFloat(full.saldo_esperado || 0);
|
const saldoEsperado = parseFloat(full.saldo_esperado || 0);
|
||||||
const diferenca = parseFloat(full.diferenca || 0);
|
const diferenca = sysTotal - saldoEsperado - totalCancelamentos;
|
||||||
const statusDif = full.status_diferenca || '?';
|
const statusDif = diferenca === 0 ? 'ok' : (diferenca > 0 ? 'sobrando' : 'faltando');
|
||||||
|
|
||||||
const diffClass = statusDif === 'ok' ? '#2e7d32' : (statusDif === 'sobrando' ? '#e65100' : '#c0272d');
|
const diffClass = statusDif === 'ok' ? '#2e7d32' : (statusDif === 'sobrando' ? '#e65100' : '#c0272d');
|
||||||
const diffLabel = statusDif === 'ok' ? '✓ OK' : (statusDif === 'sobrando' ? '⚠ SOBRANDO' : (statusDif === 'faltando' ? '⚠ FALTANDO' : statusDif));
|
const diffLabel = statusDif === 'ok' ? '✓ OK' : (statusDif === 'sobrando' ? '⚠ SOBRANDO' : (statusDif === 'faltando' ? '⚠ FALTANDO' : statusDif));
|
||||||
@@ -2495,6 +2497,7 @@ window.toggleEditConsulta = async function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
openEditModal(full);
|
openEditModal(full);
|
||||||
|
closeRelatorioModal();
|
||||||
};
|
};
|
||||||
|
|
||||||
// Pede senha admin — retorna Promise<boolean>
|
// Pede senha admin — retorna Promise<boolean>
|
||||||
@@ -2952,14 +2955,14 @@ window.salvarEdicaoModal = async function() {
|
|||||||
total_cartao_alimentacao: cartAli_tot,
|
total_cartao_alimentacao: cartAli_tot,
|
||||||
total_cartao_pix: cartPix_tot,
|
total_cartao_pix: cartPix_tot,
|
||||||
|
|
||||||
// Saldo de caixa (editável via tabela saldo)
|
// Saldo de caixa — soma automática dos itens editados (não dos campos readonly)
|
||||||
saldo_troco: p(inp('edit-troco')),
|
saldo_troco: p(inp('edit-troco')),
|
||||||
saldo_credito: p(inp('edit-sld-credito')),
|
saldo_credito: cartCred_tot,
|
||||||
saldo_debito: p(inp('edit-sld-debito')),
|
saldo_debito: cartDeb_tot,
|
||||||
saldo_alimentacao: p(inp('edit-sld-alimentacao')),
|
saldo_alimentacao: cartAli_tot,
|
||||||
saldo_vales: p(inp('edit-sld-vales')),
|
saldo_vales: vales_tot,
|
||||||
total_pixcnpj: p(inp('edit-sld-pixcnpj')),
|
total_pixcnpj: pixcnpj_tot,
|
||||||
saldo_areceber: p(inp('edit-sld-areceber')),
|
saldo_areceber: recv_tot,
|
||||||
|
|
||||||
// Totais
|
// Totais
|
||||||
total_vales: vales_tot,
|
total_vales: vales_tot,
|
||||||
|
|||||||
Reference in New Issue
Block a user