BUB-21 Creato importazione Estratti conto Excel di INGDirect

This commit is contained in:
Amministratore 2023-04-13 15:30:59 +02:00
parent 7ba29c486d
commit 702b37d9d3
11 changed files with 86 additions and 30 deletions

3
.gitignore vendored
View File

@ -1,6 +1,9 @@
/node_modules /node_modules
/public/hot /public/hot
/public/storage /public/storage
/public/EC
/public/*.xlsx
/public/*.xls
/storage/*.key /storage/*.key
/vendor /vendor
.env .env

View File

@ -266,30 +266,25 @@ class MovimentiController extends Controller
} }
} }
public function importEC_ING() public function importEC_ING(Request $request)
{ {
$collection = (new FastExcel)->import('file1.xlsx', function ($line){ if ($request->hasFile('filename'))
if($line['Data valuta']) {
{ $filename=$request->file('filename')->store('EC');
return Movimenti::insEntrata([ // dd($filename); Documenti/xyz.xls
'mov_data'=>$this->dateFormat(0,$line['Data valuta']), Movimenti::importEstrattoIng($filename);
'mov_fk_categoria'=>1,
'mov_descrizione'=>$line['Descrizione operazione'], return redirect(Route('movimenti'));
'mov_importo'=>trim(str_replace(',','.',(str_replace('.','',str_replace('€', '', $line['Importo']))))), }
'mov_fk_tags'=>1, else {
'userid'=>1, return 'Nessun File trovato';
]
); }
} }
/*
* "Data contabile" => "29/03/2023" public function importFile()
"Data valuta" => "29/03/2023" {
"Causale" => "PAGAMENTI DIVERSI" return view('conti.import');
"Descrizione operazione" => "Addebito SDD CORE Scad. 29/03/2023 Imp. 5.99 Creditor id. IT46ZZZ0000013970161009 ILIAD Id Mandato ILIAD-FR9HXO-1 Debitore FLAVIO BARACHINO E PAOLA BRENTARI Rif ▶"
"Importo" => "€ -5,99"
*/
//dd($line);
});
} }

View File

@ -5,6 +5,7 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Rap2hpoutre\FastExcel\FastExcel;
class Movimenti extends Model class Movimenti extends Model
{ {
@ -143,8 +144,37 @@ class Movimenti extends Model
public static function importEstrattoIng($filename) public static function importEstrattoIng($filename)
{ {
//$file = str_replace('/EC/','',$filename);
$inputPath='/var/www/html/bubofamily/public/storage/'.$filename;
$outputPath='/var/www/html/bubofamily/public/'.$filename;
rename($inputPath,$outputPath);
$collection = (new FastExcel)->import($filename, function ($line){
if($line['Data valuta'])
{
Movimenti::insEntrata([
'mov_data'=>Movimenti::dateFormat(0,$line['Data valuta']),
'mov_fk_categoria'=>1,
'mov_descrizione'=>$line['Descrizione operazione'],
'mov_importo'=>trim(str_replace(',','.',(str_replace('.','',str_replace('€', '', $line['Importo']))))),
'mov_fk_tags'=>1,
'userid'=>1,
]);
}
});
//dd($outputPath);
} }
private static function dateFormat($type,$string)
{
if($type)
{
list($year,$month,$day) = explode('-',$string);
return $day.'/'.$month.'/'.$year;
} else {
list($day,$month,$year) =explode('/',$string);
return $year.'-'.$month.'-'.$day;
}
}
} }

View File

@ -1 +0,0 @@
,flavio,fblaptop,03.04.2023 16:36,file:///home/flavio/.config/libreoffice/4;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -31,7 +31,10 @@
<a href="{{ route('budget'); }}">Report Annuale Movimenti</a> <a href="{{ route('budget'); }}">Report Annuale Movimenti</a>
</li> </li>
<li> <li>
<a href="{{ route('export'); }}"><i class="fa fa-file-o fa-fw"></i>Esporta tutti i movimenti</a> <a href="{{ route('export'); }}"><i class="fa fa-download fa-fw"></i>Esporta tutti i movimenti</a>
</li>
<li>
<a href="{{ route('importING'); }}"><i class="fa fa-upload fa-fw"></i>Importa Estratto ING</a>
</li> </li>
</ul> </ul>
<!-- /.nav-second-level --> <!-- /.nav-second-level -->

View File

@ -0,0 +1,26 @@
@extends('admin')
@section('content')
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Importazione Estratto conto ING</h1>
</div>
</div>
<div class="container">
<!-- Content here -->
<div class="row">
<div class="col-lg-10">
<form action="" method="POST" enctype='multipart/form-data'>
@csrf
<div class="mb-3">
<label for="file" class="form-label">File</label>
<input type="file" class="form-control" id="file" name="filename">
</div>
<div class="mb-3">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</form>
</div>
</div>
</div>
@endsection

View File

@ -66,8 +66,8 @@ Route::get('/', [MovimentiController::class,'dashboard']);
Route::get('movimenti/report/movimentibycat', [MovimentiController::class,'listMovbyCat']); Route::get('movimenti/report/movimentibycat', [MovimentiController::class,'listMovbyCat']);
Route::get('movdocs', [DocumentiController::class,'fileForm'])->name('documenti'); Route::get('movdocs', [DocumentiController::class,'fileForm'])->name('documenti');
Route::post('movdocs', [DocumentiController::class,'storeFile']); Route::post('movdocs', [DocumentiController::class,'storeFile']);
Route::get('movimenti/import', [MovimentiController::class,'importEC_ING']); Route::get('movimenti/import', [MovimentiController::class,'importFile'])->name('importING');
Route::post('movimenti/import', [MovimentiController::class,'importEC_ING']);
# Automobili # Automobili
Route::get('auto', [AutoController::class, 'index'])->name('auto_list'); Route::get('auto', [AutoController::class, 'index'])->name('auto_list');
Route::get('auto/new', [AutoController::class, 'newAuto'])->name('auto_new'); Route::get('auto/new', [AutoController::class, 'newAuto'])->name('auto_new');