diff --git a/composer.json b/composer.json index 7d56eed16..7f9cfb887 100755 --- a/composer.json +++ b/composer.json @@ -38,7 +38,7 @@ "ifsnop/mysqldump-php": "^2.3", "illuminate/database": "^8.0", "intervention/image": "^2.3", - "league/csv": "9.5.0", + "league/csv": "9.7.0", "league/oauth2-client": "^2.6", "league/oauth2-google": "^3.0", "maximebf/debugbar": "^1.15", diff --git a/modules/articoli/src/Import/CSV.php b/modules/articoli/src/Import/CSV.php index 93c211331..7a4dddbda 100644 --- a/modules/articoli/src/Import/CSV.php +++ b/modules/articoli/src/Import/CSV.php @@ -205,9 +205,10 @@ class CSV extends CSVImporter $primary_key = $this->getPrimaryKey(); // Count the numbers of rows in a CSV - $number = $this->csv->each(function ($row) { - return true; - }); + $number = 0; + foreach ($this->csv as $row) { + $number++; + } $rows = $this->getRows(0, $number); $first_record = $this->getRecord($rows[1]); @@ -319,6 +320,7 @@ class CSV extends CSVImporter $dettagli['codice_fornitore'] = $record['codice_fornitore']; $dettagli['barcode_fornitore'] = $record['barcode_fornitore']; $dettagli['descrizione_fornitore'] = $record['descrizione_fornitore']; + $dettagli['id_fornitore'] = $record['id_fornitore']; $this->aggiornaDettaglioPrezzi($articolo, $dettagli); //Gestione immagine @@ -374,6 +376,7 @@ class CSV extends CSVImporter unset($record['codice_fornitore']); unset($record['barcode_fornitore']); unset($record['descrizione_fornitore']); + unset($record['id_fornitore']); // Salvataggio delle informazioni generali $articolo->fill($record); @@ -438,6 +441,7 @@ class CSV extends CSVImporter $dettagli['dir'] = null; } + // Aggiungo Listino if (!empty($anagrafica) && !empty($dettagli['dir'])) { $dettaglio_predefinito = DettaglioPrezzo::build($articolo, $anagrafica, $dettagli['dir']); $dettaglio_predefinito->sconto_percentuale = $dettagli['sconto_listino']; @@ -450,6 +454,7 @@ class CSV extends CSVImporter $dettaglio_predefinito->save(); + // Aggiungo dettagli fornitore if ($dettagli['dir'] == 'uscita' && !empty($dettagli['codice_fornitore']) && !empty($dettagli['descrizione_fornitore'])) { $fornitore = DettaglioFornitore::build($anagrafica, $articolo); $fornitore->codice_fornitore = $dettagli['codice_fornitore']; @@ -458,5 +463,14 @@ class CSV extends CSVImporter $fornitore->save(); } } + + // Imposto fornitore e prezzo predefinito + $listino_id_fornitore = DettaglioPrezzo::dettaglioPredefinito($articolo->id, $dettagli['id_fornitore'], 'uscita')->first(); + if (!empty($listino_id_fornitore)) { + $prezzo_acquisto = $listino_id_fornitore->prezzo_unitario - ($listino_id_fornitore->prezzo_unitario*$listino_id_fornitore->sconto_percentuale) / 100; + $articolo->prezzo_acquisto = $prezzo_acquisto; + $articolo->id_fornitore = $dettagli['id_fornitore']; + $articolo->save(); + } } }