#!/bin/bash

# Script Unificazione Documentazione NetGescon per Linux
# Data: 18/07/2025
# Scopo: Unificare tutto il materiale nella cartella docs esistente mantenendo la struttura

echo "🔧 NETGESCON - UNIFICAZIONE NELLA CARTELLA DOCS ESISTENTE"
echo "=========================================================="

BASE_DIR="$HOME/netgescon"
DOCS_MAIN="$BASE_DIR/docs"
DOCS_LARAVEL="$BASE_DIR/netgescon-laravel/docs"
DOCS_UNIFIED="$BASE_DIR/DOCS-UNIFIED"

echo ""
echo "📁 Verifica cartelle esistenti..."

# Verifica esistenza cartelle
if [ ! -d "$DOCS_MAIN" ]; then
    echo "❌ Cartella $DOCS_MAIN non trovata"
    exit 1
fi

if [ ! -d "$DOCS_LARAVEL" ]; then
    echo "❌ Cartella $DOCS_LARAVEL non trovata"
    exit 1
fi

echo "✅ Cartelle sorgente verificate"

echo ""
echo "📋 FASE 1: Creazione sottocartelle organizzative in docs/"

# Crea sottocartelle per organizzare il materiale aggiuntivo
mkdir -p "$DOCS_MAIN/00-transizione-linux"
mkdir -p "$DOCS_MAIN/01-manuali-aggiuntivi"
mkdir -p "$DOCS_MAIN/02-architettura-laravel"
mkdir -p "$DOCS_MAIN/03-scripts-automazione"
mkdir -p "$DOCS_MAIN/04-materiali-windows"
mkdir -p "$DOCS_MAIN/05-backup-unificazione"

echo "✅ Sottocartelle create in docs/"

echo ""
echo "📋 FASE 2: Copia materiali da netgescon-laravel/docs/"

echo "   📂 Architettura Laravel..."
# Copia documentazione architettura da Laravel
cp "$DOCS_LARAVEL/ARCHITETTURA_MODULARE_COMPLETATA.md" "$DOCS_MAIN/02-architettura-laravel/" 2>/dev/null && echo "     ✅ ARCHITETTURA_MODULARE_COMPLETATA.md"
cp "$DOCS_LARAVEL/RIEPILOGO_ARCHITETTURA_COMPLETATA.md" "$DOCS_MAIN/02-architettura-laravel/" 2>/dev/null && echo "     ✅ RIEPILOGO_ARCHITETTURA_COMPLETATA.md"
cp "$DOCS_LARAVEL/PROTOCOLLO_COMUNICAZIONE.md" "$DOCS_MAIN/02-architettura-laravel/" 2>/dev/null && echo "     ✅ PROTOCOLLO_COMUNICAZIONE.md"
cp "$DOCS_LARAVEL/sidebar-modulare.md" "$DOCS_MAIN/02-architettura-laravel/" 2>/dev/null && echo "     ✅ sidebar-modulare.md"

echo "   📂 Manuali aggiuntivi..."
# Copia manuali operativi da Laravel
cp "$DOCS_LARAVEL/PROCEDURA_OPERATIVA.md" "$DOCS_MAIN/01-manuali-aggiuntivi/" 2>/dev/null && echo "     ✅ PROCEDURA_OPERATIVA.md"
cp "$DOCS_LARAVEL/personalizzazione-tema.md" "$DOCS_MAIN/01-manuali-aggiuntivi/" 2>/dev/null && echo "     ✅ personalizzazione-tema.md"
cp "$DOCS_LARAVEL/miki.md" "$DOCS_MAIN/01-manuali-aggiuntivi/" 2>/dev/null && echo "     ✅ miki.md"
cp "$DOCS_LARAVEL/QUICK_REFERENCE.md" "$DOCS_MAIN/01-manuali-aggiuntivi/QUICK_REFERENCE_LARAVEL.md" 2>/dev/null && echo "     ✅ QUICK_REFERENCE_LARAVEL.md"

