This commit is contained in:
paoloar77
2024-11-27 17:17:08 +01:00
parent 8b935f117e
commit 75b28cd967
2 changed files with 17 additions and 3 deletions

View File

@@ -35,7 +35,12 @@ class ArticleController extends Controller
SUM(CASE WHEN T_WEB_Ordini.DataOra >= DATEADD(month, -6, GETDATE()) THEN T_WEB_Ordini.qta ELSE 0 END) as totaleVendutoUltimi6Mesi, SUM(CASE WHEN T_WEB_Ordini.DataOra >= DATEADD(month, -6, GETDATE()) THEN T_WEB_Ordini.qta ELSE 0 END) as totaleVendutoUltimi6Mesi,
SUM(CASE WHEN T_WEB_Ordini.DataOra >= DATEADD(year, -1, GETDATE()) THEN T_WEB_Ordini.qta ELSE 0 END) as totaleVendutoUltimoAnno, SUM(CASE WHEN T_WEB_Ordini.DataOra >= DATEADD(year, -1, GETDATE()) THEN T_WEB_Ordini.qta ELSE 0 END) as totaleVendutoUltimoAnno,
SUM(CASE WHEN T_WEB_Ordini.DataOra >= DATEADD(year, -2, GETDATE()) THEN T_WEB_Ordini.qta ELSE 0 END) as totaleVendutoUltimi2Anni, SUM(CASE WHEN T_WEB_Ordini.DataOra >= DATEADD(year, -2, GETDATE()) THEN T_WEB_Ordini.qta ELSE 0 END) as totaleVendutoUltimi2Anni,
MAX(T_WEB_Ordini.DataOra) AS ultimoOrdine MAX(T_WEB_Ordini.DataOra) AS ultimoOrdine,
-- Calcolo dei ranghi
RANK() OVER (ORDER BY SUM(CASE WHEN T_WEB_Ordini.DataOra >= DATEADD(month, -3, GETDATE()) THEN T_WEB_Ordini.qta ELSE 0 END) DESC) as rank3M,
RANK() OVER (ORDER BY SUM(CASE WHEN T_WEB_Ordini.DataOra >= DATEADD(month, -6, GETDATE()) THEN T_WEB_Ordini.qta ELSE 0 END) DESC) as rank6M,
RANK() OVER (ORDER BY SUM(CASE WHEN T_WEB_Ordini.DataOra >= DATEADD(year, -1, GETDATE()) THEN T_WEB_Ordini.qta ELSE 0 END) DESC) as rank1Y
') ')
->groupBy('T_WEB_Articoli.idArticolo', 'T_WEB_Articoli.Titolo') ->groupBy('T_WEB_Articoli.idArticolo', 'T_WEB_Articoli.Titolo')
->orderBy('totaleVendutoUltimi2Anni', 'desc') ->orderBy('totaleVendutoUltimi2Anni', 'desc')
@@ -77,10 +82,10 @@ class ArticleController extends Controller
$response->headers->set('Content-Disposition', 'attachment; filename="' . $filename . '"'); $response->headers->set('Content-Disposition', 'attachment; filename="' . $filename . '"');
$csvContent = "IdArticolo,Titolo,TotaleVenduto,TotaleVendutoUltimoMese,TotaleVendutoUltimi6Mesi,TotaleVendutoUltimoAnno,totaleVendutoUltimi2Anni,UltimoOrdine\n"; $csvContent = "IdArticolo,Titolo,rank3M,rank6M,rank1Y,TotaleVenduto,TotaleVendutoUltimoMese,TotaleVendutoUltimi6Mesi,TotaleVendutoUltimoAnno,totaleVendutoUltimi2Anni,UltimoOrdine\n";
foreach ($articoliVenduti as $articoloVenduto) { foreach ($articoliVenduti as $articoloVenduto) {
$csvContent .= "{$articoloVenduto->idArticolo},{$articoloVenduto->Titolo},{$articoloVenduto->totaleVenduto},{$articoloVenduto->totaleVendutoUltimoMese},{$articoloVenduto->totaleVendutoUltimi6Mesi},{$articoloVenduto->totaleVendutoUltimoAnno},{$articoloVenduto->ultimoOrdine}\n"; $csvContent .= "{$articoloVenduto->idArticolo},{$articoloVenduto->Titolo},{$articoloVenduto->rank3M},{$articoloVenduto->rank6M},{$articoloVenduto->rank1Y},{$articoloVenduto->totaleVenduto},{$articoloVenduto->totaleVendutoUltimoMese},{$articoloVenduto->totaleVendutoUltimi6Mesi},{$articoloVenduto->totaleVendutoUltimoAnno},{$articoloVenduto->ultimoOrdine}\n";
} }
$response->setContent($csvContent); $response->setContent($csvContent);
@@ -104,6 +109,9 @@ class ArticleController extends Controller
'id' => $articoloVenduto->idArticolo, 'id' => $articoloVenduto->idArticolo,
'title' => $articoloVenduto->Titolo, 'title' => $articoloVenduto->Titolo,
'totaleVenduti' => $articoloVenduto->totaleVenduto, 'totaleVenduti' => $articoloVenduto->totaleVenduto,
'rank3M' => $articoloVenduto->rank3M,
'rank6M' => $articoloVenduto->rank6M,
'rank1Y' => $articoloVenduto->rank1Y,
'venditeLastM' => $articoloVenduto->totaleVendutoUltimoMese, 'venditeLastM' => $articoloVenduto->totaleVendutoUltimoMese,
'venditeLast6M' => $articoloVenduto->totaleVendutoUltimi6Mesi, 'venditeLast6M' => $articoloVenduto->totaleVendutoUltimi6Mesi,
'venditeLastY' => $articoloVenduto->totaleVendutoUltimoAnno, 'venditeLastY' => $articoloVenduto->totaleVendutoUltimoAnno,

View File

@@ -14,6 +14,9 @@
<tr> <tr>
<th>Id Articolo</th> <th>Id Articolo</th>
<th>Titolo</th> <th>Titolo</th>
<th>Rank 3 Mesi</th>
<th>Rank 6 Mesi</th>
<th>Rank 1 Anno</th>
<th>Data Ultimo Ordine</th> <th>Data Ultimo Ordine</th>
<th>Totale Venduto</th> <th>Totale Venduto</th>
<th>Ultimo Mese</th> <th>Ultimo Mese</th>
@@ -33,6 +36,9 @@
<tr> <tr>
<td>{{ $articolo->idArticolo }}</td> <td>{{ $articolo->idArticolo }}</td>
<td>{{ $articolo->Titolo }}</td> <td>{{ $articolo->Titolo }}</td>
<td>{{ $articolo->rank3M }}</td>
<td>{{ $articolo->rank6M }}</td>
<td>{{ $articolo->rank1Y }}</td>
<td>{{ \Carbon\Carbon::parse($articolo->ultimoOrdine)->format('d/m/Y') }}</td> <td>{{ \Carbon\Carbon::parse($articolo->ultimoOrdine)->format('d/m/Y') }}</td>
<td>{{ $articolo->totaleVenduto }}</td> <td>{{ $articolo->totaleVenduto }}</td>
<td>{{ $articolo->totaleVendutoUltimoMese }}</td> <td>{{ $articolo->totaleVendutoUltimoMese }}</td>