mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-17 03:51:06 +01:00
Fix creazione anagrafica in importazione articoli
This commit is contained in:
parent
3dcb5b0c3a
commit
8fe7b769c8
@ -143,6 +143,14 @@ class CSV extends CSVImporter
|
|||||||
'Fornitore predefinito',
|
'Fornitore predefinito',
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
'field' => 'p_iva',
|
||||||
|
'label' => 'Partita IVA',
|
||||||
|
'names' => [
|
||||||
|
'partita iva',
|
||||||
|
'Partita IVA',
|
||||||
|
],
|
||||||
|
],
|
||||||
[
|
[
|
||||||
'field' => 'codice_iva_vendita',
|
'field' => 'codice_iva_vendita',
|
||||||
'label' => 'Codice IVA vendita',
|
'label' => 'Codice IVA vendita',
|
||||||
@ -265,8 +273,7 @@ class CSV extends CSVImporter
|
|||||||
if (!empty($record['id_fornitore'])) {
|
if (!empty($record['id_fornitore'])) {
|
||||||
$dettagli['id_fornitore'] = $database->fetchOne('SELECT idanagrafica AS id FROM an_anagrafiche WHERE LOWER(ragione_sociale) = LOWER('.prepare($record['id_fornitore']).')')['id'];
|
$dettagli['id_fornitore'] = $database->fetchOne('SELECT idanagrafica AS id FROM an_anagrafiche WHERE LOWER(ragione_sociale) = LOWER('.prepare($record['id_fornitore']).')')['id'];
|
||||||
$dettagli['anagrafica_listino'] = $record['id_fornitore'];
|
$dettagli['anagrafica_listino'] = $record['id_fornitore'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Gestione categoria e sottocategoria
|
// Gestione categoria e sottocategoria
|
||||||
$categoria = null;
|
$categoria = null;
|
||||||
@ -327,9 +334,10 @@ class CSV extends CSVImporter
|
|||||||
$nuova_qta = (float) ($record['qta']);
|
$nuova_qta = (float) ($record['qta']);
|
||||||
$nome_sede = $record['nome_sede'];
|
$nome_sede = $record['nome_sede'];
|
||||||
|
|
||||||
if (!empty($dettagli['id_fornitore']) || !empty($dettagli['anagrafica_listino'])) {
|
if (!empty($dettagli['id_fornitore']) || !empty($dettagli['anagrafica_listino'] || !empty($dettagli['partita_iva']))) {
|
||||||
// Aggiornamento dettaglio prezzi
|
// Aggiornamento dettaglio prezzi
|
||||||
$dettagli['anagrafica_listino'] = $dettagli['anagrafica_listino'] ?: $record['anagrafica_listino'];
|
$dettagli['anagrafica_listino'] = $dettagli['anagrafica_listino'] ?: $record['anagrafica_listino'];
|
||||||
|
$dettagli['partita_iva'] = $record['p_iva'];
|
||||||
$dettagli['qta_minima'] = $record['qta_minima'];
|
$dettagli['qta_minima'] = $record['qta_minima'];
|
||||||
$dettagli['qta_massima'] = $record['qta_massima'];
|
$dettagli['qta_massima'] = $record['qta_massima'];
|
||||||
$dettagli['prezzo_listino'] = $record['prezzo_listino'];
|
$dettagli['prezzo_listino'] = $record['prezzo_listino'];
|
||||||
@ -342,6 +350,7 @@ class CSV extends CSVImporter
|
|||||||
}
|
}
|
||||||
|
|
||||||
unset($record['anagrafica_listino']);
|
unset($record['anagrafica_listino']);
|
||||||
|
unset($record['partita_iva']);
|
||||||
unset($record['qta_minima']);
|
unset($record['qta_minima']);
|
||||||
unset($record['qta_massima']);
|
unset($record['qta_massima']);
|
||||||
unset($record['prezzo_listino']);
|
unset($record['prezzo_listino']);
|
||||||
@ -352,7 +361,6 @@ class CSV extends CSVImporter
|
|||||||
unset($record['descrizione_fornitore']);
|
unset($record['descrizione_fornitore']);
|
||||||
unset($record['id_fornitore']);
|
unset($record['id_fornitore']);
|
||||||
|
|
||||||
|
|
||||||
//Gestione immagine
|
//Gestione immagine
|
||||||
if (!empty($url) && !empty($record['import_immagine'])) {
|
if (!empty($url) && !empty($record['import_immagine'])) {
|
||||||
$file_content = file_get_contents($url);
|
$file_content = file_get_contents($url);
|
||||||
@ -452,18 +460,22 @@ class CSV extends CSVImporter
|
|||||||
protected function aggiornaDettaglioPrezzi(Articolo $articolo, $dettagli)
|
protected function aggiornaDettaglioPrezzi(Articolo $articolo, $dettagli)
|
||||||
{
|
{
|
||||||
// Listini
|
// Listini
|
||||||
$anagrafica = Anagrafica::where('ragione_sociale', $dettagli['anagrafica_listino'])->first();
|
if ($dettagli['partita_iva']){
|
||||||
|
$anagrafica = Anagrafica::where('piva', $dettagli['partita_iva'])->first();
|
||||||
|
}
|
||||||
|
|
||||||
if (empty($anagrafica)) {
|
if (empty($anagrafica)) {
|
||||||
$anagrafica = Anagrafica::build($dettagli['anagrafica_listino']);
|
$anagrafica = Anagrafica::build($dettagli['anagrafica_listino']);
|
||||||
|
$anagrafica->piva = $dettagli['partita_iva'];
|
||||||
|
$anagrafica->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($dettagli['dir']) {
|
if ($dettagli['dir']) {
|
||||||
$tipo = Tipo::where('descrizione', $dettagli['dir'])->first();
|
$tipo = Tipo::where('descrizione', $dettagli['dir'])->first();
|
||||||
$tipi = $anagrafica->tipi->pluck('idtipoanagrafica')->toArray();
|
$tipi = $anagrafica->tipi->pluck('idtipoanagrafica')->toArray();
|
||||||
|
|
||||||
$tipi[] = $tipo->id;
|
$tipi[] = $tipo->id;
|
||||||
|
|
||||||
$anagrafica->tipologie = $tipi;
|
$anagrafica->tipologie = $tipi;
|
||||||
$anagrafica->save();
|
$anagrafica->save();
|
||||||
}
|
}
|
||||||
@ -501,6 +513,7 @@ class CSV extends CSVImporter
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Imposto fornitore e prezzo predefinito
|
// Imposto fornitore e prezzo predefinito
|
||||||
|
$dettagli['id_fornitore'] = $anagrafica->id;
|
||||||
$listino_id_fornitore = DettaglioPrezzo::dettaglioPredefinito($articolo->id, $dettagli['id_fornitore'], 'uscita')->first();
|
$listino_id_fornitore = DettaglioPrezzo::dettaglioPredefinito($articolo->id, $dettagli['id_fornitore'], 'uscita')->first();
|
||||||
if (!empty($listino_id_fornitore)) {
|
if (!empty($listino_id_fornitore)) {
|
||||||
$prezzo_acquisto = $listino_id_fornitore->prezzo_unitario - ($listino_id_fornitore->prezzo_unitario * $listino_id_fornitore->sconto_percentuale) / 100;
|
$prezzo_acquisto = $listino_id_fornitore->prezzo_unitario - ($listino_id_fornitore->prezzo_unitario * $listino_id_fornitore->sconto_percentuale) / 100;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user