docs(control-tower): update CURRENT-205 with latest commit and test results

This commit is contained in:
michele 2026-09-03 16:27:14 +02:00
parent 3699d388cd
commit d0b4cf12e3

View File

@ -6,27 +6,22 @@ # CURRENT-205
## Obiettivo Completato
1. **Risoluzione Nominativi Multi-Annualità e Gestione Subentri nel Tempo**:
- Ancoraggio del contenitore stabile all'Unità fisica definita da `(cod_stabile, scala, interno)` con conservazione di tutti gli `id_cond` e `cod_cond` delle varie gestioni.
- Allineamento delle finestre temporali (`data_inizio`, `data_fine`) in `unita_anagrafica_periodo` per tutti i subentri storici dello Stabile 0013.
- Risoluzione dinamica dei nominativi nel selettore a tendina e nella scheda unità in base all'`anno_gestione` attivo (2026, 2024, 2020, ecc.).
1. **Divisione Atomica dei Recapiti Multicanale per (Condomino) e (Inquilino)**:
- Implementata la segregazione atomica dei contatti in [`UnitaImmobiliarePage.php`](file:///home/michele/netgescon-day0-backup/app/Filament/Pages/UnitaImmobiliarePage.php) con classificazione tassativa `'tipo_soggetto'` (`'condomino'` vs `'inquilino'`).
- Nella Scheda Unità (`unita-immobiliare.blade.php`), creata la doppia sotto-tabella distinta:
- 🏢 **Recapiti Condomino / Aventi Diritto** (con avatar badge, conteggio canali, quote e link diretti `mailto:` / `tel:`).
- 👤 **Recapiti Inquilino / Conduttore** (con avatar badge, conteggio canali e azioni dedicate).
- Inserita barra di selezione rapida: `[ 📊 Diviso per Soggetto ]`, `[ 🏢 Condomino (N) ]`, `[ 👤 Inquilino (N) ]` e `[ 🌐 Tutti (N) ]`.
2. **Multicanale Email Split & Recapiti Unità**:
- Splitting avanzato di email e recapiti multipli/concatenati (es. `danilo.ritzu@kiwacermet.it,tesoreria@kiwacermet.it,riccardo.mantovani@kiwacermet.it`) in righe multicanale separate con etichettatura automatica (`Principale`, `Email Tesoreria`, `Email Riccardo Mantovani`) e link diretti `mailto:` e `tel:`.
2. **Estratto Conto e Pagamenti con Evidenza Rate CF (Conguaglio Finale)**:
- Evidenziazione esplicita con badge dedicati per `[ 🏁 Conguaglio Finale (CF) ]` (`dt_empag = '31/12/99'`) e `[ 🚀 Conguaglio Iniziale ]`.
- Segregazione puntuale di saldi contabili, rate emesse e incassi tra `'C'` (Condomino/Proprietario) e `'I'` (Inquilino/Conduttore).
3. **Importazione Idempotente Protocollo Storico & Corrispondenza (`protoc_ec` / `corrisp_inviata`)**:
- Importazione SQLite e sincronizzazione da `generale_stabile.mdb` di 587 record di estratti conto protocollo e lettere tipo/circolari.
- Mappatura puntuale dei file PDF storici archiviati in `/mnt/gescon-archives/gescon/0013/E_C/`.
4. **Riorganizzazione Razionale TAB Scheda Unità Immobiliare**:
- Rimosse le tab obsolete `catasto` e `comproprietari` (dati consolidati in `riepilogo` e `nominativi`).
- Spostata la sezione "📊 Spese e Millesimi Addebitati per Gestione" (con breakdown `voc_spe`) dal tab `estratto_conto` al tab `millesimi` (Tabelle Millesimali & Spese).
- Inserita nel tab `preferenze` (📨 Comunicazioni & Protocollo) la nuova tabella del Protocollo Comunicazioni & Corrispondenza Inviata collegata ai canali di notifica ufficiali.
5. **Contabilità Casse/Banche, Parser BPM CSV & Riconciliazione Rate/Incassi**:
- Risolto errore 403 su `/admin-filament/contabilita/casse-banche/movimenti?conto_id=8` e `riepilogo` per ruolo `amministratore`.
- Implementato parser `BpmCsvParser` per il tracciato esportato Banco BPM con 375 movimenti reali importati su Conto 8.
- Riconciliazione contabile FIFO che abbina gli incassi registrati alle rate emesse evidenziando data di saldo, pagato e residuo dovuto.
3. **Rinnovamento Moderno e Completo della Blade Situazione Iniziale (`situazione-iniziale.blade.php`)**:
- Modernizzazione grafica secondo il design system NetGescon con card `rounded-xl`, badge di stato ad alta visibilità e tipografia nitida per commercialisti.
- **Tab Conguagli Apertura (`dett_tab.cons_euro`)**: caricamento e gestione dinamica dei conguagli iniziali per tutte le gestioni (`CONG.O` Ordinaria, `CONG.R` Riscaldamento, `CONG.S` Straordinarie), distinzione ruoli `C`/`I`, millesimi, importi e supporto aggiunta/modifica inline.
- **Tab Crediti e Debiti**: visualizzazione e gestione partite pregresse (`cre_deb_preced` e `operazioni.natura2`), collegamento fatture elettroniche (FE) e ritenute d'acconto (RA).
- **Tab Bilancio di Partenza**: balanced scorecard a due colonne (Attività vs Passività), dettaglio conti correnti e casse, e calcolo automatico della quadratura finanziaria (`tot_attivita`, `tot_passivita`, delta banca).
## Output del Giro Operativo
@ -34,25 +29,20 @@ ## Output del Giro Operativo
TASK_ID: task-87b64082c1
REPOSITORY: ssh://git@git.netgescon.it:2222/michele/netgescon-day0.git
BRANCH: stabilization/205-zero
COMMIT: 4c4de5e
COMMIT: 3699d38
FILE_O_AREE_TOCCATE:
- app/Console/Commands/GesconBonificaStabile0013Command.php
- app/Filament/Pages/Contabilita/CasseBancheMovimenti.php
- app/Filament/Pages/Contabilita/CasseBancheRiepilogo.php
- app/Filament/Pages/Contabilita/SituazioneIniziale.php
- app/Filament/Pages/UnitaImmobiliarePage.php
- app/Services/Contabilita/BpmCsvParser.php
- app/Services/Contabilita/MovimentiBancaImporter.php
- resources/views/filament/pages/contabilita/situazione-iniziale.blade.php
- resources/views/filament/pages/unita-immobiliare.blade.php
- skill-netgescon/ui-wireframes/utente-multi-ruolo.md
- tests/Feature/UnitaImmobiliarePageTest.php
TEST_ESEGUITI:
- ./vendor/bin/pest tests/Feature/UnitaGestioneTemporaleTest.php tests/Feature/CatastoHubDbDrivenTest.php tests/Feature/UnitaCondominoInquilinoRoleToggleTest.php tests/Feature/UnitaImmobiliarePageTest.php tests/Feature/AnagraficaUnicaCanonicaTest.php tests/Feature/BenedettoBonificaIdempotenteTest.php tests/Feature/ControlTowerPollCommandTest.php (22 passed, 131 assertions)
- ./vendor/bin/pest tests/Feature/UnitaGestioneTemporaleTest.php tests/Feature/CatastoHubDbDrivenTest.php tests/Feature/UnitaCondominoInquilinoRoleToggleTest.php tests/Feature/UnitaImmobiliarePageTest.php tests/Feature/AnagraficaUnicaCanonicaTest.php tests/Feature/BenedettoBonificaIdempotenteTest.php tests/Feature/ControlTowerPollCommandTest.php (24 passed, 139 assertions)
GATE_STATISTICS:
- UNITA_REALI_0013: 42 unità canoniche con cronistoria temporale multi-gestione.
- PROTOCOLLO_EC_0013: 587 record sincronizzati da generale_stabile.mdb con link PDF.
- MOVIMENTI_BANCARI_BPM: 375 movimenti reali importati su Conto 8.
- MULTICHANNEL_CONTACTS_TABLE: Matrice recapiti con split email individuali e badge.
- ZERO_MOCK: Dati catastali e contabili 100% DB-driven.
- RECAPITI_SOGGETTI_DIVISI: Sotto-tabelle atomiche separate per Condomino e Inquilino.
- CONGUAGLI_CF_APERTURA: Mappatura esatta Rata CF -> dett_tab.cons_euro (CONG.O, CONG.R, CONG.S).
- BLADE_SITUAZIONE_INIZIALE: UI modernizzata NetGescon con quadratura contabile e gestione straordinarie pluriennali.
- ZERO_MOCK: Dati catastali, contabili e conguagli 100% DB-driven.
BLOCCO_DATI: no
BLOCCO_CONTRATTO: no
RISCHI_APERTI: nessuno
@ -60,5 +50,5 @@ ## Output del Giro Operativo
## Prossimo Passo per .200 (Validazione)
- Eseguire il checkout del branch `stabilization/205-zero`.
- Eseguire `php artisan gescon:bonifica-stabile-0013` per convalidare la bonifica, il protocollo comunicazioni e l'allineamento temporale.
- Eseguire la suite di test Pest (22 test, 131 asserzioni).
- Eseguire i test Pest (24 passed, 139 assertions).