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,13 +30,45 @@ class ArticleController extends Controller
->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as totaleVenduti FROM T_WEB_Ordini GROUP BY CodArticoloGM) o'), function ($join) { ->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'); $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
'f.DescrizioneStatoProdotto', FROM T_WEB_Ordini
'i.DescrizioneTipologia', WHERE DataOra >= DATE_SUB(NOW(), INTERVAL 3 MONTH)
'n.DescrizioneFormato', GROUP BY CodArticoloGM) p'), function ($join) {
DB::raw('COALESCE(o.totaleVenduti, 0) as totaleVenduti')) $join->on('T_WEB_Articoli.IdArticolo', '=', 'p.CodArticoloGM');
->where('DescrizioneStatoProdotto','In commercio') })
->where('DescrizioneTipologia','Libri') ->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(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') ->orderBy('totaleVenduti', 'desc')
->get(); ->get();

View File

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