diff --git a/app/Http/Controllers/ArticleController.php b/app/Http/Controllers/ArticleController.php index 7e81d370..0cee2026 100755 --- a/app/Http/Controllers/ArticleController.php +++ b/app/Http/Controllers/ArticleController.php @@ -16,15 +16,12 @@ class ArticleController extends Controller $data_start = '2024-11-01 00:00:00'; ini_set("memory_limit", "512M"); try { - $articoli = Article::whereRaw('DataOra >= \''. $data_start .'\'') - ->join(DB::raw('(SELECT IdArticolo, MAX(DataOra) AS data FROM T_WEB_Articoli WHERE DataOra >= \''. $data_start .'\' GROUP BY IdArticolo) b'), function ($join) { - $join->on('T_WEB_Articoli.IdArticolo', '=', 'b.IdArticolo') - ->on('T_WEB_Articoli.DataOra', '=', 'b.data'); - }) - ->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as totaleVenduti FROM T_WEB_Ordini WHERE DataOra >= \''. $data_start .'\' GROUP BY CodArticoloGM) O'), function ($join) { - $join->on('T_WEB_Articoli.IdArticolo', '=', 'O.CodArticoloGM'); - }) - ->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 WHERE DataOra >= \''. $data_start .'\' GROUP BY IdTipologia) h ON g.IdTipologia = h.IdTipologia AND g.DataOra = h.data1 ) i'), function ($join) { + $articoli = Article::join(DB::raw('(SELECT IdArticolo, MAX(DataOra) AS data FROM T_WEB_Articoli GROUP BY IdArticolo) b'), function ($join) { + $join->on('T_WEB_Articoli.IdArticolo', '=', 'b.IdArticolo') + ->on('T_WEB_Articoli.DataOra', '=', 'b.data'); + }) + ->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as totaleVenduti FROM T_WEB_Ordini GROUP BY CodArticoloGM) O'), 'T_WEB_Articoli.IdArticolo', '=', 'O.CodArticoloGM') + ->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'); }) ->select('T_WEB_Articoli.*', 'b.data as ultimaDataOra', DB::raw('COALESCE(O.totaleVenduti, 0) as totaleVenduti'))