netgescon-master/docs/archived/PIANO-IMPORTAZIONE-LEGACY.md
Pikappa2 480e7eafbd 🎯 NETGESCON - Setup iniziale repository completo
📋 Commit iniziale con:
-  Documentazione unificata in docs/
-  Codice Laravel in netgescon-laravel/
-  Script automazione in scripts/
-  Configurazione sync rsync
-  Struttura organizzata e pulita

🔄 Versione: 2025.07.19-1644
🎯 Sistema pronto per Git distribuito
2025-07-19 16:44:47 +02:00

167 lines
4.1 KiB
Markdown

# 📊 PIANO IMPORTAZIONE DATI LEGACY
## 🎯 **OBIETTIVO**
Importare e validare i dati dal gestionale esistente per testare NetGescon con dati reali
---
## 📋 **FASE 1: ANALISI DATI ESISTENTI**
### **📁 Cartelle Identificate**
```
estratti/
├── 0002/ → 0023/ # Stabili numerati
├── cartellestabili_e_anni/
├── generale_stabile/
├── parti_comuni/
├── singolo_stabile/
└── strutture/
```
### **🗃️ File Chiave**
- `report_archivio.json` → Metadati archivio
- `sample_dati_condominio.txt` → Struttura dati
- `gs.pdf` → Documentazione formato
- `Pertinenze.csv` → Dati pertinenze
---
## 🛠️ **FASE 2: SCRIPT IMPORTAZIONE**
### **1. Analisi Struttura JSON**
```php
// Comando per analizzare report_archivio.json
php artisan make:command AnalyzeImportData
```
### **2. Mapping Dati**
```php
// Struttura mapping legacy → NetGescon
$mapping = [
'stabile_legacy' => [
'denominazione' => 'nome_condominio',
'codice' => 'codice_stabile',
'indirizzo' => 'indirizzo_completo',
'amministratore' => 'dati_amministratore'
],
'condomino_legacy' => [
'nome' => 'nome_completo',
'cf' => 'codice_fiscale',
'unita' => 'unita_immobiliare'
]
];
```
### **3. Validazione Incrociata**
```php
// Controlli coerenza
- Totali condomini: Legacy vs NetGescon
- Somme rate: Legacy vs NetGescon
- Unità immobiliari: Conteggio e corrispondenza
- Millesimi: Verifica quadratura a 1000
```
---
## 📅 **CRONOGRAMMA IMPLEMENTAZIONE**
### **Giorno 1-2: Setup Base**
- ✅ Creazione command Laravel per import
- ✅ Analisi struttura file `report_archivio.json`
- ✅ Mapping preliminare campi legacy → NetGescon
- ✅ Test import primo stabile (0002 o 0008)
### **Giorno 3-4: Import Massivo**
- 📋 Import tutti gli stabili (0002-0023)
- 📋 Creazione unità immobiliari e proprietari
- 📋 Import dati finanziari di base
- 📋 Validazione totali e coerenza
### **Giorno 5-6: Testing Dashboard**
- 📋 Test navigazione AJAX con dati reali
- 📋 Verifica stats cards con contatori reali
- 📋 Test form stabili con dati esistenti
- 📋 Performance testing con volume dati reale
### **Giorno 7: Validazione Finale**
- 📋 Confronto report Legacy vs NetGescon
- 📋 Identificazione discrepanze
- 📋 Fix eventuali problemi mapping
- 📋 Documentazione risultati
---
## 🧪 **TESTING & VALIDAZIONE**
### **📊 KPI da Verificare**
```php
// Metriche critiche
$kpi = [
'stabili_totali' => 'Conteggio stabili importati',
'condomini_totali' => 'Numero totale condomini',
'unita_immobiliari' => 'Conteggio UI per stabile',
'bilanci_quadrano' => 'Somme dare/avere per stabile',
'millesimi_1000' => 'Verifica millesimi = 1000 per stabile'
];
```
### **🔍 Report Comparativo**
```
STABILE: [NOME]
├── Legacy: [N] condomini, €[X] bilancio
├── NetGescon: [N] condomini, €[X] bilancio
└── Status: ✅ OK / ❌ DISCREPANZA
```
---
## 🚀 **COMANDI ARTISAN DA CREARE**
### **1. Comando Analisi**
```bash
php artisan netgescon:analyze-import {path}
# Analizza struttura dati legacy e crea report
```
### **2. Comando Import**
```bash
php artisan netgescon:import-legacy {path} {--dry-run}
# Importa dati da cartella legacy
```
### **3. Comando Validazione**
```bash
php artisan netgescon:validate-import
# Confronta dati importati con legacy
```
### **4. Comando Cleanup**
```bash
php artisan netgescon:cleanup-import
# Pulisce dati di test per reimport
```
---
## 📁 **STRUTTURA FILE OUTPUT**
### **Report Importazione**
```
storage/app/import-reports/
├── analysis-report-[data].json
├── import-log-[data].txt
├── validation-report-[data].json
└── discrepancies-[data].csv
```
### **Backup Pre-Import**
```
storage/app/backups/
├── pre-import-backup-[data].sql
└── import-rollback-script-[data].sql
```
---
*Piano Importazione Legacy NetGescon - 15/07/2025*