This commit is contained in:
paoloar77
2024-12-08 12:01:41 +01:00
parent 05f5229dba
commit 7bda99800c

View File

@@ -15,16 +15,16 @@ class ArticleController extends Controller
{ {
ini_set("memory_limit", "512M"); ini_set("memory_limit", "512M");
try { try {
$articoli = Article::join(DB::raw('(SELECT IdArticolo, MAX(DataOra) AS data FROM T_WEB_Articoli WHERE Dataora >= ? GROUP BY IdArticolo) b'), function ($join) { $articoli = Article::join(DB::raw('(SELECT IdArticolo, MAX(DataOra) AS data FROM T_WEB_Articoli WHERE DataOra >= ? GROUP BY IdArticolo) b'), function ($join) {
$join->on('T_WEB_Articoli.IdArticolo', '=', 'b.IdArticolo') $join->on('T_WEB_Articoli.IdArticolo', '=', 'b.IdArticolo')
->on('T_WEB_Articoli.DataOra', '=', 'b.data'); ->on('T_WEB_Articoli.DataOra', '=', 'b.data');
}, [$data_start]) }, [$data_start])
->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as totaleVenduti FROM T_WEB_Ordini WHERE DataOra >= ? GROUP BY CodArticoloGM) O'), function ($join) use ($data_start) { ->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as totaleVenduti FROM T_WEB_Ordini WHERE DataOra >= ? GROUP BY CodArticoloGM) O'), function ($join) use ($data_start) {
$join->on('T_WEB_Articoli.IdArticolo', '=', 'O.CodArticoloGM'); $join->on('T_WEB_Articoli.IdArticolo', '=', 'O.CodArticoloGM');
}, [$data_start]) }, [$data_start])
->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) { ->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 >= ? GROUP BY IdTipologia) h ON g.IdTipologia = h.IdTipologia AND g.DataOra = h.data1 ) i'), function ($join) use ($data_start) {
$join->on('T_WEB_Articoli.IdTipologia', '=', 'i.IdTipologia'); $join->on('T_WEB_Articoli.IdTipologia', '=', 'i.IdTipologia');
}) }, [$data_start])
->select('T_WEB_Articoli.*', 'b.data as ultimaDataOra', DB::raw('COALESCE(O.totaleVenduti, 0) as totaleVenduti')) ->select('T_WEB_Articoli.*', 'b.data as ultimaDataOra', DB::raw('COALESCE(O.totaleVenduti, 0) as totaleVenduti'))
->where('DescrizioneTipologia', 'Libri') ->where('DescrizioneTipologia', 'Libri')
->orderBy('totaleVenduti', 'desc') ->orderBy('totaleVenduti', 'desc')
@@ -47,27 +47,27 @@ class ArticleController extends Controller
ini_set("memory_limit", "512M"); ini_set("memory_limit", "512M");
try { try {
$ordini = DB::table('T_WEB_Ordini as O') $ordini = DB::table('T_WEB_Ordini as O')
->leftJoin(DB::raw('( ->leftJoin(DB::raw('(
SELECT SELECT
IdArticolo, IdArticolo,
MAX(DataOra) as data MAX(DataOra) as data
FROM T_WEB_Articoli FROM T_WEB_Articoli
GROUP BY IdArticolo GROUP BY IdArticolo
) b'), 'O.CodArticoloGM', '=', 'b.IdArticolo') ) b'), 'O.CodArticoloGM', '=', 'b.IdArticolo')
->join('T_WEB_Articoli as A', function ($join) { ->join('T_WEB_Articoli as A', function ($join) {
$join->on('O.CodArticoloGM', '=', 'A.IdArticolo') $join->on('O.CodArticoloGM', '=', 'A.IdArticolo')
->on('b.data', '=', 'A.DataOra'); ->on('b.data', '=', 'A.DataOra');
}) })
->select( ->select(
DB::raw('ROW_NUMBER() OVER (ORDER BY O.DataOra DESC) AS progressivo'), DB::raw('ROW_NUMBER() OVER (ORDER BY O.DataOra DESC) AS progressivo'),
'O.DataOra', 'O.DataOra',
'O.Qta', 'O.Qta',
'A.Titolo', 'A.Titolo',
'A.Ean13' 'A.Ean13'
) )
->orderBy('O.DataOra', 'desc') ->orderBy('O.DataOra', 'desc')
->take($numrec) ->take($numrec)
->get(); ->get();
} catch (\Exception $e) { } catch (\Exception $e) {
// Registrazione dell'errore // Registrazione dell'errore