echo "   📂 Cartelle complete..."
# Copia cartelle complete se esistono
if [ -d "$DOCS_LARAVEL/guide" ]; then
    cp -r "$DOCS_LARAVEL/guide" "$DOCS_MAIN/02-architettura-laravel/" 2>/dev/null && echo "     ✅ Cartella guide/"
fi

if [ -d "$DOCS_LARAVEL/specifiche" ]; then
    cp -r "$DOCS_LARAVEL/specifiche" "$DOCS_MAIN/02-architettura-laravel/" 2>/dev/null && echo "     ✅ Cartella specifiche/"
fi

if [ -d "$DOCS_LARAVEL/checklist" ]; then
    cp -r "$DOCS_LARAVEL/checklist" "$DOCS_MAIN/01-manuali-aggiuntivi/" 2>/dev/null && echo "     ✅ Cartella checklist/"
fi

if [ -d "$DOCS_LARAVEL/logs" ]; then
    mkdir -p "$DOCS_MAIN/logs/logs-laravel"
    cp -r "$DOCS_LARAVEL/logs"/* "$DOCS_MAIN/logs/logs-laravel/" 2>/dev/null && echo "     ✅ Cartella logs/ (merged)"
fi

echo ""
echo "📋 FASE 3: Copia script e automazione"

echo "   📂 Script da netgescon-laravel..."
# Copia tutti gli script dalla directory Laravel
find "$BASE_DIR/netgescon-laravel" -maxdepth 1 -name "*.sh" -exec cp {} "$DOCS_MAIN/03-scripts-automazione/" \; 2>/dev/null
if [ $? -eq 0 ]; then
    echo "     ✅ Script .sh copiati"
fi

# Copia script specifici
cp "$BASE_DIR/netgescon-laravel/fix-vscode-install.sh" "$DOCS_MAIN/03-scripts-automazione/" 2>/dev/null && echo "     ✅ fix-vscode-install.sh"
ls "$BASE_DIR/netgescon-laravel/setup-"*.sh 2>/dev/null | xargs -I {} cp {} "$DOCS_MAIN/03-scripts-automazione/" 2>/dev/null && echo "     ✅ setup-*.sh"
ls "$BASE_DIR/netgescon-laravel/install-"*.sh 2>/dev/null | xargs -I {} cp {} "$DOCS_MAIN/03-scripts-automazione/" 2>/dev/null && echo "     ✅ install-*.sh"

echo ""
echo "📋 FASE 4: Integrazione materiali Windows e transizione"

# Copia l'indice master nella root docs
cp "$BASE_DIR/00-INDICE-MASTER-NETGESCON.md" "$DOCS_MAIN/" 2>/dev/null && echo "     ✅ 00-INDICE-MASTER-NETGESCON.md (in docs/)"

echo ""
echo "📋 FASE 5: Backup cartella DOCS-UNIFIED se esiste"

if [ -d "$DOCS_UNIFIED" ]; then
    echo "   📂 Backup DOCS-UNIFIED..."
    cp -r "$DOCS_UNIFIED" "$DOCS_MAIN/05-backup-unificazione/" 2>/dev/null && echo "     ✅ DOCS-UNIFIED copiata in backup"
fi

echo ""
echo "📋 FASE 6: Copia immagini e materiali visivi"

echo "   📂 Immagini e screenshot..."
# Copia le cartelle di immagini che abbiamo usato per il debug
if [ -d "$BASE_DIR/DANEA Schermate" ]; then
    mkdir -p "$DOCS_MAIN/images/danea-schermate"
    cp -r "$BASE_DIR/DANEA Schermate"/* "$DOCS_MAIN/images/danea-schermate/" 2>/dev/null && echo "     ✅ DANEA Schermate"
fi

if [ -d "$BASE_DIR/GESCON schermate" ]; then
    mkdir -p "$DOCS_MAIN/images/gescon-schermate"
    cp -r "$BASE_DIR/GESCON schermate"/* "$DOCS_MAIN/images/gescon-schermate/" 2>/dev/null && echo "     ✅ GESCON Schermate"
fi

if [ -d "$BASE_DIR/GO - Schermate" ]; then
    mkdir -p "$DOCS_MAIN/images/go-schermate"
    cp -r "$BASE_DIR/GO - Schermate"/* "$DOCS_MAIN/images/go-schermate/" 2>/dev/null && echo "     ✅ GO Schermate"
fi

if [ -d "$BASE_DIR/Schermate Ufficiali Netgescon" ]; then
    mkdir -p "$DOCS_MAIN/images/schermate-ufficiali"
    cp -r "$BASE_DIR/Schermate Ufficiali Netgescon"/* "$DOCS_MAIN/images/schermate-ufficiali/" 2>/dev/null && echo "     ✅ Schermate Ufficiali"
fi

if [ -d "$BASE_DIR/VM - Impostazioni" ]; then
    mkdir -p "$DOCS_MAIN/images/vm-setup"
    cp -r "$BASE_DIR/VM - Impostazioni"/* "$DOCS_MAIN/images/vm-setup/" 2>/dev/null && echo "     ✅ VM Impostazioni"
fi

echo ""
echo "📋 FASE 7: Creazione indice unificato per docs/"

# Crea un nuovo indice per la cartella docs unificata
cat > "$DOCS_MAIN/00-INDICE-DOCS-UNIFICATA.md" << 'EOF'
# 📚 NETGESCON - DOCUMENTAZIONE UNIFICATA
## 🧭 Indice Completo Cartella DOCS

> **🎯 DOCUMENTAZIONE PRINCIPALE** del progetto NetGescon  
> **📍 Posizione:** `~/netgescon/docs/`  
> **🔄 Aggiornato:** 18/07/2025 - Unificazione completa

---

## 📂 STRUTTURA DOCUMENTAZIONE PRINCIPALE

### 📖 **DOCUMENTAZIONE CORE** (Cartella principale)
- [`00-MANUALE-COMPLETO-NETGESCON-UNIFICATO.md`](00-MANUALE-COMPLETO-NETGESCON-UNIFICATO.md) - **Manuale principale**
- [`00-INDICE-MASTER-NETGESCON.md`](00-INDICE-MASTER-NETGESCON.md) - **Indice master progetto**
- [`04-DATABASE-STRUTTURE.md`](04-DATABASE-STRUTTURE.md) - Strutture database
- [`05-INTERFACCIA-UNIVERSALE.md`](05-INTERFACCIA-UNIVERSALE.md) - Interfaccia universale
- [`06-SISTEMA-MULTI-RUOLO.md`](06-SISTEMA-MULTI-RUOLO.md) - Sistema utenti e ruoli
- [`07-API-INTEGRAZIONI.md`](07-API-INTEGRAZIONI.md) - API e integrazioni
- [`08-FRONTEND-UX.md`](08-FRONTEND-UX.md) - Frontend e UX

### 🐧 **00-TRANSIZIONE-LINUX** - *Materiali migrazione e transizione*
- Materiali per migrazione e transizione (da integrare)

### 🛠️ **01-MANUALI-AGGIUNTIVI** - *Procedure e guide operative*
- `PROCEDURA_OPERATIVA.md` - Procedure operative standard
- `personalizzazione-tema.md` - Personalizzazione interfaccia
- `miki.md` - Note specifiche Miki
- `QUICK_REFERENCE_LARAVEL.md` - Reference rapido Laravel
- `checklist/` - Checklist operative

### 🏗️ **02-ARCHITETTURA-LARAVEL** - *Design e architettura sistema*
- `ARCHITETTURA_MODULARE_COMPLETATA.md` - **Architettura modulare**
- `RIEPILOGO_ARCHITETTURA_COMPLETATA.md` - **Riepilogo architettura**
- `PROTOCOLLO_COMUNICAZIONE.md` - Protocolli comunicazione
- `sidebar-modulare.md` - Sistema sidebar modulare
- `guide/` - Guide tecniche dettagliate
- `specifiche/` - Specifiche tecniche

### ⚙️ **03-SCRIPTS-AUTOMAZIONE** - *Script e automazione*
- `fix-vscode-install.sh` - **Fix installazione VS Code**
- `setup-*.sh` - Script setup ambiente
- `install-*.sh` - Script installazione componenti
- Altri script di automazione

### 💾 **04-MATERIALI-WINDOWS** - *Backup materiali Windows*
- Backup file temporanei Windows
- Materiali di transizione

### 📦 **05-BACKUP-UNIFICAZIONE** - *Backup processo unificazione*
- `DOCS-UNIFIED/` - Backup struttura precedente

### 🖼️ **IMAGES** - *Materiali visivi e screenshot*
- `danea-schermate/` - Screenshot DANEA
- `gescon-schermate/` - Screenshot GESCON
- `go-schermate/` - Screenshot GO
- `schermate-ufficiali/` - Screenshot ufficiali NetGescon
- `vm-setup/` - Screenshot setup VM

### 📁 **CARTELLE ESISTENTI** (Mantenute)
- `api/` - Documentazione API
- `checklists/` - Checklist implementazione
- `logs/` - Log sviluppo e sessioni
- `manuals/` - Manuali dettagliati
- `moduli/` - Documentazione moduli
- `specifications/` - Specifiche tecniche
- `team/` - Documentazione team
- `versione/` - Gestione versioni

---

## 🎯 **NAVIGAZIONE RAPIDA PER SCENARIO**

### 🆘 **EMERGENZA/TROUBLESHOOTING**
1. [`00-MANUALE-COMPLETO-NETGESCON-UNIFICATO.md`](00-MANUALE-COMPLETO-NETGESCON-UNIFICATO.md)
2. [`01-manuali-aggiuntivi/QUICK_REFERENCE_LARAVEL.md`](01-manuali-aggiuntivi/QUICK_REFERENCE_LARAVEL.md)
3. [`logs/`](logs/) - Consultare log recenti

### 🚀 **PRIMO ACCESSO/ONBOARDING**
1. [`00-INDICE-MASTER-NETGESCON.md`](00-INDICE-MASTER-NETGESCON.md)
2. [`05-INTERFACCIA-UNIVERSALE.md`](05-INTERFACCIA-UNIVERSALE.md)
3. [`02-architettura-laravel/ARCHITETTURA_MODULARE_COMPLETATA.md`](02-architettura-laravel/ARCHITETTURA_MODULARE_COMPLETATA.md)

### 🔧 **SVILUPPO E MODIFICHE**
1. [`02-architettura-laravel/ARCHITETTURA_MODULARE_COMPLETATA.md`](02-architettura-laravel/ARCHITETTURA_MODULARE_COMPLETATA.md)
2. [`04-DATABASE-STRUTTURE.md`](04-DATABASE-STRUTTURE.md)
3. [`07-API-INTEGRAZIONI.md`](07-API-INTEGRAZIONI.md)

### 🐧 **DEPLOYMENT E LINUX**
1. [`03-scripts-automazione/`](03-scripts-automazione/) - Script setup
2. [`images/vm-setup/`](images/vm-setup/) - Screenshot configurazione

---

## 📊 **VANTAGGI STRUTTURA UNIFICATA**

### ✅ **Organizzazione**
- **Tutto in una cartella** - docs/ come punto unico
- **Categorizzazione chiara** - Sottocartelle per tipo materiale
- **Backward compatibility** - Struttura esistente mantenuta
- **Facilità navigazione** - Percorsi intuitivi

### 🤖 **Per GitHub Copilot/AI**
- **Contesto completo** - Accesso a tutto il materiale
- **Struttura logica** - AI comprende organizzazione
- **Cross-reference** - Collegamenti tra documenti
- **Onboarding ottimale** - Informazioni complete

---

> **💡 NOTA IMPORTANTE**  
> Questa struttura **mantiene docs/ come standard** e **integra tutto il materiale** in modo organizzato.  
> **Un'unica cartella, tutto il materiale, navigazione chiara.**

---

**🏢 NETGESCON** - Documentazione Unificata  
**📅 Data Unificazione:** 18/07/2025  
**🎯 Standard:** docs/ come riferimento principale
EOF

echo "     ✅ 00-INDICE-DOCS-UNIFICATA.md creato"

echo ""
echo "📋 FASE 8: Creazione inventario finale"

# Conta file e statistiche
TOTAL_FILES=$(find "$DOCS_MAIN" -type f | wc -l)
TOTAL_SIZE=$(du -sh "$DOCS_MAIN" | cut -f1)

cat > "$DOCS_MAIN/INVENTARIO-UNIFICAZIONE-FINALE.md" << EOF
# 📋 INVENTARIO UNIFICAZIONE DOCUMENTAZIONE FINALE
**Data:** $(date "+%d/%m/%Y %H:%M")
**Script:** unify-docs-in-existing.sh

## 📊 STATISTICHE FINALI
- **File totali:** $TOTAL_FILES
- **Dimensione totale:** $TOTAL_SIZE
- **Cartelle aggiunte:** 6 nuove sottocartelle
- **Materiali integrati:** Laravel + Immagini

## 📂 STRUTTURA CREATA
- 📁 00-transizione-linux/ - Materiali migrazione
- 📁 01-manuali-aggiuntivi/ - Guide operative aggiuntive  
- 📁 02-architettura-laravel/ - Design sistema
- 📁 03-scripts-automazione/ - Script e tools
- 📁 04-materiali-windows/ - Backup Windows
- 📁 05-backup-unificazione/ - Backup DOCS-UNIFIED
- 📁 images/ - Screenshot e materiali visivi

## ✅ OPERAZIONI COMPLETATE
- [x] Integrazione docs Laravel
- [x] Copia script automazione
- [x] Backup materiali precedenti
- [x] Organizzazione immagini debug
- [x] Creazione indici navigazione
- [x] Mantenimento struttura esistente

## 🎯 RISULTATO
**SUCCESSO** - Tutta la documentazione è ora unificata nella cartella docs/ esistente mantenendo lo standard e aggiungendo tutto il materiale in modo organizzato.

---
*Generato da unify-docs-in-existing.sh*
EOF

echo "     ✅ INVENTARIO-UNIFICAZIONE-FINALE.md creato"

echo ""
echo "✅ UNIFICAZIONE COMPLETATA NELLA CARTELLA DOCS ESISTENTE!"
echo "📂 Tutta la documentazione è ora in: $DOCS_MAIN"
echo "📋 Indice principale: $DOCS_MAIN/00-INDICE-DOCS-UNIFICATA.md"
echo "📊 Inventario: $DOCS_MAIN/INVENTARIO-UNIFICAZIONE-FINALE.md"

echo ""
echo "📊 STATISTICHE FINALI:"
echo "📄 File totali: $TOTAL_FILES"
echo "💾 Dimensione totale: $TOTAL_SIZE"
echo "📁 Struttura mantenuta + 6 nuove sottocartelle"

echo ""
echo "🎯 VANTAGGI OTTENUTI:"
echo "   ✅ docs/ rimane lo standard principale"
echo "   ✅ Tutto il materiale integrato e organizzato"
echo "   ✅ Backward compatibility mantenuta"
echo "   ✅ Navigazione chiara e intuitiva"
echo "   ✅ Copilot avrà accesso completo"

echo ""
echo "🚀 PRONTO PER:"
echo "   - Accesso VS Code completo"
echo "   - Onboarding GitHub Copilot ottimale"
echo "   - Navigazione documentazione unificata"

echo ""
echo "Unificazione completata con successo! 🎉"
