$value) { if (!empty($value)) { $qta = $data[$key]['qta']; unset($data[$key]['qta']); $data[$key]['attivo'] = 1; if (!empty($data[$key]['prezzo_acquisto'])) { $data[$key]['prezzo_acquisto'] = $data[$key]['prezzo_acquisto']; } if (!empty($data[$key]['prezzo_vendita'])) { $data[$key]['prezzo_vendita'] = $data[$key]['prezzo_vendita']; } if (!empty($data[$key]['peso_lordo'])) { $data[$key]['peso_lordo'] = $data[$key]['peso_lordo']; } if (!empty($data[$key]['volume'])) { $data[$key]['volume'] = $data[$key]['volume']; } // Categorie if (!empty($data[$key]['id_categoria'])) { $rs_cat = $dbo->select('mg_categorie', 'id', [ 'nome' => $data[$key]['id_categoria'], ]); if (empty($rs_cat[0]['id'])) { $dbo->insert('mg_categorie', [ 'nome' => $data[$key]['id_categoria'], ]); $data[$key]['id_categoria'] = $dbo->lastInsertedID(); } else { $data[$key]['id_categoria'] = $rs_cat[0]['id']; } } // Sottocategorie if (!empty($data[$key]['id_sottocategoria'])) { $rs_cat2 = $dbo->select('mg_categorie', 'id', [ 'nome' => $data[$key]['id_sottocategoria'], 'parent' => $data[$key]['id_categoria'], ]); if (empty($rs_cat2[0]['id'])) { $dbo->insert('mg_categorie', [ 'nome' => $data[$key]['id_sottocategoria'], 'parent' => $data[$key]['id_categoria'], ]); $data[$key]['id_sottocategoria'] = $dbo->lastInsertedID(); } else { $data[$key]['id_sottocategoria'] = $rs_cat2[0]['id']; } } // Um if (!empty($data[$key]['um'])) { $rs_um = $dbo->select('mg_unitamisura', 'id', [ 'valore' => $data[$key]['um'], ]); if (empty($rs_um[0]['id'])) { $dbo->insert('mg_unitamisura', [ 'valore' => $data[$key]['um'], ]); } } // Codice --> ID IVA vendita if (!empty($data[$key]['idiva_vendita'])) { $rs_iva = $dbo->select('co_iva', 'id', [ 'codice' => $data[$key]['idiva_vendita'], ]); if (!empty($rs_iva[0]['id'])) { $data[$key]['idiva_vendita'] = $rs_iva[0]['id']; } } // Insert o update $insert = true; if (!empty($primary_key)) { $rs = $dbo->select('mg_articoli', $primary_key, [ $primary_key => $data[$key][$primary_key], ]); $insert = !in_array($data[$key][$primary_key], $rs[0]); } // Insert if ($insert) { $data[$key]['id_categoria'] = (empty($data[$key]['id_categoria'])) ? 0 : $data[$key]['id_categoria']; $dbo->insert('mg_articoli', $data[$key]); add_movimento_magazzino($dbo->lastInsertedID(), $qta, [], 'Movimento da import', date()); } // Update else { $dbo->update('mg_articoli', $data[$key], [$primary_key => $data[$key][$primary_key]]); $rs = $dbo->select('mg_articoli', 'id', [ $primary_key => $data[$key][$primary_key], ]); add_movimento_magazzino($rs[0]['id'], $qta, [], 'Movimento da import', date()); } unset($data[$key]); } } break; } return [ [ 'field' => 'codice', 'label' => 'Codice', 'primary_key' => true, ], [ 'field' => 'descrizione', 'label' => 'Descrizione', ], [ 'field' => 'qta', 'label' => 'Quantità', ], [ 'field' => 'um', 'label' => 'Unità di misura', 'names' => [ 'Unità di misura', 'Unità misura', 'Unit` di misura', 'um', ], ], [ 'field' => 'prezzo_acquisto', 'label' => 'Prezzo acquisto', ], [ 'field' => 'prezzo_vendita', 'label' => 'Prezzo vendita', ], [ 'field' => 'peso_lordo', 'label' => 'Peso lordo (KG)', 'names' => [ 'Peso lordo (KG)', 'Peso', ], ], [ 'field' => 'volume', 'label' => 'Volume (M3)', 'names' => [ 'Volume (M3)', 'Volume', ], ], [ 'field' => 'id_categoria', 'label' => 'Categoria', 'names' => [ 'Categoria', 'id_categoria', 'idcategoria', ], ], [ 'field' => 'id_sottocategoria', 'label' => 'Sottocategoria', 'names' => [ 'Sottocategoria', 'id_sottocategoria', 'idsottocategoria', ], ], [ 'field' => 'barcode', 'label' => 'Barcode', 'names' => [ 'barcode', 'Barcode', 'EAN', ], ], [ 'field' => 'id_fornitore', 'label' => 'Fornitore', 'names' => [ 'id_fornitore', 'Id Fornitore', 'Fornitore', ], 'query' => 'SELECT idanagrafica as result FROM an_anagrafiche WHERE LOWER(ragione_sociale) = LOWER(|value|)', ], [ 'field' => 'idiva_vendita', 'label' => 'Codice IVA vendita', 'names' => [ 'Codice IVA vendita', 'idiva_vendita', ], ], [ 'field' => 'ubicazione', 'label' => 'Ubicazione', ], [ 'field' => 'note', 'label' => 'Note', ], ];