Aggiornamenti

This commit is contained in:
paoloar77
2025-04-11 18:40:53 +02:00
parent 918bd0e3a7
commit d11b0b3583

View File

@@ -225,11 +225,20 @@ class ArticleController extends Controller
}) })
->leftJoin(DB::raw('(SELECT CodArticolo, SUM(TRY_CAST(Qta AS INT)) as fat3mesi, RANK() OVER (ORDER BY SUM(TRY_CAST(Qta AS INT)) DESC) as fatrank3M ->leftJoin(DB::raw('(SELECT CodArticolo, SUM(TRY_CAST(Qta AS INT)) as fat3mesi, RANK() OVER (ORDER BY SUM(TRY_CAST(Qta AS INT)) DESC) as fatrank3M
FROM T_WEB_ArticoliFatturati FROM T_WEB_ArticoliFatturati
WHERE DataOra >= DATEADD(MONTH, -3, GETDATE()) AND ISNUMERIC(Qta) = 1 WHERE DataOra >= DATEADD(MONTH, -3, GETDATE())
GROUP BY CodArticolo) t'), function ($join) { GROUP BY CodArticolo) t'), function ($join) {
$join->on('T_WEB_Articoli.IdArticolo', '=', 't.CodArticolo'); $join->on('T_WEB_Articoli.IdArticolo', '=', 't.CodArticolo');
}) })
->leftJoin(DB::raw('(SELECT CodArticolo, SUM(TRY_CAST(Qta AS INT)) as totFat FROM T_WEB_ArticoliFatturati WHERE ISNUMERIC(Qta) = 1 GROUP BY CodArticolo) u'), function ($join) { ->leftJoin(DB::raw('(SELECT CodArticolo, SUM(TRY_CAST(Qta AS INT)) as fat6mesi, RANK() OVER (ORDER BY SUM(TRY_CAST(Qta AS INT)) DESC) as fatrank6M
FROM T_WEB_ArticoliFatturati
WHERE DataOra >= DATEADD(MONTH, -6, GETDATE())
GROUP BY CodArticolo) t2'), function ($join) {
$join->on('T_WEB_Articoli.IdArticolo', '=', 't2.CodArticolo');
})
->leftJoin(DB::raw('(SELECT CodArticolo, SUM(TRY_CAST(Qta AS BIGINT)) as totFat
FROM T_WEB_ArticoliFatturati
WHERE TRY_CAST(Qta AS BIGINT) IS NOT NULL
GROUP BY CodArticolo) u'), function ($join) {
$join->on('T_WEB_Articoli.IdArticolo', '=', 'u.CodArticolo'); $join->on('T_WEB_Articoli.IdArticolo', '=', 'u.CodArticolo');
}) })
->leftJoin(DB::raw('( ->leftJoin(DB::raw('(
@@ -268,6 +277,7 @@ class ArticleController extends Controller
DB::raw('COALESCE(t.fat3mesi, 0) as fat3mesi'), DB::raw('COALESCE(t.fat3mesi, 0) as fat3mesi'),
DB::raw('COALESCE(p.rank3M, 0) as rank3M'), DB::raw('COALESCE(p.rank3M, 0) as rank3M'),
DB::raw('COALESCE(t.fatrank3M, 0) as fatrank3M'), DB::raw('COALESCE(t.fatrank3M, 0) as fatrank3M'),
DB::raw('COALESCE(t2.fatrank6M, 0) as fatrank6M'),
DB::raw('COALESCE(q.venduti6mesi, 0) as venduti6mesi'), DB::raw('COALESCE(q.venduti6mesi, 0) as venduti6mesi'),
DB::raw('COALESCE(q.rank6M, 0) as rank6M'), DB::raw('COALESCE(q.rank6M, 0) as rank6M'),
DB::raw('COALESCE(r.venduti1anno, 0) as venduti1anno'), DB::raw('COALESCE(r.venduti1anno, 0) as venduti1anno'),
@@ -319,36 +329,36 @@ class ArticleController extends Controller
$join->on('T_WEB_Articoli.IdTipoFormato', '=', 'n.IdTipoFormato'); $join->on('T_WEB_Articoli.IdTipoFormato', '=', 'n.IdTipoFormato');
}) })
->leftJoin(DB::raw('(SELECT CodArticolo, SUM(TRY_CAST(Qta AS INT)) AS totFat FROM T_WEB_ArticoliFatturati ->leftJoin(DB::raw('(SELECT CodArticolo, SUM(TRY_CAST(Qta AS INT)) AS totFat FROM T_WEB_ArticoliFatturati
WHERE ISNUMERIC(Qta) = 1 GROUP BY CodArticolo) o'), function ($join) { GROUP BY CodArticolo) o'), function ($join) {
$join->on('T_WEB_Articoli.IdArticolo', '=', 'o.CodArticolo'); $join->on('T_WEB_Articoli.IdArticolo', '=', 'o.CodArticolo');
}) })
->leftJoin(DB::raw('(SELECT CodArticolo, SUM(TRY_CAST(Qta AS INT)) as venduti3mesi, ->leftJoin(DB::raw('(SELECT CodArticolo, SUM(TRY_CAST(Qta AS INT)) as venduti3mesi,
RANK() OVER (ORDER BY SUM(TRY_CAST(Qta AS INT)) DESC) as rank3M RANK() OVER (ORDER BY SUM(TRY_CAST(Qta AS INT)) DESC) as rank3M
FROM T_WEB_ArticoliFatturati FROM T_WEB_ArticoliFatturati
WHERE DataOra >= DATEADD(MONTH, -3, GETDATE()) AND ISNUMERIC(Qta) = 1 WHERE DataOra >= DATEADD(MONTH, -3, GETDATE())
GROUP BY CodArticolo) p'), function ($join) { GROUP BY CodArticolo) p'), function ($join) {
$join->on('T_WEB_Articoli.IdArticolo', '=', 'p.CodArticolo'); $join->on('T_WEB_Articoli.IdArticolo', '=', 'p.CodArticolo');
}) })
->leftJoin(DB::raw('(SELECT CodArticolo, SUM(TRY_CAST(Qta AS INT)) as venduti6mesi, ->leftJoin(DB::raw('(SELECT CodArticolo, SUM(TRY_CAST(Qta AS INT)) as venduti6mesi,
RANK() OVER (ORDER BY SUM(TRY_CAST(Qta AS INT)) DESC) as rank6M RANK() OVER (ORDER BY SUM(TRY_CAST(Qta AS INT)) DESC) as rank6M
FROM T_WEB_ArticoliFatturati FROM T_WEB_ArticoliFatturati
WHERE DataOra >= DATEADD(MONTH, -6, GETDATE()) AND ISNUMERIC(Qta) = 1 WHERE DataOra >= DATEADD(MONTH, -6, GETDATE())
GROUP BY CodArticolo) q'), function ($join) { GROUP BY CodArticolo) q'), function ($join) {
$join->on('T_WEB_Articoli.IdArticolo', '=', 'q.CodArticolo'); $join->on('T_WEB_Articoli.IdArticolo', '=', 'q.CodArticolo');
}) })
->leftJoin(DB::raw('(SELECT CodArticolo, SUM(TRY_CAST(Qta AS INT)) as venduti1anno, ->leftJoin(DB::raw('(SELECT CodArticolo, SUM(TRY_CAST(Qta AS INT)) as venduti1anno,
RANK() OVER (ORDER BY SUM(TRY_CAST(Qta AS INT)) DESC) as rank1Y RANK() OVER (ORDER BY SUM(TRY_CAST(Qta AS INT)) DESC) as rank1Y
FROM T_WEB_ArticoliFatturati FROM T_WEB_ArticoliFatturati
WHERE DataOra >= DATEADD(MONTH, -12, GETDATE()) AND ISNUMERIC(Qta) = 1 WHERE DataOra >= DATEADD(MONTH, -12, GETDATE())
GROUP BY CodArticolo) r'), function ($join) { GROUP BY CodArticolo) r'), function ($join) {
$join->on('T_WEB_Articoli.IdArticolo', '=', 'r.CodArticolo'); $join->on('T_WEB_Articoli.IdArticolo', '=', 'r.CodArticolo');
}) })
->leftJoin(DB::raw('(SELECT CodArticolo, MAX(DataOra) as ultimoOrdine ->addSelect(DB::raw('(
FROM T_WEB_ArticoliFatturati SELECT MAX(DataOra)
WHERE ISNUMERIC(Qta) = 1 FROM T_WEB_ArticoliFatturati
GROUP BY CodArticolo) s'), function ($join) { WHERE ISNUMERIC(Qta) = 1
$join->on('T_WEB_Articoli.IdArticolo', '=', 's.CodArticolo'); AND CodArticolo = T_WEB_Articoli.IdArticolo
}) ) as ultimoOrdine'))
->leftJoin(DB::raw('(SELECT v.IdCollana, v.Descrizione as DescrizioneCollana ->leftJoin(DB::raw('(SELECT v.IdCollana, v.Descrizione as DescrizioneCollana
FROM T_WEB_Collane v FROM T_WEB_Collane v
INNER JOIN (SELECT IdCollana, MAX(ID) as MaxID INNER JOIN (SELECT IdCollana, MAX(ID) as MaxID
@@ -575,9 +585,11 @@ class ArticleController extends Controller
'totFat' => $articoloVenduto->totFat, 'totFat' => $articoloVenduto->totFat,
'rank3M' => $articoloVenduto->rank3M, 'rank3M' => $articoloVenduto->rank3M,
'fatrank3M' => $articoloVenduto->fatrank3M, 'fatrank3M' => $articoloVenduto->fatrank3M,
'fatrank6M' => $articoloVenduto->fatrank6M,
'rank6M' => $articoloVenduto->rank6M, 'rank6M' => $articoloVenduto->rank6M,
'rank1Y' => $articoloVenduto->rank1Y, 'rank1Y' => $articoloVenduto->rank1Y,
'fatLast3M' => $articoloVenduto->fat3mesi, 'fatLast3M' => $articoloVenduto->fat3mesi,
'fatLast6M' => $articoloVenduto->fat6mesi,
'vLast3M' => $articoloVenduto->venduti3mesi, 'vLast3M' => $articoloVenduto->venduti3mesi,
'vLast6M' => $articoloVenduto->venduti6mesi, 'vLast6M' => $articoloVenduto->venduti6mesi,
'vLastY' => $articoloVenduto->venduti1anno, 'vLastY' => $articoloVenduto->venduti1anno,