netgescon-master/database/seeders/DocumentiDemoSeeder.php

279 lines
14 KiB
PHP

<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Carbon\Carbon;
class DocumentiDemoSeeder extends Seeder
{
/**
* NETGESCON SEEDER: Documenti Demo Persistenti
*
* Crea dati di esempio per la gestione documentale che non vengono
* cancellati ad ogni refresh della pagina.
*
* @author GitHub Copilot
* @date 21/07/2025
* @version 1.0.0
*/
public function run()
{
// Verifica se esistono già documenti demo per evitare duplicati
if (DB::table('documenti')->where('is_demo', true)->exists()) {
if (isset($this->command)) {
$this->command->info('Documenti demo già esistenti. Skip...');
}
return;
}
if (isset($this->command)) {
$this->command->info('Creazione documenti demo persistenti...');
}
// Ottieni primo stabile per collegamento
$stabileId = DB::table('stabili')->first()?->id ?? 1;
$documenti = [
[
'stabile_id' => $stabileId,
'nome' => 'Contratto Assicurazione Multirischi 2025',
'nome_file' => 'contratto_assicurazione_2025.pdf',
'path_file' => 'demo/contratti/assicurazione_2025.pdf',
'tipologia' => 'contratto',
'fornitore' => 'Assicurazioni Generali SpA',
'data_documento' => '2025-01-15',
'data_scadenza' => '2025-12-31',
'importo_collegato' => 2450.00,
'categoria_spesa' => 'spese_ordinarie',
'tags' => 'assicurazione,multirischi,annuale,importante',
'note' => 'Contratto assicurativo per copertura responsabilità civile e danni al fabbricato. Rinnovo automatico salvo disdetta 60gg prima.',
'numero_protocollo' => 'ASS-2025-001',
'numero_pagine' => 15,
'estensione' => 'pdf',
'contenuto_ocr' => 'CONTRATTO DI ASSICURAZIONE MULTIRISCHI FABBRICATI Contraente: Condominio Via Roma 123 Assicurato: Amministratore pro tempore Massimale RCT: €2.500.000 Franchigia: €500 Validità: 01/01/2025 - 31/12/2025',
'urgente' => false,
'is_demo' => true,
'created_at' => Carbon::now(),
'updated_at' => Carbon::now(),
],
[
'stabile_id' => $stabileId,
'nome' => 'Fattura Manutenzione Caldaia Dicembre 2024',
'nome_file' => 'fattura_caldaia_dic_2024.pdf',
'path_file' => 'demo/fatture/caldaia_dic_2024.pdf',
'tipologia' => 'fattura',
'fornitore' => 'Termoidraulica Rossi Srl',
'data_documento' => '2024-12-20',
'data_scadenza' => null,
'importo_collegato' => 385.50,
'categoria_spesa' => 'riscaldamento',
'tags' => 'caldaia,manutenzione,riscaldamento,mensile',
'note' => 'Intervento manutenzione ordinaria caldaia condominiale. Include pulizia bruciatori, controllo pressione e verifica fumi.',
'numero_protocollo' => 'MANU-2024-047',
'numero_pagine' => 3,
'estensione' => 'pdf',
'contenuto_ocr' => 'FATTURA N. 1247/2024 Termoidraulica Rossi Srl Via Industria 45 Manutenzione caldaia condominiale Controllo bruciatori €180,00 Pulizia filtri €95,50 Verifica fumi €110,00 Totale €385,50',
'urgente' => false,
'is_demo' => true,
'created_at' => Carbon::now()->subDays(30),
'updated_at' => Carbon::now()->subDays(30),
],
[
'stabile_id' => $stabileId,
'nome' => 'Preventivo Rifacimento Facciata',
'nome_file' => 'preventivo_facciata_2025.pdf',
'path_file' => 'demo/preventivi/facciata_2025.pdf',
'tipologia' => 'preventivo',
'fornitore' => 'Edil Costruzioni Moderne Srl',
'data_documento' => '2025-07-10',
'data_scadenza' => '2025-08-31',
'importo_collegato' => 45000.00,
'categoria_spesa' => 'spese_straordinarie',
'tags' => 'facciata,straordinaria,preventivo,ristrutturazione',
'note' => 'Preventivo per rifacimento completo facciata principale. Include rimozione intonaco, ripristino muratura e nuova tinteggiatura.',
'numero_protocollo' => 'PREV-2025-012',
'numero_pagine' => 8,
'estensione' => 'pdf',
'contenuto_ocr' => 'PREVENTIVO N. 2025/078 Edil Costruzioni Moderne Oggetto: Rifacimento facciata condominio Rimozione intonaco €15.000 Ripristino muratura €18.000 Tinteggiatura €12.000 Totale €45.000',
'urgente' => true,
'is_demo' => true,
'created_at' => Carbon::now()->subDays(11),
'updated_at' => Carbon::now()->subDays(11),
],
[
'stabile_id' => $stabileId,
'nome' => 'Verbale Assemblea Straordinaria Luglio 2025',
'nome_file' => 'verbale_assemblea_lug_2025.pdf',
'path_file' => 'demo/verbali/assemblea_lug_2025.pdf',
'tipologia' => 'verbale',
'fornitore' => 'Studio Amministrativo Bianchi',
'data_documento' => '2025-07-15',
'data_scadenza' => null,
'importo_collegato' => null,
'categoria_spesa' => 'amministrazione',
'tags' => 'assemblea,verbale,straordinaria,delibere',
'note' => 'Verbale assemblea straordinaria per approvazione lavori facciata e nomina nuovo amministratore.',
'numero_protocollo' => 'VERB-2025-003',
'numero_pagine' => 12,
'estensione' => 'pdf',
'contenuto_ocr' => 'VERBALE ASSEMBLEA STRAORDINARIA Data: 15/07/2025 Presenti: 85% millesimi Ordine del giorno: 1. Approvazione lavori facciata 2. Nomina amministratore Delibere: Approvati lavori facciata per €45.000',
'urgente' => false,
'is_demo' => true,
'created_at' => Carbon::now()->subDays(6),
'updated_at' => Carbon::now()->subDays(6),
],
[
'stabile_id' => $stabileId,
'nome' => 'Contratto Manutenzione Ascensore 2025-2027',
'nome_file' => 'contratto_ascensore_2025_2027.pdf',
'path_file' => 'demo/contratti/ascensore_2025_2027.pdf',
'tipologia' => 'contratto',
'fornitore' => 'Otis Servizi Srl',
'data_documento' => '2025-03-01',
'data_scadenza' => '2027-02-28',
'importo_collegato' => 180.00,
'categoria_spesa' => 'spese_ordinarie',
'tags' => 'ascensore,manutenzione,biennale,contratto',
'note' => 'Contratto biennale manutenzione ascensore. Include 6 visite programmate annue e interventi straordinari.',
'numero_protocollo' => 'MASC-2025-001',
'numero_pagine' => 6,
'estensione' => 'pdf',
'contenuto_ocr' => 'CONTRATTO MANUTENZIONE ASCENSORE Otis Servizi Srl Durata: 24 mesi Visite programmate: 6/anno Costo mensile: €180,00 Emergenze 24h incluse',
'urgente' => false,
'is_demo' => true,
'created_at' => Carbon::now()->subDays(142),
'updated_at' => Carbon::now()->subDays(142),
],
[
'stabile_id' => $stabileId,
'nome' => 'Comunicazione Aumento Tariffe Acqua',
'nome_file' => 'comunicazione_tariffe_acqua_2025.pdf',
'path_file' => 'demo/comunicazioni/tariffe_acqua_2025.pdf',
'tipologia' => 'comunicazione',
'fornitore' => 'Acquedotto Metropolitano SpA',
'data_documento' => '2025-06-30',
'data_scadenza' => null,
'importo_collegato' => null,
'categoria_spesa' => 'acqua',
'tags' => 'acqua,aumento,tariffe,comunicazione',
'note' => 'Comunicazione ufficiale aumento tariffe idriche dal 1° agosto 2025. Incremento del 3.2% sui consumi.',
'numero_protocollo' => 'COM-2025-018',
'numero_pagine' => 2,
'estensione' => 'pdf',
'contenuto_ocr' => 'COMUNICAZIONE TARIFFARIA Acquedotto Metropolitano SpA Dal 01/08/2025 nuove tariffe: Fascia base: €1,89/mc Fascia alta: €2,34/mc Incremento medio: 3,2%',
'urgente' => true,
'is_demo' => true,
'created_at' => Carbon::now()->subDays(21),
'updated_at' => Carbon::now()->subDays(21),
],
[
'stabile_id' => $stabileId,
'nome' => 'Relazione Tecnica Verifica Impianto Elettrico',
'nome_file' => 'relazione_verifica_elettrico_2025.pdf',
'path_file' => 'demo/relazioni/verifica_elettrico_2025.pdf',
'tipologia' => 'relazione_tecnica',
'fornitore' => 'Ing. Marco Elettrici',
'data_documento' => '2025-05-20',
'data_scadenza' => '2030-05-20',
'importo_collegato' => 850.00,
'categoria_spesa' => 'manutenzione',
'tags' => 'elettrico,verifica,sicurezza,quinquennale',
'note' => 'Verifica quinquennale impianto elettrico condominiale secondo DPR 462/01. Esito positivo.',
'numero_protocollo' => 'REL-2025-005',
'numero_pagine' => 25,
'estensione' => 'pdf',
'contenuto_ocr' => 'RELAZIONE TECNICA VERIFICA IMPIANTO ELETTRICO Ing. Marco Elettrici N. Pratica: VE/2025/0089 Impianto conforme DM 37/08 Messa a terra: OK Differenziali: OK Prossima verifica: 2030',
'urgente' => false,
'is_demo' => true,
'created_at' => Carbon::now()->subDays(62),
'updated_at' => Carbon::now()->subDays(62),
],
[
'stabile_id' => $stabileId,
'nome' => 'Libretto Manutenzione Porta Automatica',
'nome_file' => 'libretto_porta_automatica.pdf',
'path_file' => 'demo/libretti/porta_automatica.pdf',
'tipologia' => 'altro',
'fornitore' => 'Automatismi Sicuri Srl',
'data_documento' => '2024-11-15',
'data_scadenza' => null,
'importo_collegato' => null,
'categoria_spesa' => 'manutenzione',
'tags' => 'porta,automatica,libretto,manutenzione',
'note' => 'Libretto uso e manutenzione porta automatica ingresso principale. Contiene schemi tecnici e programma interventi.',
'numero_protocollo' => 'LIB-2024-003',
'numero_pagine' => 18,
'estensione' => 'pdf',
'contenuto_ocr' => 'LIBRETTO USO E MANUTENZIONE Automatismi Sicuri Modello: AS-2000 Serie: 20241115 Controlli mensili: verificare fotocellule Controlli semestrali: lubrificare guide',
'urgente' => false,
'is_demo' => true,
'created_at' => Carbon::now()->subDays(248),
'updated_at' => Carbon::now()->subDays(248),
]
];
// Inserisci documenti in batch per performance
DB::table('documenti')->insert($documenti);
if (isset($this->command)) {
$this->command->info('✅ Creati ' . count($documenti) . ' documenti demo persistenti');
}
// Crea alcune etichette demo
$this->createEtichetteDemoPrint();
}
/**
* Crea dati demo per stampa etichette protocollo
*/
private function createEtichetteDemoPrint()
{
$etichette = [
[
'numero_protocollo' => 'ASS-2025-001',
'tipologia' => 'ASSICURAZIONE',
'data_protocollo' => '2025-01-15',
'descrizione_breve' => 'Contratto Multirischi 2025',
'numero_pagine' => 15,
'scadenza' => '2025-12-31',
'created_at' => Carbon::now(),
'updated_at' => Carbon::now(),
],
[
'numero_protocollo' => 'PREV-2025-012',
'tipologia' => 'PREVENTIVO',
'data_protocollo' => '2025-07-10',
'descrizione_breve' => 'Rifacimento Facciata',
'numero_pagine' => 8,
'scadenza' => '2025-08-31',
'created_at' => Carbon::now(),
'updated_at' => Carbon::now(),
],
[
'numero_protocollo' => 'VERB-2025-003',
'tipologia' => 'VERBALE',
'data_protocollo' => '2025-07-15',
'descrizione_breve' => 'Assemblea Straordinaria',
'numero_pagine' => 12,
'scadenza' => null,
'created_at' => Carbon::now(),
'updated_at' => Carbon::now(),
]
];
// Se la tabella etichette esiste, inserisci i dati
if (DB::getSchemaBuilder()->hasTable('etichette_protocollo')) {
DB::table('etichette_protocollo')->insert($etichette);
if (isset($this->command)) {
$this->command->info('✅ Creati ' . count($etichette) . ' template etichette protocollo');
}
} else {
if (isset($this->command)) {
$this->command->info('⚠️ Tabella etichette_protocollo non trovata. Skip creazione etichette.');
}
}
}
}