Effettuato modifica in importazione EC generic CSV per controllo inserimento senza duplicati
This commit is contained in:
parent
93de5c36c5
commit
0a968bdc61
@ -385,7 +385,8 @@ class MovimentiController extends Controller
|
||||
$data = $this->mapCsvLineToDb($line);
|
||||
// dd($data);
|
||||
if (isset($data['mov_data'])) {
|
||||
Movimenti::create($data);
|
||||
Movimenti::importNoDuplicate($data);
|
||||
//Movimenti::create($data);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -28,7 +28,8 @@ class Movimenti extends Model
|
||||
'mov_inserito_da',
|
||||
'mov_fk_tags',
|
||||
'conto_id_da',
|
||||
'conto_id_a'
|
||||
'conto_id_a',
|
||||
'import_hash',
|
||||
];
|
||||
|
||||
public static $query= 'SELECT
|
||||
@ -241,24 +242,33 @@ public function ContoA()
|
||||
|
||||
}
|
||||
|
||||
private function makeHash($data,$movimento_dare, $movimento_avere, $descrizione)
|
||||
public static function makeHash($data,$movimento_dare, $movimento_avere, $descrizione)
|
||||
{
|
||||
// crea l'hash (serve per evitare duplicati nei movimenti)
|
||||
return md5($data.$movimento_dare.$movimento_avere.$descrizione);
|
||||
}
|
||||
|
||||
public function importHashExists($hash)
|
||||
public static function importHashExists($hash)
|
||||
{
|
||||
return self::where('import_hash', $hash)->exists();
|
||||
}
|
||||
|
||||
public function importNoDuplicate($data, $movimento_dare, $movimento_avere, $descrizione)
|
||||
public static function importNoDuplicate($data)
|
||||
{
|
||||
$hash = $this->makeHash($data, $movimento_dare, $movimento_avere, $descrizione);
|
||||
$hash = Movimenti::makeHash($data['mov_data'], $data['mov_importo_dare'], $data['mov_importo_avere'], $data['mov_descrizione']);
|
||||
$exists = self::where('import_hash', $hash)->exists();
|
||||
if (!$exists) {
|
||||
self::create([
|
||||
// TODO: ...altri campi...
|
||||
'mov_data' => $data['mov_data'],
|
||||
'mov_fk_categoria' => $data['mov_fk_categoria'],
|
||||
'mov_descrizione' => $data['mov_descrizione'],
|
||||
'mov_importo_dare' => $data['mov_importo_dare'],
|
||||
'mov_importo_avere' => $data['mov_importo_avere'],
|
||||
'mov_inserito_da' => 1,
|
||||
'conto_id_da' => 1,
|
||||
'conto_id_a' => 1,
|
||||
'mov_fk_tags' => 1,
|
||||
'import_hash' => $hash,
|
||||
]);
|
||||
}
|
||||
|
@ -28,6 +28,7 @@ class CreateMovimentisTable extends Migration
|
||||
$table->foreign('mov_fk_tags')->references('id')->on('tags');
|
||||
$table->foreignId('conto_id_da')->constrained('contos')->nullable();
|
||||
$table->foreignId('conto_id_a')->constrained('contos')->nullable();
|
||||
$table->string('import_hash')->nullable()->index();
|
||||
});
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user