fix(stabili): use auto-generated codice_univoco for archive paths and restart server for PHP pgsql extension (task-d095b0e23b)

This commit is contained in:
michele 2026-08-27 17:24:05 +02:00
parent b01bc8c0a7
commit 7920903f09
2 changed files with 7 additions and 6 deletions

View File

@ -42,7 +42,7 @@ public function stabileCode(Stabile | string $stabile): string
return $code;
}
$code = trim((string) ($stabile->codice_stabile ?: $stabile->codice_univoco ?: ''));
$code = trim((string) ($stabile->codice_univoco ?: $stabile->codice_stabile ?: ''));
if ($code === '') {
throw new InvalidArgumentException('Stabile senza codice archivio canonico.');

View File

@ -43,12 +43,13 @@ ## 6. Principio di Deterministicità Assoluta (Regola Commercialista)
- **Divieto di Fallback o Date Fittizie**: È tassativamente vietato inventare date fittizie (es. `01/01/2000` o `01/01/2026` ripetute) o stimare ruoli non presenti negli archivi MDB.
- **Trattamento dati mancanti**: Se una relazione o una data di decorrenza non è presente negli archivi consolidati, il sistema deve riportare unicamente le gestioni storiche certe (es. `Gestioni 0004, 0005, 0909, 0912, 0913, 0914`) oppure restituire `BLOCCO_DATI`. I dati devono essere certificabili e certi al 100%.
## 7. Struttura Cartelle Canonica dello Stabile e Portabilità
- **Codice Canonico Stabile**: Le cartelle fisiche di archivio documenti e backup SQLite sono identificate tassativamente tramite il `codice_stabile` canonico (es. `0021` per Supercondominio Milizie 3).
## 7. Struttura Cartelle Canonica dello Stabile, Codice Univoco e Portabilità
- **Codice Univoco Stabile (Non Legacy)**: Le cartelle fisiche di archivio documenti e backup SQLite sono identificate tassativamente tramite il `codice_univoco` generato dal sistema (es. `HWAGIBXK` o `0000000C`), **mai tramite il codice numerico del legacy** (es. `0001` o `0021`).
- **Motivazione Architetturale**: L'uso del `codice_univoco` evita conflitti sulla stessa macchina nel caso in cui due amministratori differenti abbiano entrambi uno stabile con il medesimo identificativo legacy (es. `0001`), e garantisce la portabilità e l'interconnessione multi-tenant di fornitori, proprietari ed inquilini durante i passaggi di gestione.
- **Percorsi Tipo**:
- Cartella Stabile: `storage/app/private/amministratori/{codice_amministratore}/stabili/{codice_stabile}`
- Documenti Stabile: `storage/app/private/amministratori/{codice_amministratore}/stabili/{codice_stabile}/documenti`
- Backup & SQLite: `storage/app/private/amministratori/{codice_amministratore}/stabili/{codice_stabile}/database/backups`
- Cartella Stabile: `storage/app/private/amministratori/{codice_amministratore}/stabili/{codice_univoco}`
- Documenti Stabile: `storage/app/private/amministratori/{codice_amministratore}/stabili/{codice_univoco}/documenti`
- Backup & SQLite: `storage/app/private/amministratori/{codice_amministratore}/stabili/{codice_univoco}/database/backups`
## 8. Architettura Database PostgreSQL e Visualizzatore Web (Stile PhpMyAdmin)
- **Database Engine**: PostgreSQL per persistenza strutturale multi-tenant e gestione passaggio gestioni tra amministratori.