aaa
This commit is contained in:
@@ -295,59 +295,70 @@ class ArticleController extends Controller
|
|||||||
$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');
|
||||||
})
|
})
|
||||||
->leftJoin(DB::raw('(SELECT e.IdStatoProdotto, e.Descrizione as DescrizioneStatoProdotto FROM T_WEB_StatiProdotto e JOIN (SELECT IdStatoProdotto, MAX(DataOra) as data1 from T_WEB_StatiProdotto GROUP BY IdStatoProdotto) c ON e.IdStatoProdotto = c.IdStatoProdotto AND e.DataOra = c.data1 ) f'), function ($join) {
|
->leftJoin(DB::raw('(SELECT e.IdStatoProdotto, e.Descrizione as DescrizioneStatoProdotto FROM T_WEB_StatiProdotto e
|
||||||
|
JOIN (SELECT IdStatoProdotto, MAX(DataOra) as data1
|
||||||
|
FROM T_WEB_StatiProdotto GROUP BY IdStatoProdotto) c
|
||||||
|
ON e.IdStatoProdotto = c.IdStatoProdotto AND e.DataOra = c.data1) f'), function ($join) {
|
||||||
$join->on('T_WEB_Articoli.IdStatoProdotto', '=', 'f.IdStatoProdotto');
|
$join->on('T_WEB_Articoli.IdStatoProdotto', '=', 'f.IdStatoProdotto');
|
||||||
})
|
})
|
||||||
->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 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');
|
$join->on('T_WEB_Articoli.IdTipologia', '=', 'i.IdTipologia');
|
||||||
})
|
})
|
||||||
->leftJoin(DB::raw('(SELECT l.IdTipoFormato, l.Descrizione as DescrizioneFormato FROM T_WEB_TipiFormato l JOIN (SELECT IdTipoFormato, MAX(DataOra) as data1 from T_WEB_TipiFormato GROUP BY IdTipoFormato) m ON l.IdTipoFormato = m.IdTipoFormato AND l.DataOra = m.data1 ) n'), function ($join) {
|
->leftJoin(DB::raw('(SELECT l.IdTipoFormato, l.Descrizione as DescrizioneFormato FROM T_WEB_TipiFormato l
|
||||||
|
JOIN (SELECT IdTipoFormato, MAX(DataOra) as data1
|
||||||
|
FROM T_WEB_TipiFormato GROUP BY IdTipoFormato) m
|
||||||
|
ON l.IdTipoFormato = m.IdTipoFormato AND l.DataOra = m.data1) n'), function ($join) {
|
||||||
$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 WHERE ISNUMERIC(Qta) = 1 GROUP BY CodArticolo) o'), function ($join) {
|
->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) {
|
||||||
$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, RANK() OVER (ORDER BY SUM(TRY_CAST(Qta AS INT)) DESC) as rank3M
|
->leftJoin(DB::raw('(SELECT CodArticolo, SUM(TRY_CAST(Qta AS INT)) as venduti3mesi,
|
||||||
FROM T_WEB_ArticoliFatturati
|
RANK() OVER (ORDER BY SUM(TRY_CAST(Qta AS INT)) DESC) as rank3M
|
||||||
WHERE DataOra >= DATEADD(MONTH, -3, GETDATE()) AND ISNUMERIC(Qta) = 1
|
FROM T_WEB_ArticoliFatturati
|
||||||
GROUP BY CodArticolo) p'), function ($join) {
|
WHERE DataOra >= DATEADD(MONTH, -3, GETDATE()) AND ISNUMERIC(Qta) = 1
|
||||||
|
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, RANK() OVER (ORDER BY SUM(TRY_CAST(Qta AS INT)) DESC) as rank6M
|
->leftJoin(DB::raw('(SELECT CodArticolo, SUM(TRY_CAST(Qta AS INT)) as venduti6mesi,
|
||||||
FROM T_WEB_ArticoliFatturati
|
RANK() OVER (ORDER BY SUM(TRY_CAST(Qta AS INT)) DESC) as rank6M
|
||||||
WHERE DataOra >= DATEADD(MONTH, -6, GETDATE()) AND ISNUMERIC(Qta) = 1
|
FROM T_WEB_ArticoliFatturati
|
||||||
GROUP BY CodArticolo) q'), function ($join) {
|
WHERE DataOra >= DATEADD(MONTH, -6, GETDATE()) AND ISNUMERIC(Qta) = 1
|
||||||
|
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, RANK() OVER (ORDER BY SUM(TRY_CAST(Qta AS INT)) DESC) as rank1Y
|
->leftJoin(DB::raw('(SELECT CodArticolo, SUM(TRY_CAST(Qta AS INT)) as venduti1anno,
|
||||||
FROM T_WEB_ArticoliFatturati
|
RANK() OVER (ORDER BY SUM(TRY_CAST(Qta AS INT)) DESC) as rank1Y
|
||||||
WHERE DataOra >= DATEADD(MONTH, -12, GETDATE()) AND ISNUMERIC(Qta) = 1
|
FROM T_WEB_ArticoliFatturati
|
||||||
GROUP BY CodArticolo) r'), function ($join) {
|
WHERE DataOra >= DATEADD(MONTH, -12, GETDATE()) AND ISNUMERIC(Qta) = 1
|
||||||
|
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
|
->leftJoin(DB::raw('(SELECT CodArticolo, MAX(DataOra) as ultimoOrdine
|
||||||
FROM T_WEB_ArticoliFatturati
|
FROM T_WEB_ArticoliFatturati
|
||||||
WHERE ISNUMERIC(Qta) = 1
|
WHERE ISNUMERIC(Qta) = 1
|
||||||
GROUP BY CodArticolo) s'), function ($join) {
|
GROUP BY CodArticolo) s'), function ($join) {
|
||||||
$join->on('T_WEB_Articoli.IdArticolo', '=', 's.CodArticolo');
|
$join->on('T_WEB_Articoli.IdArticolo', '=', 's.CodArticolo');
|
||||||
})
|
})
|
||||||
->leftJoin(DB::raw('(
|
->leftJoin(DB::raw('(SELECT v.IdCollana, v.Descrizione as DescrizioneCollana
|
||||||
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 (
|
FROM T_WEB_Collane GROUP BY IdCollana) x
|
||||||
SELECT IdCollana, MAX(ID) as MaxID
|
ON v.IdCollana = x.IdCollana AND v.ID = x.MaxID) y'), function ($join) {
|
||||||
FROM T_WEB_Collane
|
|
||||||
GROUP BY IdCollana
|
|
||||||
) x ON v.IdCollana = x.IdCollana AND v.ID = x.MaxID
|
|
||||||
) y'), function ($join) {
|
|
||||||
$join->on('T_WEB_Articoli.IdCollana', '=', 'y.IdCollana');
|
$join->on('T_WEB_Articoli.IdCollana', '=', 'y.IdCollana');
|
||||||
})
|
})
|
||||||
->leftJoin(DB::raw('(SELECT g2.IdArgomento, g2.Descrizione as DescrArgomento FROM T_WEB_Argomenti g2
|
->leftJoin(DB::raw('(SELECT g2.IdArgomento, g2.Descrizione as DescrArgomento
|
||||||
JOIN (SELECT IdArgomento, MAX(DataOra) as data12 from T_WEB_Argomenti GROUP BY IdArgomento) h2
|
FROM T_WEB_Argomenti g2
|
||||||
ON g2.IdArgomento = h.IdArgomento AND g2.DataOra = h.data12 ) i2'), function ($join) {
|
JOIN (SELECT IdArgomento, MAX(DataOra) as data12
|
||||||
|
FROM T_WEB_Argomenti
|
||||||
|
GROUP BY IdArgomento) h
|
||||||
|
ON g2.IdArgomento = h.IdArgomento AND g2.DataOra = h.data12) i2'), function ($join) {
|
||||||
$join->on('T_WEB_Articoli.ListaArgomenti', '=', 'i2.IdArgomento');
|
$join->on('T_WEB_Articoli.ListaArgomenti', '=', 'i2.IdArgomento');
|
||||||
})
|
})
|
||||||
|
|
||||||
->select(
|
->select(
|
||||||
'T_WEB_Articoli.*',
|
'T_WEB_Articoli.*',
|
||||||
'f.DescrizioneStatoProdotto',
|
'f.DescrizioneStatoProdotto',
|
||||||
@@ -369,7 +380,7 @@ class ArticleController extends Controller
|
|||||||
//->orderBy('rank1Y', 'asc')
|
//->orderBy('rank1Y', 'asc')
|
||||||
->orderBy('totFat', 'desc')
|
->orderBy('totFat', 'desc')
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
if ($articoliVenduti->isEmpty()) {
|
if ($articoliVenduti->isEmpty()) {
|
||||||
return response()->json(['message' => 'Nessun articolo fatturato trovato.'], 404);
|
return response()->json(['message' => 'Nessun articolo fatturato trovato.'], 404);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user