mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-06-05 22:09:38 +02:00
Fix importazione anagrafica fattura di acquisto
This commit is contained in:
@@ -24,21 +24,21 @@ use Plugins\ImportFE\Interaction;
|
||||
|
||||
if (!empty($id_record)) {
|
||||
$files = Interaction::getFileList();
|
||||
$record = $files[$id_record - 1];
|
||||
$record = $files[$id_record - 1] ?? null;
|
||||
|
||||
$has_next = isset($files[$id_record]);
|
||||
|
||||
try {
|
||||
$fattura_pa = FatturaElettronica::manage($record['name']);
|
||||
$fattura_pa = FatturaElettronica::manage($record['name'] ?? '');
|
||||
$anagrafica = $fattura_pa->findAnagrafica();
|
||||
} catch (UnexpectedValueException) {
|
||||
} catch (UnexpectedValueException $e) {
|
||||
$imported = true;
|
||||
} catch (Exception) {
|
||||
} catch (Exception $e) {
|
||||
$error = true;
|
||||
}
|
||||
|
||||
// Rimozione .p7m dal nome del file (causa eventuale estrazione da ZIP)
|
||||
$record['name'] = preg_replace('/(.+)\.p7m$/i', '{1}', $record['name']);
|
||||
$record['name'] = preg_replace('/(.+)\.p7m$/i', '$1', $record['name'] ?? '');
|
||||
|
||||
if (empty($record)) {
|
||||
flash()->warning(tr('Nessuna fattura da importare!'));
|
||||
|
||||
@@ -206,44 +206,27 @@ class FatturaElettronica
|
||||
{
|
||||
$info = $this->getAnagrafe();
|
||||
|
||||
$anagrafica = Anagrafica::where('tipo', $type);
|
||||
|
||||
if (!empty($info['partita_iva']) && !empty($info['codice_fiscale'])) {
|
||||
$anagrafica->where('piva', $info['partita_iva'])
|
||||
$anagrafica = 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'])
|
||||
$anagrafica = 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 = Anagrafica::where('piva', $info['partita_iva'])
|
||||
->orWhere('piva', 'like', '__'.$info['partita_iva']);
|
||||
}
|
||||
|
||||
$anagrafica = $anagrafica->get();
|
||||
$anagrafica = $anagrafica->first();
|
||||
|
||||
// Se non trovo l'anagrafica tra i fornitori, provo a ricercarla anche tra i clienti
|
||||
if (empty($anagrafica)) {
|
||||
$type = 'Cliente';
|
||||
$is_fornitore = $anagrafica->isTipo($type);
|
||||
$is_cliente = $anagrafica->isTipo('Cliente');
|
||||
|
||||
$anagrafica = Anagrafica::where('tipo', $type);
|
||||
|
||||
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']);
|
||||
}
|
||||
if ($is_fornitore || $is_cliente) {
|
||||
return $anagrafica->first();
|
||||
}
|
||||
|
||||
return $anagrafica->first();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user