diff --git a/app/Http/Controllers/ArticleController.php b/app/Http/Controllers/ArticleController.php index 642e96c5..36ff0058 100755 --- a/app/Http/Controllers/ArticleController.php +++ b/app/Http/Controllers/ArticleController.php @@ -26,7 +26,8 @@ class ArticleController extends Controller $join->on('T_WEB_Articoli.IdArticolo', '=', 'b.IdArticolo') ->on('T_WEB_Articoli.DataOra', '=', 'b.data'); }) - ->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as totVen, MAX(DataOra) as ultimaDataOra FROM T_WEB_Ordini WHERE DataOra > \'' . $data_start . '\' GROUP BY CodArticoloGM) O'), 'T_WEB_Articoli.IdArticolo', '=', 'O.CodArticoloGM') + //->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as totVen, MAX(DataOra) as ultimaDataOra FROM T_WEB_Ordini WHERE DataOra > \'' . $data_start . '\' GROUP BY CodArticoloGM) O'), 'T_WEB_Articoli.IdArticolo', '=', 'O.CodArticoloGM') + ->leftJoin(DB::raw('(SELECT CodArticolo, SUM(Qta) as totVen, MAX(DataOra) as ultimaDataOra FROM T_WEB_ArticoliFatturati WHERE DataOra > \'' . $data_start . '\' GROUP BY CodArticolo) O'), 'T_WEB_Articoli.IdArticolo', '=', 'O.CodArticolo') ->leftJoin(DB::raw('(SELECT g.IdTipologia, g.Descrizione as DescrizioneTipologia FROM T_WEB_Tipologie g JOIN (SELECT IdTipologia, MAX(DataOra) as data1 from T_WEB_Tipologie GROUP BY IdTipologia) h ON g.IdTipologia = h.IdTipologia AND g.DataOra = h.data1 ) i'), function ($join) { $join->on('T_WEB_Articoli.IdTipologia', '=', 'i.IdTipologia'); }) @@ -119,6 +120,41 @@ class ArticleController extends Controller return $ordini; + } + private function queryFatturatiByIdArticolo($idArticolo) + { + ini_set("memory_limit", "512M"); + try { + $ordini = DB::table('T_WEB_ArticoliFatturati as O') + ->leftJoin(DB::raw('( + SELECT + IdArticolo, + MAX(DataOra) as data + FROM T_WEB_Articoli + GROUP BY IdArticolo + ) b'), 'O.CodArticolo', '=', 'b.IdArticolo') + ->join('T_WEB_Articoli as A', function ($join) { + $join->on('O.CodArticolo', '=', 'A.IdArticolo') + ->on('b.data', '=', 'A.DataOra'); + }) + ->select( + DB::raw('ROW_NUMBER() OVER (ORDER BY O.DataOra DESC) AS progressivo'), + 'O.DataOra', + 'O.Qta', + 'A.Titolo', + 'A.Ean13' + ) + ->orderBy('O.DataOra', 'desc') + ->where('O.CodArticolo', '=', $idArticolo) + ->get(); + + } catch (\Exception $e) { + // Registrazione dell'errore + return response()->json(['error' => 'Si è verificato un errore durante il recupero dei dati: ' . $e->getMessage()], 500); + } + + return $ordini; + } private function queryshowInfoArticolo($idArticolo) { @@ -289,6 +325,20 @@ class ArticleController extends Controller } } + public function showFatturatiByIdArticolo($idArticolo) + { + try { + + $ordini = $this->queryFatturatiByIdArticolo($idArticolo); + + return view('fatturati', ['ordini' => $ordini]); + + } catch (\Exception $e) { + // Potresti considerare di registrare l'errore per debugging + return new Response('Error exporting articles: ' . $e->getMessage(), 500); + + } + } public function showInfoArticolo($idArticolo) { try { diff --git a/resources/views/export_articles_sales.blade.php b/resources/views/export_articles_sales.blade.php index 2480e653..08c66336 100644 --- a/resources/views/export_articles_sales.blade.php +++ b/resources/views/export_articles_sales.blade.php @@ -81,7 +81,9 @@
| Num | +Data Ora | +Quantità | +Cod Articolo | +Titolo Articolo | +Ean13 | +
|---|---|---|---|---|---|
| @if (isset($ordine->progressivo)){{ $ordine->progressivo }}@endif + | +@if (isset($ordine->DataOra)) + {{ \Carbon\Carbon::parse($ordine->DataOra)->format('d/m/Y H:i:s') }} + @endif + | +@if (isset($ordine->Qta)){{ $ordine->Qta }}@endif + | +@if (isset($ordine->CodArticolo)){{ $ordine->CodArticolo }}@endif + | +@if (isset($ordine->Titolo)){{ $ordine->Titolo }}@endif + | +@if (isset($ordine->Ean13)){{ $ordine->Ean13 }}@endif + | +