This commit is contained in:
paoloar77
2024-12-07 20:30:37 +01:00
parent b641999fcd
commit 59539b2fab
2 changed files with 46 additions and 23 deletions

View File

@@ -30,11 +30,43 @@ 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.*',
->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(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')

View File

@@ -25,11 +25,9 @@
<th>Rank 1 Y</th>
<th>Ult Ordi</th>
<th>Tot Venduti</th>
<th>QtaDisp</th>
<th>Ult Mese</th>
<th>Ult 3 Mese</th>
<th>Ult 6 Mesi</th>
<th>Ult Anno</th>
<th>Ult 2 Anni</th>
</tr>
</thead>
@@ -78,23 +76,16 @@
<td>@if (isset($articolo->totaleVenduti)){{ $articolo->totaleVenduti }}@endif</td>
<td>@if (isset($articolo->QtaDisponibile)){{ $articolo->QtaDisponibile }}@endif</td>
<td>@if (isset($articolo->totaleVendutiUltimoMese))
{{ $articolo->totaleVendutiUltimoMese }}
<td>@if (isset($articolo->venduti3mesi))
{{ $articolo->venduti3mesi }}
@endif
</td>
<td>@if (isset($articolo->totaleVendutiUltimi6Mesi))
{{ $articolo->totaleVendutiUltimi6Mesi }}
<td>@if (isset($articolo->venduti6mesi))
{{ $articolo->venduti6mesi }}
@endif
</td>
<td>@if (isset($articolo->totaleVendutiUltimoAnno))
{{ $articolo->totaleVendutiUltimoAnno }}
@endif
</td>
<td>@if (isset($articolo->totaleVendutiUltimi2Anni))
{{ $articolo->totaleVendutiUltimi2Anni }}
<td>@if (isset($articolo->venduti1anno))
{{ $articolo->venduti1anno }}
@endif
</td>
</tr>