From 59539b2fab470739dae677c07eedb388e6895a22 Mon Sep 17 00:00:00 2001 From: paoloar77 Date: Sat, 7 Dec 2024 20:30:37 +0100 Subject: [PATCH] aa --- app/Http/Controllers/ArticleController.php | 46 ++++++++++++++++--- .../views/export_articles_sales.blade.php | 23 +++------- 2 files changed, 46 insertions(+), 23 deletions(-) diff --git a/app/Http/Controllers/ArticleController.php b/app/Http/Controllers/ArticleController.php index 6d89c249..0d8a08f8 100755 --- a/app/Http/Controllers/ArticleController.php +++ b/app/Http/Controllers/ArticleController.php @@ -30,13 +30,45 @@ class ArticleController extends Controller ->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as totaleVenduti FROM T_WEB_Ordini GROUP BY CodArticoloGM) o'), function ($join) { $join->on('T_WEB_Articoli.IdArticolo', '=', 'o.CodArticoloGM'); }) - ->select('T_WEB_Articoli.*', - 'f.DescrizioneStatoProdotto', - 'i.DescrizioneTipologia', - 'n.DescrizioneFormato', - DB::raw('COALESCE(o.totaleVenduti, 0) as totaleVenduti')) - ->where('DescrizioneStatoProdotto','In commercio') - ->where('DescrizioneTipologia','Libri') + ->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as venduti3mesi, RANK() OVER (ORDER BY SUM(Qta) DESC) as rank3M + FROM T_WEB_Ordini + WHERE DataOra >= DATE_SUB(NOW(), INTERVAL 3 MONTH) + GROUP BY CodArticoloGM) p'), function ($join) { + $join->on('T_WEB_Articoli.IdArticolo', '=', 'p.CodArticoloGM'); + }) + ->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as venduti6mesi, RANK() OVER (ORDER BY SUM(Qta) DESC) as rank6M + FROM T_WEB_Ordini + WHERE DataOra >= DATE_SUB(NOW(), INTERVAL 6 MONTH) + GROUP BY CodArticoloGM) q'), function ($join) { + $join->on('T_WEB_Articoli.IdArticolo', '=', 'q.CodArticoloGM'); + }) + ->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as venduti1anno, RANK() OVER (ORDER BY SUM(Qta) DESC) as rank1Y + FROM T_WEB_Ordini + WHERE DataOra >= DATE_SUB(NOW(), INTERVAL 1 YEAR) + GROUP BY CodArticoloGM) r'), function ($join) { + $join->on('T_WEB_Articoli.IdArticolo', '=', 'r.CodArticoloGM'); + }) + ->leftJoin(DB::raw('(SELECT CodArticoloGM, MAX(DataOra) as ultimoOrdine + FROM T_WEB_Ordini + GROUP BY CodArticoloGM) s'), function ($join) { + $join->on('T_WEB_Articoli.IdArticolo', '=', 's.CodArticoloGM'); + }) + ->select( + 'T_WEB_Articoli.*', + 'f.DescrizioneStatoProdotto', + 'i.DescrizioneTipologia', + 'n.DescrizioneFormato', + DB::raw('COALESCE(o.totaleVenduti, 0) as totaleVenduti'), + DB::raw('COALESCE(p.venduti3mesi, 0) as venduti3mesi'), + DB::raw('COALESCE(p.rank3M, 0) as rank3M'), + DB::raw('COALESCE(q.venduti6mesi, 0) as venduti6mesi'), + DB::raw('COALESCE(q.rank6M, 0) as rank6M'), + DB::raw('COALESCE(r.venduti1anno, 0) as venduti1anno'), + DB::raw('COALESCE(r.rank1Y, 0) as rank1Y'), + DB::raw('s.ultimoOrdine') + ) + ->where('DescrizioneStatoProdotto', 'In commercio') + ->where('DescrizioneTipologia', 'Libri') ->orderBy('totaleVenduti', 'desc') ->get(); diff --git a/resources/views/export_articles_sales.blade.php b/resources/views/export_articles_sales.blade.php index d2ee21e5..4c75f4eb 100644 --- a/resources/views/export_articles_sales.blade.php +++ b/resources/views/export_articles_sales.blade.php @@ -25,11 +25,9 @@ Rank 1 Y Ult Ordi Tot Venduti - QtaDisp - Ult Mese + Ult 3 Mese Ult 6 Mesi Ult Anno - Ult 2 Anni @@ -78,23 +76,16 @@ @if (isset($articolo->totaleVenduti)){{ $articolo->totaleVenduti }}@endif - @if (isset($articolo->QtaDisponibile)){{ $articolo->QtaDisponibile }}@endif - @if (isset($articolo->totaleVendutiUltimoMese)) - {{ $articolo->totaleVendutiUltimoMese }} + @if (isset($articolo->venduti3mesi)) + {{ $articolo->venduti3mesi }} @endif - @if (isset($articolo->totaleVendutiUltimi6Mesi)) - {{ $articolo->totaleVendutiUltimi6Mesi }} + @if (isset($articolo->venduti6mesi)) + {{ $articolo->venduti6mesi }} @endif - - @if (isset($articolo->totaleVendutiUltimoAnno)) - {{ $articolo->totaleVendutiUltimoAnno }} - @endif - - - @if (isset($articolo->totaleVendutiUltimi2Anni)) - {{ $articolo->totaleVendutiUltimi2Anni }} + @if (isset($articolo->venduti1anno)) + {{ $articolo->venduti1anno }} @endif