Commit iniziale
This commit is contained in:
363
app/Http/Controllers/MovimentiController.php
Normal file
363
app/Http/Controllers/MovimentiController.php
Normal file
@@ -0,0 +1,363 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Categorie;
|
||||
use App\Models\Movimenti;
|
||||
use App\Models\tag;
|
||||
use App\Models\Task;
|
||||
use App\Models\Avviso;
|
||||
use App\Models\Conto;
|
||||
// use App\Http\Controllers\Auth;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Rap2hpoutre\FastExcel\FastExcel;
|
||||
|
||||
class MovimentiController extends Controller
|
||||
{
|
||||
// Gestione dei movimenti
|
||||
public static function newMovimenti() {
|
||||
$categorie=Categorie::list(); // TODO: da risolvere con jquery nella pagina blade conti.movimenti.list
|
||||
$tags=tag::getList(); // TODO: da risolvere con jquery nella pagina blade conti.movimenti.list (spiegazione su https://library.webschool.com/lezione/guida-jquery-recuperare-dati-da-php-con-json-2564.html )
|
||||
return view('conti.movimenti.new',[
|
||||
'categorie'=>$categorie,
|
||||
'tags'=>$tags,
|
||||
]);
|
||||
}
|
||||
|
||||
public static function listMovimenti(){
|
||||
$categorie=Categorie::list();
|
||||
$tags=tag::getList();
|
||||
/* Query per visualizzare anche il totale dei documenti presenti per il record */
|
||||
$movimenti=Movimenti::getList();
|
||||
|
||||
|
||||
return view('conti.movimenti.list',[
|
||||
'categorie'=>$categorie,
|
||||
'movimenti'=>$movimenti,
|
||||
'tags'=>$tags
|
||||
]);
|
||||
}
|
||||
|
||||
public static function dashboard()
|
||||
{
|
||||
/*$bilancio=Movimenti::getSaldo(date('Y'));*/
|
||||
$entrate=Movimenti::getEntrate(date('Y'));
|
||||
$uscite=Movimenti::getUscite(date('Y'));
|
||||
$saldo=Movimenti::getSaldoTot();
|
||||
$mieiTasks=Task::getTaskAssignedToUser(Auth::id());
|
||||
// $TasksAssegnati=Task::getTaskAssignedByUser(Auth::id());
|
||||
// $avvisi=Avviso::getAvvisi();
|
||||
$avvisi=Avviso::getActualAvvisi();
|
||||
|
||||
return view('layouts.dashboard',[
|
||||
'entrate'=>$entrate,
|
||||
'uscite'=>$uscite,
|
||||
'saldo'=>$saldo,
|
||||
'mieitask' => $mieiTasks,
|
||||
// 'assegnati' => $TasksAssegnati,
|
||||
'avvisi'=>$avvisi,
|
||||
]);
|
||||
}
|
||||
|
||||
public static function insMovimentiSpesa(Request $request)
|
||||
{
|
||||
// dd($request);
|
||||
$validated=$request->validate([
|
||||
'mov_data'=>'required',
|
||||
'mov_importo'=>'required | numeric' ,
|
||||
|
||||
]);
|
||||
Movimenti::insSpesa($request);
|
||||
$mov=Movimenti::getList();
|
||||
$categorie=Categorie::listSpesa();
|
||||
$tags=tag::getList();
|
||||
return view('conti.movimenti.list',
|
||||
[
|
||||
'categorie'=> $categorie,
|
||||
'movimenti'=> $mov,
|
||||
'tags'=>$tags,
|
||||
]);
|
||||
|
||||
/* return dd($mov);*/
|
||||
}
|
||||
public static function insMovimentiEntrata(Request $request)
|
||||
{
|
||||
$validated=$request->validate([
|
||||
'mov_data'=>'required',
|
||||
'mov_importo'=>'required | numeric' ,
|
||||
|
||||
]);
|
||||
Movimenti::insEntrata($request);
|
||||
$mov=Movimenti::getList();
|
||||
$categorie=Categorie::listEntrata();
|
||||
$tags=tag::getList();
|
||||
return view('conti.movimenti.list',
|
||||
[
|
||||
'categorie'=> $categorie,
|
||||
'movimenti'=> $mov,
|
||||
'tags'=>$tags,
|
||||
]);
|
||||
|
||||
/* return dd($mov);*/
|
||||
}
|
||||
public function exportMovimenti()
|
||||
{
|
||||
$movimenti = Movimenti::export();
|
||||
foreach ($movimenti as $movimento)
|
||||
{
|
||||
$lista[]=[
|
||||
'Data'=> date_format(date_create($movimento->Data),'d/m/Y'),
|
||||
'Categoria'=>$movimento->Categoria,
|
||||
'Tag'=>$movimento->Tag,
|
||||
'Descrizione'=>$movimento->Descrizione,
|
||||
'Importo'=>$movimento->Importo,
|
||||
'Conto'=>$movimento->Conto,
|
||||
];
|
||||
}
|
||||
return (new FastExcel($lista))->download('movimenti_al_'.date('d-m-Y').'.xls');
|
||||
// return dd($movimenti);
|
||||
}
|
||||
|
||||
public function resocontoMovimenti(Request $request)
|
||||
{
|
||||
if(!$request['Year'])
|
||||
{
|
||||
$year=date('Y');
|
||||
}
|
||||
else {
|
||||
$year=$request['Year'];
|
||||
}
|
||||
|
||||
if (!$request['Month'])
|
||||
{
|
||||
$month=date('m');
|
||||
}
|
||||
else {
|
||||
$month=$request['Month'];
|
||||
}
|
||||
|
||||
$reportSpesa = Movimenti::reportSpesa($year, $month);
|
||||
$reportEntrate = Movimenti::reportEntrate($year,$month);
|
||||
|
||||
return view('components.charts',[
|
||||
'dataSpesa'=>$reportSpesa,
|
||||
'dataEntrate'=>$reportEntrate,
|
||||
]);
|
||||
}
|
||||
|
||||
public function updatePostMovimenti(Request $request)
|
||||
{
|
||||
Movimenti::updateMovimenti($request);
|
||||
// return redirect()->back();
|
||||
return view('conti.movimenti.list',
|
||||
[
|
||||
'movimenti'=> Movimenti::getList(),
|
||||
]);
|
||||
}
|
||||
|
||||
public function deleteMovimenti(Request $request)
|
||||
{
|
||||
Movimenti::deleteMovimento($request['id']);
|
||||
return redirect('/admin/movimenti');
|
||||
|
||||
}
|
||||
|
||||
public function girocontoPost(Request $request)
|
||||
{
|
||||
Movimenti::giroconto($request);
|
||||
return redirect('/admin/movimenti');
|
||||
}
|
||||
|
||||
public function giroconto()
|
||||
{
|
||||
$categorie=Categorie::list();
|
||||
return view('conti.giroconto.form',[
|
||||
'categories'=>$categorie,
|
||||
'contos'=>Conto::all(),
|
||||
|
||||
]);
|
||||
}
|
||||
|
||||
public function listMovPerCateg(Request $request)
|
||||
{
|
||||
if($request['year'])
|
||||
{
|
||||
$anno=$request['year'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$anno=date('Y');
|
||||
}
|
||||
$mov=Movimenti::listByCatMonth($request['month'], $request['cat'],$anno);
|
||||
return view('conti.movimenti.list',
|
||||
[
|
||||
'movimenti'=> $mov,
|
||||
]);
|
||||
}
|
||||
|
||||
public function listMovByCat(Request $request)
|
||||
{
|
||||
$mov=Movimenti::listByCategory($request['cat']);
|
||||
return view('conti.movimenti.list',
|
||||
[
|
||||
'movimenti'=> $mov,
|
||||
]);
|
||||
}
|
||||
|
||||
public function reportCategorieAnno($anno = 0)
|
||||
{
|
||||
if ($anno <= 1970)
|
||||
{
|
||||
$anno = date('Y');
|
||||
}
|
||||
|
||||
$mesi=['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'];
|
||||
$categorie=Categorie::list();
|
||||
|
||||
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;
|
||||
$collx[]=$movrow;
|
||||
}
|
||||
$totale[]=array_sum($collx);
|
||||
unset($collx);
|
||||
}
|
||||
/*dd($totale);*/
|
||||
$anni=Movimenti::getYearsFromMovimenti();
|
||||
// dd($anni);
|
||||
return view('conti.report.catanno',[
|
||||
'categorie'=>$categorie,
|
||||
'mesi'=>$mesi,
|
||||
'matrice'=>array_chunk($coll, 12),
|
||||
'totale'=>$totale,
|
||||
'anno'=>$anno,
|
||||
'sel_anni'=>$anni,
|
||||
]);
|
||||
}
|
||||
|
||||
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').'.xls');
|
||||
}
|
||||
|
||||
public function filterByTag(Request $tag)
|
||||
{
|
||||
$mov=Movimenti::getByTag($tag['tag']);
|
||||
return view('conti.movimenti.list',
|
||||
[
|
||||
'movimenti'=> $mov,
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
public function apiList()
|
||||
{
|
||||
$movments = Movimenti::getList();
|
||||
return json_encode($movments);
|
||||
}
|
||||
|
||||
private 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;
|
||||
}
|
||||
}
|
||||
|
||||
public function importEC_ING(Request $request)
|
||||
{
|
||||
if ($request->hasFile('filename'))
|
||||
{
|
||||
$filename=$request->file('filename')->store();
|
||||
Movimenti::importEstrattoIng($filename);
|
||||
|
||||
return redirect(Route('movimenti'));
|
||||
}
|
||||
else {
|
||||
return 'Nessun File trovato';
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public function importEC_CR(Request $request)
|
||||
{
|
||||
if ($request->hasFile('filename'))
|
||||
{
|
||||
$filename=$request->file('filename')->store();
|
||||
Movimenti::importEstrattoCR($filename);
|
||||
|
||||
return redirect(Route('movimenti'));
|
||||
}
|
||||
else {
|
||||
return 'Nessun File trovato';
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public function importFile()
|
||||
{
|
||||
return view('conti.import');
|
||||
}
|
||||
|
||||
public function importFileCR()
|
||||
{
|
||||
return view('conti.importCR');
|
||||
}
|
||||
|
||||
/* public function test()
|
||||
{
|
||||
Movimenti::getYearsFromMovimenti();
|
||||
}*/
|
||||
|
||||
public function manageRedirect(Request $request)
|
||||
{
|
||||
return redirect('/admin/movimenti/reportbudget/'.$request['anno']);
|
||||
}
|
||||
|
||||
public function updateMovimenti($id)
|
||||
{
|
||||
$mov=Movimenti::getMovimentoById($id);
|
||||
return json_encode($mov);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user