@@ -56,17 +56,17 @@ public function getAvailableFields()
5656 [
5757 'field ' => 'partita_iva ' ,
5858 'label ' => 'Partita IVA cliente ' ,
59- 'required ' => false , // Se non trova corrispondenza, verrà creata una nuova anagrafica
59+ 'required ' => false ,
6060 ],
6161 [
6262 'field ' => 'codice_fiscale ' ,
6363 'label ' => 'Codice Fiscale cliente ' ,
64- 'required ' => false , // Se non trova corrispondenza, verrà creata una nuova anagrafica
64+ 'required ' => false ,
6565 ],
6666 [
6767 'field ' => 'ragione_sociale ' ,
6868 'label ' => 'Ragione Sociale cliente ' ,
69- 'required ' => false , // Se non trova corrispondenza, verrà creata una nuova anagrafica
69+ 'required ' => false ,
7070 ],
7171 [
7272 'field ' => 'data ' ,
@@ -132,17 +132,6 @@ public function getAvailableFields()
132132 ];
133133 }
134134
135- /**
136- * Procedura di inizializzazione per l'importazione.
137- * Può essere utilizzata per preparare il database prima dell'importazione.
138- *
139- * @return void
140- */
141- public function init ()
142- {
143- // Nessuna operazione di inizializzazione necessaria per gli interventi
144- }
145-
146135 /**
147136 * Importa un record nel database.
148137 *
@@ -170,14 +159,12 @@ public function import($record, $update_record = true, $add_record = true)
170159 return false ;
171160 }
172161
173- // Nota: Non è più necessario verificare la presenza di partita IVA, codice fiscale o ragione sociale
174- // perché se non vengono trovate corrispondenze, verrà creata automaticamente una nuova anagrafica
175162
176163 // Ricerca dell'anagrafica cliente
177164 $ anagrafica = $ this ->trovaAnagrafica ($ record );
178165 if (empty ($ anagrafica )) {
179166 error_log ('Impossibile trovare o creare anagrafica per il record: ' .json_encode ($ record ));
180- return false ; // Non è possibile procedere senza un'anagrafica cliente
167+ return false ;
181168 }
182169
183170 // Ricerca dell'impianto se specificato
@@ -229,6 +216,9 @@ public function import($record, $update_record = true, $add_record = true)
229216 // Aggiorna i campi dell'intervento
230217 $ this ->aggiornaIntervento ($ intervento , $ record );
231218
219+ // Imposta la sede di partenza a 0 (sede legale di default)
220+ $ intervento ->idsede_partenza = 0 ;
221+
232222 // Collega l'impianto all'intervento se specificato
233223 if (!empty ($ impianto )) {
234224 $ this ->collegaImpianto ($ intervento , $ impianto );
@@ -261,9 +251,9 @@ public static function getExample()
261251 {
262252 return [
263253 ['Codice ' , 'Partita IVA Cliente ' , 'Codice Fiscale Cliente ' , 'Ragione Sociale Cliente ' , 'Data ' , 'Data richiesta ' , 'Ora inizio ' , 'Ora fine ' , 'Tecnico ' , 'Tipo ' , 'Note ' , 'Impianto ' , 'Richiesta ' , 'Descrizione ' , 'Stato ' , 'Descrizione riga ' , 'Imponibile riga ' , 'Aliquota IVA (%) ' ],
264- ['00001/2024 ' , '123456789 ' , '123456789 ' , 'Acme S.r.l. ' , '07/11/2024 ' , '03/11 /2025 ' , '8 :30 ' , '9 :30 ' , 'Stefano Bianchi ' , '' , '' , '12345-85A22 ' , 'Manutenzione ordinaria ' , 'eseguito intervento di manutenzione ' , 'Da programmare ' , 'Servizio di manutenzione ' , '100.00 ' , '22 ' ],
265- ['0002/2024 ' , '' , '' , 'Beta Company S.p.A. ' , '08/11/2024 ' , '04/11 /2025 ' , '11:20 ' , '' , 'Stefano Bianchi ' , '' , '' , '12345-85B23 ' , 'Manutenzione ordinaria ' , 'eseguito intervento di manutenzione ' , '' , 'Controllo impianto ' , '150.00 ' , '22 ' ],
266- ['0003/2024 ' , '' , '' , '' , '09/11/2024 ' , '05/11 /2025 ' , '14:00 ' , '15:00 ' , 'Stefano Bianchi ' , '' , '' , '' , 'Intervento urgente ' , 'riparazione guasto ' , 'Completato ' , 'Riparazione urgente ' , '200.00 ' , '22 ' ],
254+ ['0001/2025 ' , '12345678901 ' , 'RSSMRA80A01H501Z ' , 'Acme S.r.l. ' , '15/01/2025 ' , '10/01 /2025 ' , '08 :30 ' , '09 :30 ' , 'Mario Rossi ' , 'GEN ' , 'Intervento programmato ' , 'IMP001 ' , 'Manutenzione ordinaria ' , 'Eseguito intervento di manutenzione programmata ' , 'Completato ' , 'Servizio di manutenzione ' , '100.00 ' , '22 ' ],
255+ ['0002/2025 ' , '98765432109 ' , 'VRDLGU75B15F205X ' , 'Beta Company S.p.A. ' , '20/01/2025 ' , '18/01 /2025 ' , '10:00 ' , '12:00 ' , 'Mario Rossi ' , 'GEN ' , 'Cliente molto soddisfatto ' , 'IMP002 ' , 'Controllo impianto ' , 'Eseguito controllo periodico impianto ' , 'Completato ' , 'Controllo impianto ' , '150.00 ' , '22 ' ],
256+ ['0003/2025 ' , '11223344556 ' , 'BNCNNA85C20G273Y ' , 'Gamma S.n.c. ' , '25/01/2025 ' , '25/01 /2025 ' , '14:00 ' , '15:30 ' , 'Mario Rossi ' , 'GEN ' , 'Intervento urgente risolto ' , 'IMP003 ' , 'Riparazione guasto ' , 'Riparato guasto elettrico ' , 'Completato ' , 'Riparazione urgente ' , '200.00 ' , '22 ' ],
267257 ];
268258 }
269259
@@ -512,8 +502,10 @@ protected function creaAnagrafica($record)
512502 return null ;
513503 }
514504
515- // Crea la nuova anagrafica
516- $ anagrafica = Anagrafica::build ($ ragione_sociale );
505+ $ tipo_cliente = TipoAnagrafica::where ('name ' , 'Cliente ' )->first ();
506+ $ tipologie = !empty ($ tipo_cliente ) ? [$ tipo_cliente ->id ] : [];
507+
508+ $ anagrafica = Anagrafica::build ($ ragione_sociale , '' , '' , $ tipologie );
517509
518510 // Imposta partita IVA se presente
519511 if (!empty ($ record ['partita_iva ' ])) {
@@ -530,14 +522,8 @@ protected function creaAnagrafica($record)
530522 $ anagrafica ->telefono = '000000000 ' ; // Telefono fittizio per soddisfare i vincoli
531523 }
532524
533- // Assegna il tipo "Cliente" all'anagrafica
534- $ tipo_cliente = TipoAnagrafica::where ('name ' , 'Cliente ' )->first ();
535- if (!empty ($ tipo_cliente )) {
536- $ anagrafica ->tipologie = [$ tipo_cliente ->id ];
537- }
538-
539- // Salva l'anagrafica
540525 $ anagrafica ->save ();
526+ $ anagrafica ->refresh ();
541527
542528 error_log ('Anagrafica creata con successo: ID ' .$ anagrafica ->id .', Ragione sociale: ' .$ ragione_sociale );
543529
0 commit comments