Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| dba7eb3856 |
+25
-10
@@ -2175,14 +2175,26 @@ function buildConsultaModal(recentList) {
|
||||
};
|
||||
|
||||
// Calcula saldo de caixa real (mesma fórmula do relatório)
|
||||
const calcSaldoCaixa = item => (parseFloat(item.saldo_troco)||0)
|
||||
+ (parseFloat(item.saldo_credito)||0)
|
||||
+ (parseFloat(item.saldo_debito)||0)
|
||||
+ (parseFloat(item.saldo_alimentacao)||0)
|
||||
+ (parseFloat(item.saldo_vales)||0)
|
||||
+ (parseFloat(item.saldo_areceber)||0)
|
||||
+ (parseFloat(item.total_pixcnpj)||0)
|
||||
+ (parseFloat(item.total_cartao_pix)||0);
|
||||
// Lê tanto do top-level quanto do JSON dados (old records compatibility)
|
||||
const calcSaldoCaixa = item => {
|
||||
const dados = item.dados || {};
|
||||
return (parseFloat(item.saldo_troco)||0)
|
||||
+ (parseFloat(item.saldo_credito)||0)
|
||||
+ (parseFloat(item.saldo_debito)||0)
|
||||
+ (parseFloat(item.saldo_alimentacao)||0)
|
||||
+ (parseFloat(item.saldo_vales)||0)
|
||||
+ (parseFloat(item.saldo_areceber)||0)
|
||||
+ (parseFloat(item.total_pixcnpj)||0)
|
||||
+ (parseFloat(item.total_cartao_pix)||0)
|
||||
+ (parseFloat(dados.total_pixcnpj)||0)
|
||||
+ (parseFloat(dados.total_cartao_pix)||0);
|
||||
};
|
||||
const calcCancelamentos = item => {
|
||||
const dados = item.dados || {};
|
||||
return (parseFloat(item.total_cancelamentos)||0)
|
||||
+ (parseFloat(dados.total_cancelamentos)||0)
|
||||
+ (parseFloat(dados.cancelamentos)||0); // old format: array of cancelamentos
|
||||
};
|
||||
|
||||
// Ordena por data desc e pega os últimos 5 dias distintos
|
||||
const sortedDesc = [...recentList].sort((a,b) => b.data.localeCompare(a.data));
|
||||
@@ -2193,11 +2205,12 @@ function buildConsultaModal(recentList) {
|
||||
|
||||
function renderRows(list) {
|
||||
if (!list || list.length === 0) {
|
||||
return `<tr><td colspan="7" style="padding:20px;text-align:center;color:#888;font-size:13px">Nenhum registro encontrado.</td></tr>`;
|
||||
return `<tr><td colspan="8" style="padding:20px;text-align:center;color:#888;font-size:13px">Nenhum registro encontrado.</td></tr>`;
|
||||
}
|
||||
return list.map((item, i) => {
|
||||
const saldoCaixa = calcSaldoCaixa(item);
|
||||
const diff = saldoCaixa - (parseFloat(item.saldo_esperado)||0);
|
||||
const canc = calcCancelamentos(item);
|
||||
const diff = saldoCaixa - (parseFloat(item.saldo_esperado)||0) - canc;
|
||||
const diffClass = diff === 0 ? '#2e7d32' : diff > 0 ? '#e65100' : '#c0272d';
|
||||
const diffLabel = diff === 0 ? '✓ OK' : diff > 0 ? `+R$ ${diff.toFixed(2).replace('.',',')}` : `-R$ ${Math.abs(diff).toFixed(2).replace('.',',')}`;
|
||||
return `<tr data-idx="${recentList.indexOf(item)}" style="background:${i%2===0?'#fff':'#fafafa'}" onmouseover="this.style.background='#fff3e0'" onmouseout="this.style.background='${i%2===0?'#fff':'#fafafa'}'">
|
||||
@@ -2206,6 +2219,7 @@ function buildConsultaModal(recentList) {
|
||||
<td style="padding:6px 8px;border-bottom:1px solid #eee;font-size:12px;cursor:pointer" onclick="openConsultaRegistro(${recentList.indexOf(item)})">${item.turno||'?'}</td>
|
||||
<td style="padding:6px 8px;border-bottom:1px solid #eee;font-size:12px;text-align:right;cursor:pointer" onclick="openConsultaRegistro(${recentList.indexOf(item)})">${fmtMoney(saldoCaixa)}</td>
|
||||
<td style="padding:6px 8px;border-bottom:1px solid #eee;font-size:12px;text-align:right;cursor:pointer" onclick="openConsultaRegistro(${recentList.indexOf(item)})">${fmtMoney(item.saldo_esperado)}</td>
|
||||
<td style="padding:6px 8px;border-bottom:1px solid #eee;font-size:12px;text-align:right;cursor:pointer" onclick="openConsultaRegistro(${recentList.indexOf(item)})">${fmtMoney(canc)}</td>
|
||||
<td style="padding:6px 8px;border-bottom:1px solid #eee;font-size:12px;text-align:center;cursor:pointer;color:${diffClass};font-weight:bold" onclick="openConsultaRegistro(${recentList.indexOf(item)})">${diffLabel}</td>
|
||||
<td style="padding:4px 6px;border-bottom:1px solid #eee;text-align:center">
|
||||
<button onclick="event.stopPropagation();window.abrirEditaFechamentoIndex(${recentList.indexOf(item)})" style="background:#e65100;color:#fff;border:none;border-radius:4px;padding:4px 10px;cursor:pointer;font-size:11px;white-space:nowrap">✏️ Editar</button>
|
||||
@@ -2234,6 +2248,7 @@ function buildConsultaModal(recentList) {
|
||||
<th style="padding:6px 8px;text-align:left;font-size:11px;color:#888">TURNO</th>
|
||||
<th style="padding:6px 8px;text-align:right;font-size:11px;color:#888">SALDO CAIXA</th>
|
||||
<th style="padding:6px 8px;text-align:right;font-size:11px;color:#888">ESPERADO</th>
|
||||
<th style="padding:6px 8px;text-align:right;font-size:11px;color:#888">CANCEL.</th>
|
||||
<th style="padding:6px 8px;text-align:center;font-size:11px;color:#888">DIFERENÇA</th>
|
||||
<th style="padding:4px 6px;text-align:center;font-size:11px;color:#888">AÇÃO</th>
|
||||
</tr>
|
||||
|
||||
Reference in New Issue
Block a user