# 📊 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*
