1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2024-12-26 15:54:17 +01:00

Aggiunta creazione tipo anagrafica se mancante in importazione

This commit is contained in:
Pek5892 2023-09-29 12:52:36 +02:00
parent b95d551b22
commit 8bde63c0b0

View File

@ -252,11 +252,18 @@ class CSV extends CSVImporter
$tipi_selezionati = explode(',', $record['idtipoanagrafica']);
foreach ($tipi_selezionati as $tipo) {
$tipo_anagrafica = $database->fetchOne('SELECT idtipoanagrafica AS id FROM an_tipianagrafiche WHERE descrizione = '.prepare($tipo).' OR idtipoanagrafica = '.prepare($tipo));
$tipo_anagrafica = $database->fetchOne('SELECT idtipoanagrafica FROM an_tipianagrafiche WHERE descrizione = '.prepare($tipo).' OR idtipoanagrafica = '.prepare($tipo))['idtipoanagrafica'];
if (!empty($tipo_anagrafica)) {
$tipologie[] = $tipo_anagrafica['id'];
// Creo il tipo anagrafica se non esiste
if (empty($tipo_anagrafica)) {
$database->insert('an_tipianagrafiche', [
'descrizione' => $tipo,
])['idtipoanagrafica'];
$tipo_anagrafica = $database->fetchOne('SELECT idtipoanagrafica FROM an_tipianagrafiche WHERE descrizione = '.prepare($tipo).' OR idtipoanagrafica = '.prepare($tipo))['idtipoanagrafica'];
}
$tipologie[] = $tipo_anagrafica;
}
}
unset($record['idtipoanagrafica']);
@ -265,7 +272,7 @@ class CSV extends CSVImporter
if (!empty($record['tipo'])) {
$tipi_selezionati = explode(',', $record['tipo']);
}
unset($record['idtipoanagrafica']);
unset($record['tipo']);
// Fix per campi con contenuti derivati da query implicite
if (!empty($record['id_nazione'])) {
@ -274,6 +281,19 @@ class CSV extends CSVImporter
unset($record['id_nazione']);
}
// Creo il settore merceologico nel caso in cui non sia presente
$id_settore = '';
if (!empty($record['id_settore'])) {
$settore = $record['id_settore'];
$id_settore = $database->fetchOne('SELECT id FROM an_settori WHERE descrizione = '.prepare($settore).'')['id'];
if (empty($id_settore)) {
$id_settore = $database->insert('an_settori', [
'descrizione' => $settore,
])['id'];
}
}
// Separazione dei campi relativi alla sede legale
$campi_sede = [
'indirizzo',
@ -320,6 +340,8 @@ class CSV extends CSVImporter
$anagrafica->fill($record);
$anagrafica->tipologie = $tipologie;
$anagrafica->tipo = $tipi_selezionati;
$anagrafica->id_settore = $id_settore;
$anagrafica->save();
$sede = $anagrafica->sedeLegale;