diff --git a/app/Filament/Pages/UnitaImmobiliarePage.php b/app/Filament/Pages/UnitaImmobiliarePage.php index a5b2ddb..c113fab 100755 --- a/app/Filament/Pages/UnitaImmobiliarePage.php +++ b/app/Filament/Pages/UnitaImmobiliarePage.php @@ -954,7 +954,7 @@ public function getEstrattoContoNominativoDettaglioProperty(): array } if (empty($this->estrattoCompattoRateRows)) { - $this->initEstrattoContoCompattoData(); + $this->hydrateEstrattoCompatto(); } $rateList = $this->condInquilActive === 'I' @@ -970,17 +970,39 @@ public function getEstrattoContoNominativoDettaglioProperty(): array $pagato = (float) ($r['pagato'] ?? 0); $residuo = (float) ($r['residuo'] ?? ($dovuto - $pagato)); + $dtPagamento = ! empty($r['data_pagamento']) && $r['data_pagamento'] !== '—' ? $r['data_pagamento'] : '—'; + $movimentoBancario = '—'; + + if (! empty($dettaglioIncassi)) { + $gestioneRate = (string) ($r['gestione'] ?? ''); + foreach ($dettaglioIncassi as $incItem) { + $yrInc = (string) ($incItem['anno_rif'] ?? ''); + if ($dtPagamento === '—' && ! empty($incItem['data_pagamento']) && $incItem['data_pagamento'] !== '—') { + $dtPagamento = $incItem['data_pagamento']; + } + if ($movimentoBancario === '—' && (! empty($incItem['cod_cassa']) || ! empty($incItem['descrizione']))) { + $cassaStr = ! empty($incItem['cod_cassa']) && $incItem['cod_cassa'] !== '—' ? 'Mov. #' . $incItem['cod_cassa'] : ''; + $noteStr = ! empty($incItem['descrizione']) && $incItem['descrizione'] !== '—' ? $incItem['descrizione'] : ''; + $movimentoBancario = trim($cassaStr . ($cassaStr !== '' && $noteStr !== '' ? ' · ' : '') . $noteStr); + } + if ($gestioneRate !== '' && str_contains($yrInc, $gestioneRate)) { + break; + } + } + } + $rateEmesseRows[] = [ - 'id' => $r['id'] ?? null, - 'data_emissione' => $r['data_emissione'] ?? '—', - 'data_scadenza' => $r['data_scadenza'] ?? '—', - 'data_pagamento' => $r['data_pagamento'] ?? '—', - 'avviso' => $r['avviso'] ?? '—', - 'gestione' => $r['gestione'] ?? '—', - 'descrizione' => $r['descrizione'] ?? '—', - 'dovuto' => $dovuto, - 'pagato' => $pagato, - 'residuo' => $residuo, + 'id' => $r['id'] ?? null, + 'data_emissione' => $r['data_emissione'] ?? '—', + 'data_scadenza' => $r['data_scadenza'] ?? '—', + 'data_pagamento' => $dtPagamento, + 'movimento_bancario' => $movimentoBancario !== '' ? $movimentoBancario : '—', + 'avviso' => $r['avviso'] ?? '—', + 'gestione' => $r['gestione'] ?? '—', + 'descrizione' => $r['descrizione'] ?? '—', + 'dovuto' => $dovuto, + 'pagato' => $pagato, + 'residuo' => $residuo, ]; $totaleDovutoRate += $dovuto; diff --git a/resources/views/filament/pages/unita-immobiliare.blade.php b/resources/views/filament/pages/unita-immobiliare.blade.php index 5587be3..2bc3435 100755 --- a/resources/views/filament/pages/unita-immobiliare.blade.php +++ b/resources/views/filament/pages/unita-immobiliare.blade.php @@ -108,136 +108,6 @@ class="rounded-lg border px-2.5 py-1 text-xs font-semibold transition {{ $this->