Fix import anagrafiche

This commit is contained in:
Thomas Zilio 2019-11-19 14:39:25 +01:00
parent ecbca0f912
commit 4cf6887c2a
2 changed files with 28 additions and 27 deletions

View File

@ -49,39 +49,42 @@ switch (post('op')) {
'lng', 'lng',
]; ];
foreach ($data as $key => $value) { $id_azienda = setting('Azienda predefinita');
if (!empty($value)) {
$id_tipo_anagrafica = (array) $data[$key]['tipologia'];
unset($data[$key]['tipologia']);
$dati_anagrafica = $data[$key]; foreach ($data as $key => $dati_anagrafica) {
if (!empty($dati_anagrafica)) {
$id_tipo_anagrafica = (array) $dati_anagrafica['tipologia'];
unset($dati_anagrafica['tipologia']);
// Separazione dei campi relativi alla sede legale
$dati_sede = []; $dati_sede = [];
foreach ($sede_fields as $field) { foreach ($sede_fields as $field) {
if (isset($dati_anagrafica[$field])) {
$dati_sede[$field] = $dati_anagrafica[$field]; $dati_sede[$field] = $dati_anagrafica[$field];
unset($dati_anagrafica[$field]); unset($dati_anagrafica[$field]);
} }
}
// Ricerca di eventuale anagrafica corrispondente // Ricerca di eventuale anagrafica corrispondente
if (!empty($primary_key)) { if (!empty($primary_key)) {
//impedisco di aggiornare la mia anagrafica azienda
if ($dati_anagrafica[$primary_key] != setting('Azienda predefinita')) {
$anagrafica = Anagrafica::where($primary_key, '=', $dati_anagrafica[$primary_key])->first(); $anagrafica = Anagrafica::where($primary_key, '=', $dati_anagrafica[$primary_key])->first();
} }
}
// Creazione dell'anagrafica
if (empty($anagrafica)) { if (empty($anagrafica)) {
$anagrafica = Anagrafica::build($dati_anagrafica['ragione_sociale']); $anagrafica = Anagrafica::build($dati_anagrafica['ragione_sociale']);
} }
// Impedisco di aggiornare la mia anagrafica azienda
if ($dati_anagrafica[$primary_key] != $id_azienda) {
$anagrafica->fill($dati_anagrafica); $anagrafica->fill($dati_anagrafica);
$anagrafica->tipologie = (array) $id_tipo_anagrafica; $anagrafica->tipologie = $id_tipo_anagrafica;
$anagrafica->save(); $anagrafica->save();
$sede = $anagrafica->sedeLegale; $sede = $anagrafica->sedeLegale;
$sede->fill($dati_sede); $sede->fill($dati_sede);
$sede->save(); $sede->save();
}
unset($data[$key]);
} }
} }

View File

@ -128,7 +128,6 @@ foreach ($id_documenti as $id_documento) {
$totale = sum(array_column($scadenze, 'rata')); $totale = sum(array_column($scadenze, 'rata'));
if ($totale != 0) { if ($totale != 0) {
if ($nota_credito) { if ($nota_credito) {
$totaleA = -$totale; $totaleA = -$totale;
} else { } else {
@ -158,7 +157,6 @@ foreach ($id_documenti as $id_documento) {
$k = 0; $k = 0;
foreach ($righe_azienda as $key => $riga_azienda) { foreach ($righe_azienda as $key => $riga_azienda) {
if ($righe_azienda[$key]['id_conto'] != $righe_azienda[$key - 1]['id_conto']) { if ($righe_azienda[$key]['id_conto'] != $righe_azienda[$key - 1]['id_conto']) {
++$k; ++$k;
} }
@ -168,7 +166,7 @@ foreach ($righe_azienda as $key => $riga_azienda) {
$riga_documento[$k]['avere'] += $riga_azienda['avere']; $riga_documento[$k]['avere'] += $riga_azienda['avere'];
} }
foreach($riga_documento AS $key => $value){ foreach ($riga_documento as $key => $value) {
//Inverto dare e avere per importi negativi //Inverto dare e avere per importi negativi
if ($riga_documento[$key]['dare'] < 0 || $riga_documento[$key]['avere'] < 0) { if ($riga_documento[$key]['dare'] < 0 || $riga_documento[$key]['avere'] < 0) {
$tmp = abs($riga_documento[$key]['dare']); $tmp = abs($riga_documento[$key]['dare']);