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',
];
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();
}
}
}

View File

@ -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;