@extends('admin.layouts.netgescon') @section('title', 'GESCON Import • Configurazione') @section('breadcrumb') GESCON Import Configurazione @endsection @section('content')
@include('components.layout.alerts')

Configurazione GESCON Import

Percorsi sorgente e anteprima stabili rilevati

Impostazioni Sorgente

@csrf
Cartella che contiene Stabili.mdb e gli altri file MDB/CSV
Usato per elencare stabili e anni disponibili; consigliato per anteprima e scoperta archivi
Nome connessione DB Laravel per staging (se configurata in config/database.php)
Per la scoperta campi legacy multi-tabella (es. proprietari/inquilini).
Seleziona le tabelle legacy da cui proporre i campi nella UI di mapping (Unità, Soggetti, ecc.).
Assicurati che il pacchetto mdb-tools sia installato sul server per la scansione di Stabili.mdb.

Selezione Archivi / Tabelle / Colonne

@php($tplSnap = \App\Models\UserSetting::get('gescon.template_stabile_sources')) @if($tplSnap) TPL @else TPL @endif
Configurazione avanzata sorgenti MDB • Snapshot template integrato
@csrf
Archivi MDB
Tabelle
Seleziona un archivio…
Colonne
Seleziona una tabella…
Le selezioni verranno salvate e riutilizzate nelle UI di mapping (Unità, Soggetti, Tabelle, Voci)
Segment Mapping & Viste clicca per espandere/ridurre
Viste mapping disponibili: Unità Soggetti Tabelle Voci
Segment Tipo Tabelle (multi) Colonne (multi) Target Del
I segment definiscono quali tabelle/colonne condivise appaiono nelle maschere di mapping; archivi costanti non vanno ripetuti per stabile.
Mapping Universale (Sintesi) overview segmenti
Panoramica segmenti selezionati: completamento tabelle/colonne e target.
Segment Tipo Target #Tab #Col Stato Azioni
La maschera universale (in sviluppo) permetterà di mappare qualsiasi sorgente (MDB/CSV/URL) verso archivi target definiti dai segment.

Archivio Migrazioni

@if(isset($archive)) Sorgente: {!! $archive['source_registered'] ? 'registrata' : 'non registrata' !!} Record Stabili: {{ $archive['dataset_records'] }} @endif

Acquisisci gli stabili da Stabili.mdb nell'archivio locale per lavorare in modo affidabile e ripetibile. L'anteprima userà l'archivio, con fallback a file se vuoto.

@csrf
@csrf
Stato
@if(isset($hasMdbTools) && !$hasMdbTools)
mdb-tools non rilevato: l'acquisizione da MDB non sarà possibile. Usa comunque il fallback per directory.
@endif

Stabili rilevati (anteprima)

@if(isset($hasMdbTools) && !$hasMdbTools) mdbtools non rilevato @endif Riscansiona
@forelse($preview as $item) @empty @endforelse
Codice Denominazione Archivi Azioni
{{ $item['legacy_code'] }} {{ $item['denominazione'] ?? 'N/D' }} @if(!empty($item['has_generale'])) GEN @else GEN @endif @php($yc = (int)($item['years_count'] ?? 0)) @if($yc>0) ANNI {{ $yc }} @else ANNI 0 @endif
@csrf
@csrf
Nessuno stabile trovato: verifica il percorso o installa mdb-tools.

Stato import recente

@php($mappings = \App\Models\GesconImportMapping::where('user_id', auth()->id())->orderByDesc('updated_at')->limit(10)->get())
@forelse($mappings as $m) @empty @endforelse
Legacy Denominazione Stato Dry-run Sync
{{ $m->legacy_code }} {{ $m->legacy_denominazione ?? '—' }} @switch($m->status) @case('dry-run') Dry-run @break @case('synced') Sincronizzato @break @case('error') Errore @break @default In attesa @endswitch {{ optional($m->last_dry_run_at)->format('d/m/Y H:i') ?? '—' }} {{ optional($m->last_sync_at)->format('d/m/Y H:i') ?? '—' }}
Nessuna esecuzione recente
@endsection @push('styles') @endpush @push('scripts') @endpush @if(request()->query('debug')==='1')
View path: {{ __FILE__ }}
@endif