BUB-13 Creazione report annuale per movimenti per categoria ed esportazione in excel

This commit is contained in:
Amministratore 2022-03-16 09:03:51 +01:00
parent 55a7a68826
commit ed1b65e5a1
4 changed files with 45 additions and 24 deletions

View File

@ -87,7 +87,7 @@ class MovimentiController extends Controller
'mov_fk_tags'=>$request['mov_fk_tags'],
'mov_inserito_da'=>$request['userid'],
]);
$mov==DB::table('movimentis')
$mov=DB::table('movimentis')
->join('categories','movimentis.mov_fk_categoria','=','categories.id')
->join('tags','movimentis.mov_fk_tags','=','tags.id')
->leftJoin('documentis', 'movimenti_id','=','movimentis.id')
@ -133,8 +133,6 @@ class MovimentiController extends Controller
public function resocontoMovimenti(Request $request)
{
// SELECT Sum(movimentis.mov_importo) as resoconto, categories.cat_name FROM movimentis JOIN categories ON movimentis.mov_fk_categoria = categories.id GROUP BY categories.id;
// aggiunto per definizione del periodo di resoconto.
if(!$request['Year'])
{
$year=date('Y');
@ -247,7 +245,6 @@ class MovimentiController extends Controller
->leftJoin('documentis', 'movimenti_id','=','movimentis.id')
->select('movimentis.id','mov_data','mov_descrizione','mov_importo','cat_name','tag_name', DB::raw('Count(movimenti_id) as quanti'))
->groupBy('movimentis.id','mov_data','mov_descrizione','mov_importo','cat_name','tag_name')
//->whereMonth('mov_data','=',$request['month'])
->get();
return view('conti.movimenti.list',
[
@ -271,7 +268,6 @@ class MovimentiController extends Controller
$ncategoria=$categoria->cat_name;
for ($i=1;$i<=12;$i++)
{
// $SQL="SELECT SUM(mov_importo) as totale, WHERE Year(mov_data)=".$anno." AND Month(mov_data)=".$i." AND mov_fk_categoria=".$categoria->id;
$movrow=DB::table('movimentis')
->whereMonth('mov_data','=',$i)
@ -281,24 +277,9 @@ class MovimentiController extends Controller
->sum('mov_importo');
$coll[] = ['totale' => $movrow];
/*
foreach ($movrow as $mov)
{
echo($mov->mov_importo);
$coll[] = ['totale' => $movrow];
// ','categoria'=>$ncategoria,
// 'categoria_id'=>$id,
// 'mese'=>$i
// ]);
}*/
}
}
// dd($movrow);
/*dd(array_chunk($coll, 12));*/
return view('conti.report.catanno',[
'categorie'=>$categorie,
'mesi'=>$mesi,
@ -306,6 +287,37 @@ class MovimentiController extends Controller
]);
}
public function reportCategorieAnnoXLS($anno = 0)
{
if ($anno <= 1970)
{
$anno = date('Y');
}
$intestazione=['Categoria','Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'];
$categorie=DB::table('categories')->orderBy('cat_name')->get();
foreach ($categorie as $categoria)
{
$id=$categoria->id;
$ncategoria=$categoria->cat_name;
for ($i=1;$i<=12;$i++)
{
$movrow=DB::table('movimentis')
->whereMonth('mov_data','=',$i)
->whereYear('mov_data','=',$anno)
->where('mov_fk_categoria','=',$id)
->sum('mov_importo');
$coll[] = $movrow;
}
$row[]=array_combine($intestazione,array_merge(array($ncategoria),$coll));
unset($coll);
}
return (new FastExcel($row))->download('report_al_'.date('d-m-Y').'.ods');
}
public function apiList()
{
$movments = DB::table('movimentis')

View File

@ -27,6 +27,9 @@
<li>
<a href="{{ route('resoconto'); }}">Resoconto Movimenti</a>
</li>
<li>
<a href="{{ route('budget'); }}">Report Annuale Movimenti</a>
</li>
<li>
<a href="{{ route('export'); }}"><i class="fa fa-file-o fa-fw"></i>Esporta tutti i movimenti</a>
</li>

View File

@ -6,6 +6,11 @@
<h1 class="page-header">Rapporto dei movimenti</h1>
</div>
</div>
<div class="row">
<div class="col">
<a href="{{ route('budgetxls');}}" class="btn btn-primary">Esporta in .ods</a>
</div>
</div>
<div class="row">
<div class="col">
<div class="panel panel-default">

View File

@ -37,7 +37,8 @@ Route::get('/', function () {
Route::get('movmodify',[MovimentiController::class,'updateMovimenti']);
Route::post('movmodify',[MovimentiController::class,'updatePostMovimenti']);
Route::get('movdelete',[MovimentiController::class,'deleteMovimenti']);
Route::get('reportbudget',[MovimentiController::class,'reportCategorieAnno'])->name('budget');
Route::get('reportbudgetxls',[MovimentiController::class,'reportCategorieAnnoXLS'])->name('budgetxls');
Route::get('categorie', [CategorieController::class,'listCategorie'])->name('categorie');
@ -66,5 +67,5 @@ Route::get('/', function () {
Route::get('fullcalender', [FullCalenderController::class, 'index']);
Route::post('fullcalenderAjax', [FullCalenderController::class, 'ajax']);
Route::get('condominio',[CondominioController::class,'testPdf']);
Route::get('reportbudget',[MovimentiController::class,'reportCategorieAnno']);