From 4cf6887c2ac9db109b60e814028f945de43ca113 Mon Sep 17 00:00:00 2001 From: Thomas Zilio Date: Tue, 19 Nov 2019 14:39:25 +0100 Subject: [PATCH] Fix import anagrafiche --- modules/anagrafiche/import.php | 41 ++++++++++++++++++---------------- modules/primanota/add.php | 14 +++++------- 2 files changed, 28 insertions(+), 27 deletions(-) diff --git a/modules/anagrafiche/import.php b/modules/anagrafiche/import.php index cf9e8fd3c..21034cb73 100644 --- a/modules/anagrafiche/import.php +++ b/modules/anagrafiche/import.php @@ -49,39 +49,42 @@ switch (post('op')) { 'lng', ]; - foreach ($data as $key => $value) { - if (!empty($value)) { - $id_tipo_anagrafica = (array) $data[$key]['tipologia']; - unset($data[$key]['tipologia']); + $id_azienda = setting('Azienda predefinita'); - $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 = []; foreach ($sede_fields as $field) { - $dati_sede[$field] = $dati_anagrafica[$field]; - unset($dati_anagrafica[$field]); + if (isset($dati_anagrafica[$field])) { + $dati_sede[$field] = $dati_anagrafica[$field]; + unset($dati_anagrafica[$field]); + } } // Ricerca di eventuale anagrafica corrispondente 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)) { $anagrafica = Anagrafica::build($dati_anagrafica['ragione_sociale']); } - $anagrafica->fill($dati_anagrafica); - $anagrafica->tipologie = (array) $id_tipo_anagrafica; - $anagrafica->save(); + // Impedisco di aggiornare la mia anagrafica azienda + if ($dati_anagrafica[$primary_key] != $id_azienda) { + $anagrafica->fill($dati_anagrafica); + $anagrafica->tipologie = $id_tipo_anagrafica; + $anagrafica->save(); - $sede = $anagrafica->sedeLegale; - $sede->fill($dati_sede); - $sede->save(); - - unset($data[$key]); + $sede = $anagrafica->sedeLegale; + $sede->fill($dati_sede); + $sede->save(); + } } } diff --git a/modules/primanota/add.php b/modules/primanota/add.php index 0d1e69b57..67586f769 100644 --- a/modules/primanota/add.php +++ b/modules/primanota/add.php @@ -111,9 +111,9 @@ foreach ($id_documenti as $id_documento) { $id_conto_controparte = $fattura->anagrafica[$conto_field]; // Lettura delle scadenza della fattura - if(sizeof($id_scadenze)>0){ + if (sizeof($id_scadenze) > 0) { $scadenze = $dbo->fetchArray('SELECT id, ABS(da_pagare - pagato) AS rata FROM co_scadenziario WHERE iddocumento='.prepare($id_documento).' AND ABS(da_pagare) > ABS(pagato) AND id IN("'.implode('","', $id_scadenze).'") ORDER BY YEAR(scadenza) ASC, MONTH(scadenza) ASC'); - }else{ + } else { $scadenze = $dbo->fetchArray('SELECT id, ABS(da_pagare - pagato) AS rata FROM co_scadenziario WHERE iddocumento='.prepare($id_documento).' AND ABS(da_pagare) > ABS(pagato) ORDER BY YEAR(scadenza) ASC, MONTH(scadenza) ASC'); } @@ -128,10 +128,9 @@ foreach ($id_documenti as $id_documento) { $totale = sum(array_column($scadenze, 'rata')); if ($totale != 0) { - - if($nota_credito){ + if ($nota_credito) { $totaleA = -$totale; - }else{ + } else { $totaleA = $totale; } @@ -158,7 +157,6 @@ foreach ($id_documenti as $id_documento) { $k = 0; foreach ($righe_azienda as $key => $riga_azienda) { - if ($righe_azienda[$key]['id_conto'] != $righe_azienda[$key - 1]['id_conto']) { ++$k; } @@ -168,9 +166,9 @@ foreach ($righe_azienda as $key => $riga_azienda) { $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 - 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']); $riga_documento[$key]['dare'] = abs($riga_documento[$key]['avere']); $riga_documento[$key]['avere'] = $tmp;