135 lines
5.7 KiB
Markdown
Executable File
135 lines
5.7 KiB
Markdown
Executable File
# NetGescon - Integrazioni Sviluppo 08/03/2026
|
|
|
|
## Obiettivo del ciclo
|
|
|
|
Allineare il flusso operativo tra ticket, fornitori/manutentori, dipendenti fornitore, letture acqua da utente finale e controlli qualita DB su unita immobiliari/nominativi.
|
|
|
|
## Modifiche implementate
|
|
|
|
### 1) Ruoli e aree applicative
|
|
|
|
- Redirect dashboard aggiornato:
|
|
- `condomino|inquilino` -> area `condomino`
|
|
- `fornitore` -> area `fornitore.tickets.index`
|
|
- Area `condomino` estesa al ruolo `inquilino`.
|
|
|
|
### 2) Ticket utente (condomino/inquilino)
|
|
|
|
- Accesso alle unita immobiliari risolto con doppia logica:
|
|
- proprieta diretta (`proprieta`)
|
|
- inquilino da anagrafica affitti (`affitti_immobili` + `rubrica_universale.email`).
|
|
- Creazione ticket con log interno in `ticket_messages`.
|
|
|
|
### 3) Letture acqua utente
|
|
|
|
- Nuovo controller: `App\\Http\\Controllers\\Condomino\\LetturaAcquaController`.
|
|
- Nuove route:
|
|
- `condomino.letture-acqua.index`
|
|
- `condomino.letture-acqua.store`
|
|
- Nuova view: `resources/views/condomino/letture-acqua/index.blade.php`.
|
|
- Funzioni principali:
|
|
- inserimento autolettura con foto
|
|
- aggancio automatico alla lettura precedente
|
|
- calcolo delta consumo (`lettura_fine - lettura_precedente`)
|
|
- tracciamento canale `portale_condomino` e `created_by`.
|
|
|
|
#### Note operative per integrazione WhatsApp (ripartenza)
|
|
|
|
- Trigger suggerito messaggistica:
|
|
- su nuova autolettura validata (`stabile_servizio_letture` appena creata)
|
|
- payload minimo: stabile, unita, data_lettura, lettura_fine, delta_consumo, link foto.
|
|
- Campi da mantenere per automazioni:
|
|
- `tipo_lettura = autolettura_utente`
|
|
- `canale = portale_condomino`
|
|
- `created_by` per tracciatura operatore/account.
|
|
- Regole funzionali consigliate per bot WhatsApp:
|
|
- se delta < 0: invio alert anomalia e richiesta conferma foto/lettura
|
|
- se delta > soglia configurabile: invio alert anomalia consumo
|
|
- in caso di esito corretto: invio ricevuta lettura all utente.
|
|
- Endpoint di partenza per evoluzione:
|
|
- `Condomino\\LetturaAcquaController@index/store`
|
|
- view: `resources/views/condomino/letture-acqua/index.blade.php`.
|
|
|
|
### 4) Nominativi/Unita in Filament
|
|
|
|
- Pagina `Condomini/NominativiStabile` estesa con:
|
|
- riferimento unita (scala/interno/piano)
|
|
- cellulare condomino
|
|
- cellulare inquilino
|
|
- Fallback domain allineato su `rubrica_ruoli` + `rubrica_universale`.
|
|
|
|
### 5) Dipendenti fornitore (nuovo modulo)
|
|
|
|
- Nuova tabella: `fornitore_dipendenti`.
|
|
- Nuovo campo intervento: `ticket_interventi.eseguito_da_dipendente_id`.
|
|
- Nuovo model: `App\\Models\\FornitoreDipendente`.
|
|
- Nuovo controller: `App\\Http\\Controllers\\Fornitore\\DipendenteController`.
|
|
- Nuove route fornitore:
|
|
- `fornitore.dipendenti.index`
|
|
- `fornitore.dipendenti.store`
|
|
- `fornitore.dipendenti.update`
|
|
- `fornitore.dipendenti.toggle`
|
|
- Nuova view: `resources/views/fornitore/dipendenti/index.blade.php`.
|
|
- Workflow intervento aggiornato:
|
|
- login via account dipendente collegato al fornitore
|
|
- valorizzazione `eseguito_da_dipendente_id` su presa in carico/completamento.
|
|
|
|
### 6) QA DB unita/nominativi
|
|
|
|
- Nuovo comando artisan: `netgescon:qa-unita-nominativi`.
|
|
- Controlli inclusi:
|
|
- unita senza storico nominativi
|
|
- mismatch `rubrica_ruoli.stabile_id` vs `unita_immobiliari.stabile_id`
|
|
- ruoli attivi senza cellulare
|
|
- possibili sovrapposizioni periodi in `unita_immobiliare_nominativi`
|
|
- visibilita anni legacy disponibili (da `gescon_import.condomin`)
|
|
- Opzione `--fix` per allineamento automatico mismatch stabile su `rubrica_ruoli`.
|
|
|
|
## Integrazione Google (stato)
|
|
|
|
- OAuth presente e funzionante a livello codice:
|
|
- `App\\Http\\Controllers\\Integrations\\GoogleOAuthController`
|
|
- Lettura/scambio dati gia presenti in widget:
|
|
- preview eventi Google Calendar
|
|
- import contatti People API su rubrica interna.
|
|
- Punto operativo: verificare credenziali per amministratore in `Scheda amministratore` e completare login OAuth una volta per ambiente.
|
|
|
|
## Correzioni import legacy e visibilita (08/03/2026 - follow-up)
|
|
|
|
- Corretto mapping sync anagrafiche da `gescon_import.condomin`:
|
|
- proprietario: fallback esplicito su `e_mail_condomino` e `cell_cond`
|
|
- inquilino: fallback esplicito su `e_mail_inquilino` e `cell_inq` anche da riga chiave.
|
|
- Backfill eseguito su stabile `0019` con:
|
|
- `php artisan gescon:auto-sync-anagrafiche --stabile=0019 --only=both --link-ruolo --apply`
|
|
- risultato: 1 inserito, 37 aggiornati.
|
|
- Caso utente verificato (`Sasso Francesca Romana`): cellulare ora presente in `rubrica_universale.telefono_cellulare` (`3294508130`).
|
|
|
|
- Aggiunto comando batch per sync simmetrica Google -> gestionale:
|
|
- `php artisan google:sync-rubrica`
|
|
- opzioni: `--admin-id`, `--max-pages`, `--dry-run`
|
|
- schedulato hourly (`:20`) in `routes/console.php`.
|
|
- Esteso widget Filament `Google Workspace` in `admin-filament` con:
|
|
- export `Rubrica NetGescon -> Google Contacts`
|
|
- quick link a ticket/fornitore locali
|
|
- preview ticket aperti per avvio test operativi.
|
|
|
|
- Migliorata discoverability dashboard admin:
|
|
- pulsante "Vedi Tutti i Ticket" ora punta a `admin.tickets.index`
|
|
- aggiunti quick link a `fornitore.tickets.index` e `fornitore.dipendenti.index`.
|
|
|
|
## Comandi consigliati post-deploy
|
|
|
|
```bash
|
|
php artisan migrate
|
|
php artisan netgescon:qa-unita-nominativi
|
|
php artisan netgescon:qa-unita-nominativi --fix
|
|
php artisan code-quality:scan --path=app,resources/views --severity=all
|
|
```
|
|
|
|
## Note di continuita per prossimo agent
|
|
|
|
- Fonte canonica per periodi occupazione: `unita_immobiliare_nominativi` (base ripartizione spese per intervallo effettivo).
|
|
- Nella UI usare sempre dati legati all'unita immobiliare e ruoli attivi a periodo.
|
|
- Per fornitori multi-operatore usare `fornitore_dipendenti` come ponte verso utenti autenticati.
|
|
- Prima di modifiche massive su import legacy, rieseguire QA unita/nominativi e salvare report in `docs/logs/`.
|