diff --git a/plugins/importFE/generate.php b/plugins/importFE/generate.php index d2bec2936..345352106 100755 --- a/plugins/importFE/generate.php +++ b/plugins/importFE/generate.php @@ -146,7 +146,7 @@ echo '

'.$ragione_sociale.' - '.(empty($anagrafica) ? ''.tr('Nuova anagrafica').'' : ''.Modules::link('Anagrafiche', $anagrafica->id, '', null, '')).'
+ '.(empty($anagrafica) ? ''.tr('Nuova anagrafica').'' : ''.Modules::link('Anagrafiche', $anagrafica->id, '', null, '').'').'
'.(!empty($codice_fiscale) ? (tr('Codice Fiscale').': '.$codice_fiscale.'
') : '').' diff --git a/plugins/importFE/src/FatturaElettronica.php b/plugins/importFE/src/FatturaElettronica.php index 265f2c51b..49d065356 100755 --- a/plugins/importFE/src/FatturaElettronica.php +++ b/plugins/importFE/src/FatturaElettronica.php @@ -213,13 +213,44 @@ class FatturaElettronica if (!empty($info['partita_iva']) && !empty($info['codice_fiscale'])) { $anagrafica->where('piva', $info['partita_iva']) - ->orWhere('codice_fiscale', $info['codice_fiscale']); + ->orWhere('codice_fiscale', $info['codice_fiscale']) + ->orWhere('piva', 'like', '__'.$info['partita_iva']) + ->orwhere('codice_fiscale', 'like', '__'.$info['codice_fiscale']); } elseif (!empty($info['codice_fiscale'])) { - $anagrafica->where('codice_fiscale', $info['codice_fiscale']); + $anagrafica->where('codice_fiscale', $info['codice_fiscale']) + ->orWhere('codice_fiscale', 'like', '__'.$info['codice_fiscale']); } elseif (!empty($info['partita_iva'])) { - $anagrafica->where('piva', $info['partita_iva']); + $anagrafica->where('piva', $info['partita_iva']) + ->orWhere('piva', 'like', '__'.$info['partita_iva']); } + //Se non trovo l'anagrafica tra i fornitori, provo a ricercarla anche tra i clienti + if (empty($anagrafica->first())){ + + $type = 'Cliente'; + + $tipologia = TipoAnagrafica::where('descrizione', $type)->first(); + + $anagrafica = Anagrafica::whereHas('tipi', function ($query) use ($tipologia) { + $query->where('an_tipianagrafiche.idtipoanagrafica', '=', $tipologia->id); + }); + + if (!empty($info['partita_iva']) && !empty($info['codice_fiscale'])) { + $anagrafica->where('piva', $info['partita_iva']) + ->orWhere('codice_fiscale', $info['codice_fiscale']) + ->orWhere('piva', 'like', '__'.$info['partita_iva']) + ->orwhere('codice_fiscale', 'like', '__'.$info['codice_fiscale']); + } elseif (!empty($info['codice_fiscale'])) { + $anagrafica->where('codice_fiscale', $info['codice_fiscale']) + ->orWhere('codice_fiscale', 'like', '__'.$info['codice_fiscale']); + } elseif (!empty($info['partita_iva'])) { + $anagrafica->where('piva', $info['partita_iva']) + ->orWhere('piva', 'like', '__'.$info['partita_iva']); + } + + } + + return $anagrafica->first(); }