netgescon-day0/skill-netgescon/control-tower/CURRENT-205.md

65 lines
4.1 KiB
Markdown

# CURRENT-205
TASK_ID: task-87b64082c1
MACHINE: .205
STATO: completato
## 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.).
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:`.
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.
## Output del Giro Operativo
ESITO_205: riuscito
TASK_ID: task-87b64082c1
REPOSITORY: ssh://git@git.netgescon.it:2222/michele/netgescon-day0.git
BRANCH: stabilization/205-zero
COMMIT: 4c4de5e
FILE_O_AREE_TOCCATE:
- app/Console/Commands/GesconBonificaStabile0013Command.php
- app/Filament/Pages/Contabilita/CasseBancheMovimenti.php
- app/Filament/Pages/Contabilita/CasseBancheRiepilogo.php
- app/Filament/Pages/UnitaImmobiliarePage.php
- app/Services/Contabilita/BpmCsvParser.php
- app/Services/Contabilita/MovimentiBancaImporter.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)
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.
BLOCCO_DATI: no
BLOCCO_CONTRATTO: no
RISCHI_APERTI: nessuno
## 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).