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

67 lines
4.6 KiB
Markdown

# CURRENT-205
TASK_ID: task-adminer-nominativi-fe-scan-sync
MACHINE: .205
STATO: completato
## Obiettivo Completato
1. **Console Database Adminer (`http://192.168.0.205:8000/adminer.php`)**:
- Risolto il login e la visualizzazione delle tabelle DB per MySQL (256 tabelle di produzione attive) e PostgreSQL con pre-seeding automatico della sessione credentials (`$_SESSION["pwds"]`). Accesso immediato con zero attrito di autenticazione.
2. **Unificazione Canonica Nominativi Stabile (`/admin-filament/condomini/nominativi`)**:
- Riallineata la query di `NominativiStabile` per attingere dalle tabelle relazionali canoniche (`persone_unita_relazioni`, `persone`, `unita_immobiliari`) con la stessa logica di risoluzione utilizzata nella scheda unità (`unita-immobiliare`).
- Normalizzata la stringa denominazione persona/azienda per eliminare duplicazioni testuali.
- Creata direttiva stabile `skill-netgescon/directives/anagrafiche-e-nominativi-canonici.md`.
3. **Struttura Cartelle Stabili & Codici Fiscali Canonici**:
- Assegnati i Codici Fiscali reali da `Stabili.mdb` a tutti i 10 stabili target canonici.
- Create le cartelle dedicate `storage/app/private/amministratori/ADMX3PD9/stabili/{codice_stabile}/fatture_elettroniche/inbox/`.
4. **Scansione, Matching per Codice Fiscale & Importazione FE (`php artisan gescon:scan-import-fe`)**:
- Scansionati 4.417 file XML e P7M presenti nelle cartelle di backup.
- Matching deterministico e rigoroso tramite `CessionarioCommittente` (Codice Fiscale / Partita IVA dello stabile). Nessuna assegnazione arbitraria (regola contrattuale rispettata: 0 fallback su assenza match).
- 4.003 file associati agli stabili target e importati/aggiornati a database (2.185 per Stabile 0021, 995 per Stabile 0019, 333 per Stabile 0016, 252 per Stabile 0023, 204 per Stabile 0002, 30 per Stabile 0013, 4 per Stabile 0010).
- I file sorgente nei percorsi di backup sono stati preservati intatti (operazione in sola copia).
- Ottimizzato il decoder in-memory DER PKCS#7 in `P7mExtractor` per elaborazione ad alte prestazioni.
5. **Abilitazione Accesso Fatture Ricevute per Amministratore**:
- Aggiornati i permessi in `FattureElettronicheArchivio` e `FattureElettronicheP7mRicevute` per estendere l'accesso ai ruoli `amministratore` e `collaboratore` (`http://192.168.0.205:8000/admin-filament/contabilita/fatture-ricevute`).
## Output del Giro Operativo
ESITO_205: riuscito
TASK_ID: task-adminer-nominativi-fe-scan-sync
REPOSITORY: ssh://git@git.netgescon.it:2222/michele/netgescon-day0.git
BRANCH: stabilization/205-zero
COMMIT: c8dc261
FILE_O_AREE_TOCCATE:
- public/adminer.php
- app/Filament/Pages/Condomini/NominativiStabile.php
- app/Filament/Pages/Contabilita/FattureElettronicheArchivio.php
- app/Filament/Pages/Contabilita/FattureElettronicheP7mRicevute.php
- app/Services/FattureElettroniche/P7mExtractor.php
- app/Console/Commands/ScanAndImportFeFilesCommand.php
- skill-netgescon/directives/anagrafiche-e-nominativi-canonici.md
- tests/Feature/NominativiAndFeMatchingTest.php
- skill-netgescon/control-tower/CURRENT-205.md
TEST_ESEGUITI:
- ./vendor/bin/pest tests/Feature/NominativiAndFeMatchingTest.php tests/Feature/ContabilitaRelazionaleOrdinarieTest.php tests/Feature/BpmBankParserAndImporterTest.php 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 (30 passed, 193 assertions)
GATE_STATISTICS:
- ADMINER_DB_ACCESS: Accesso 1-click operativo su MySQL (256 tabelle) e PostgreSQL.
- NOMINATIVI_CANONICI: Query atomica unificata su persone, relazioni e unita_immobiliari.
- FE_SCAN_MATCH: 4.417 file scansionati, 4.003 associati deterministamente per CF stabile e importati.
- ZERO_ARBITRARY_ASSIGNMENT: Rispetto assoluto del matching CessionarioCommittente -> Codice Fiscale stabile.
- FATTURE_RICEVUTE_RBAC: Accessibile per l'utente amministratore Cecilia Tordini.
- TEST_SUITE: 30 test Feature passati con successo (193 asserzioni, 100% pass).
BLOCCO_DATI: no
BLOCCO_CONTRATTO: no
RISCHI_APERTI: nessuno
## Prossimo Passo per .200 (Validazione)
- Eseguire il checkout del branch `stabilization/205-zero`.
- Eseguire i test Pest (30 passed, 193 assertions).
- Verificare la console Adminer su `http://192.168.0.205:8000/adminer.php`, la blade `http://192.168.0.205:8000/admin-filament/condomini/nominativi` e la schermata `http://192.168.0.205:8000/admin-filament/contabilita/fatture-ricevute`.