89 lines
7.1 KiB
PHP
89 lines
7.1 KiB
PHP
@php
|
|
$selectedLabel = data_get($stabiliOptions ?? [], data_get($preview, 'stabile_code', ''), data_get($preview, 'stabile_code', ''));
|
|
@endphp
|
|
|
|
<div class="space-y-4">
|
|
<div class="rounded-xl border border-emerald-200 bg-emerald-50 p-4 text-sm text-emerald-900">
|
|
Se importi `unità`, `soggetti` o `diritti`, la pagina ora lancia anche il re-sync di anagrafiche, ruoli rubrica e bonifica recapiti/contatti collegati allo stabile selezionato.
|
|
</div>
|
|
|
|
<div class="rounded-xl border border-slate-200 bg-white p-4">
|
|
<div class="flex flex-wrap items-start justify-between gap-3">
|
|
<div>
|
|
<div class="text-sm font-semibold text-slate-900">Azioni operative</div>
|
|
<div class="mt-1 text-xs text-slate-600">Prima esegui i pulsanti di preparazione, poi il flusso di import, infine gli eventuali riallineamenti.</div>
|
|
</div>
|
|
<div class="text-xs text-slate-600">Stabile attuale: <span class="font-semibold text-slate-900">{{ $selectedLabel !== '' ? $selectedLabel : 'nessuno' }}</span></div>
|
|
</div>
|
|
|
|
<div class="mt-4 flex flex-wrap gap-2">
|
|
<x-filament::button type="button" size="sm" wire:click="loadStabili">Carica elenco stabili</x-filament::button>
|
|
<x-filament::button type="button" size="sm" color="gray" wire:click="caricaAnniDaGenerale" :disabled="empty($stabiliOptions) || blank(data_get($data ?? [], 'stabile_code'))">Carica anni</x-filament::button>
|
|
<x-filament::button type="button" size="sm" color="success" wire:click="creaStabileDaMdb" :disabled="empty($stabiliOptions) || blank(data_get($data ?? [], 'stabile_code'))">Crea / apri stabile</x-filament::button>
|
|
<x-filament::button type="button" size="sm" color="gray" wire:click="eseguiImportSelezionato" :disabled="empty($stabiliOptions) || blank(data_get($data ?? [], 'stabile_code'))">Importa dati selezionati</x-filament::button>
|
|
<x-filament::button type="button" size="sm" color="primary" wire:click="eseguiImportAllineamentoCompleto" :disabled="empty($stabiliOptions) || blank(data_get($data ?? [], 'stabile_code'))">Import + allineamento</x-filament::button>
|
|
<x-filament::button type="button" size="sm" color="info" wire:click="aggiornaFornitoriGescon" :disabled="blank(data_get($data ?? [], 'path_root'))">Aggiorna fornitori</x-filament::button>
|
|
<x-filament::button type="button" size="sm" color="warning" wire:click="risincronizzaRelazioniImportate" :disabled="empty($stabiliOptions) || blank(data_get($data ?? [], 'stabile_code'))">Risincronizza relazioni</x-filament::button>
|
|
<x-filament::button type="button" size="sm" color="info" wire:click="aggiornaAnagraficheDaCondomin" :disabled="empty($stabiliOptions) || blank(data_get($data ?? [], 'stabile_code'))">Sync anagrafiche</x-filament::button>
|
|
<x-filament::button type="button" size="sm" color="warning" wire:click="refreshImportTagLegacyFornitoriGlobale" :disabled="blank(data_get($data ?? [], 'path_root'))">Refresh TAG fornitori</x-filament::button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid gap-4 xl:grid-cols-3">
|
|
<div class="rounded-xl border border-slate-200 bg-white p-4">
|
|
<div class="text-sm font-semibold text-slate-900">1. Setup archivio</div>
|
|
<div class="mt-2 text-xs text-slate-600">Carica elenco stabili, recupera gli anni dalla base generale e crea o riapri lo stabile locale prima dell'import vero e proprio.</div>
|
|
</div>
|
|
|
|
<div class="rounded-xl border border-slate-200 bg-white p-4">
|
|
<div class="text-sm font-semibold text-slate-900">2. Import / aggiornamento</div>
|
|
<div class="mt-2 text-xs text-slate-600">Usa Import + allineamento come flusso principale. Importa dati selezionati resta utile solo per slice mirate o recuperi puntuali.</div>
|
|
</div>
|
|
|
|
<div class="rounded-xl border border-slate-200 bg-white p-4">
|
|
<div class="text-sm font-semibold text-slate-900">3. Re-sync relazioni</div>
|
|
<div class="mt-2 text-xs text-slate-600">Serve quando i dati locali esistono già e vuoi riallineare rubrica, ruoli, recapiti e tag fornitori senza rilanciare l'intero import.</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid gap-4 xl:grid-cols-2">
|
|
<div class="rounded-xl border border-slate-200 bg-white p-4">
|
|
<div class="text-sm font-semibold text-slate-900">Comandi pronti</div>
|
|
<div class="mt-3 space-y-3 text-xs text-slate-600">
|
|
<div>
|
|
<div class="mb-1 font-semibold uppercase tracking-wide text-slate-500">Flusso principale</div>
|
|
<pre class="overflow-x-auto rounded-lg bg-slate-900 p-3 text-xs text-slate-100">{{ data_get($preview, 'commands.allineamento', 'Seleziona stabile e anni per generare il comando.') }}</pre>
|
|
</div>
|
|
<div>
|
|
<div class="mb-1 font-semibold uppercase tracking-wide text-slate-500">Fornitori</div>
|
|
<pre class="overflow-x-auto rounded-lg bg-slate-900 p-3 text-xs text-slate-100">{{ data_get($preview, 'commands.fornitori_sync', 'Seleziona amministratore e Fornitori.mdb per generare il comando.') }}</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="rounded-xl border border-slate-200 bg-white p-4">
|
|
<div class="text-sm font-semibold text-slate-900">Relazioni e riallineamento</div>
|
|
<div class="mt-3 space-y-3 text-xs text-slate-600">
|
|
<div>
|
|
<div class="mb-1 font-semibold uppercase tracking-wide text-slate-500">Sync anagrafiche</div>
|
|
<pre class="overflow-x-auto rounded-lg bg-slate-900 p-3 text-xs text-slate-100">{{ data_get($preview, 'commands.anagrafiche_sync', 'Seleziona uno stabile per generare il comando.') }}</pre>
|
|
</div>
|
|
<div>
|
|
<div class="mb-1 font-semibold uppercase tracking-wide text-slate-500">Sync ruoli / repair contatti</div>
|
|
<pre class="overflow-x-auto rounded-lg bg-slate-900 p-3 text-xs text-slate-100">{{ data_get($preview, 'commands.ruoli_sync', 'Crea o apri prima lo stabile locale per ottenere lo stabile_id.') }}
|
|
|
|
{{ data_get($preview, 'commands.repair_contacts', 'Seleziona uno stabile per generare il comando.') }}</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="rounded-xl border border-slate-200 bg-slate-50 p-4">
|
|
<div class="text-sm font-semibold text-slate-900">Import modulare</div>
|
|
<div class="mt-3 grid gap-3 xl:grid-cols-3">
|
|
<pre class="overflow-x-auto rounded-lg bg-slate-900 p-3 text-xs text-slate-100">{{ data_get($preview, 'commands.unita', 'Serve stabile + anno legacy per generare il comando.') }}</pre>
|
|
<pre class="overflow-x-auto rounded-lg bg-slate-900 p-3 text-xs text-slate-100">{{ data_get($preview, 'commands.soggetti', 'Serve stabile + anno legacy per generare il comando.') }}</pre>
|
|
<pre class="overflow-x-auto rounded-lg bg-slate-900 p-3 text-xs text-slate-100">{{ data_get($preview, 'commands.diritti', 'Serve stabile + anno legacy per generare il comando.') }}</pre>
|
|
</div>
|
|
</div>
|
|
</div> |