aggiornatocampi

This commit is contained in:
paoloar77
2024-12-13 21:15:18 +01:00
parent 4496847ab8
commit 7c9f731b39
3 changed files with 18 additions and 18 deletions

View File

@@ -26,14 +26,14 @@ 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 CodArticoloGM, SUM(Qta) as totaleVenduti, MAX(DataOra) as ultimaDataOra FROM T_WEB_Ordini WHERE DataOra > \'' . $data_start . '\' GROUP BY CodArticoloGM) O'), 'T_WEB_Articoli.IdArticolo', '=', 'O.CodArticoloGM') ->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as totVen, MAX(DataOra) as ultimaDataOra FROM T_WEB_Ordini WHERE DataOra > \'' . $data_start . '\' GROUP BY CodArticoloGM) O'), 'T_WEB_Articoli.IdArticolo', '=', 'O.CodArticoloGM')
->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');
}) })
->select('T_WEB_Articoli.*', 'ultimaDataOra', DB::raw('COALESCE(O.totaleVenduti, 0) as totaleVenduti')) ->select('T_WEB_Articoli.*', 'ultimaDataOra', DB::raw('COALESCE(O.totVen, 0) as totVen'))
->where('totaleVenduti', '>', 0) ->where('totVen', '>', 0)
->where('DescrizioneTipologia', 'Libri') ->where('DescrizioneTipologia', 'Libri')
->orderBy('totaleVenduti', 'desc') ->orderBy('totVen', 'desc')
->get(); ->get();
// var_dump($articoli->toArray()); // var_dump($articoli->toArray());
@@ -157,7 +157,7 @@ class ArticleController extends Controller
->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 CodArticoloGM, SUM(Qta) as totaleVenduti FROM T_WEB_Ordini GROUP BY CodArticoloGM) o'), function ($join) { ->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as totVen 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');
}) })
->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as venduti3mesi, RANK() OVER (ORDER BY SUM(Qta) DESC) as rank3M ->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as venduti3mesi, RANK() OVER (ORDER BY SUM(Qta) DESC) as rank3M
@@ -188,7 +188,7 @@ class ArticleController extends Controller
'f.DescrizioneStatoProdotto', 'f.DescrizioneStatoProdotto',
'i.DescrizioneTipologia', 'i.DescrizioneTipologia',
'n.DescrizioneFormato', 'n.DescrizioneFormato',
DB::raw('COALESCE(o.totaleVenduti, 0) as totaleVenduti'), DB::raw('COALESCE(o.totVen, 0) as totVen'),
DB::raw('COALESCE(p.venduti3mesi, 0) as venduti3mesi'), DB::raw('COALESCE(p.venduti3mesi, 0) as venduti3mesi'),
DB::raw('COALESCE(p.rank3M, 0) as rank3M'), DB::raw('COALESCE(p.rank3M, 0) as rank3M'),
DB::raw('COALESCE(q.venduti6mesi, 0) as venduti6mesi'), DB::raw('COALESCE(q.venduti6mesi, 0) as venduti6mesi'),
@@ -200,7 +200,7 @@ class ArticleController extends Controller
->where('DescrizioneStatoProdotto', 'In commercio') ->where('DescrizioneStatoProdotto', 'In commercio')
->where('DescrizioneTipologia', 'Libri') ->where('DescrizioneTipologia', 'Libri')
//->orderBy('rank1Y', 'asc') //->orderBy('rank1Y', 'asc')
->orderBy('totaleVenduti', 'desc') ->orderBy('totVen', 'desc')
->get(); ->get();
if ($articoliVenduti->isEmpty()) { if ($articoliVenduti->isEmpty()) {
@@ -319,10 +319,10 @@ class ArticleController extends Controller
$response->headers->set('Content-Disposition', 'attachment; filename="' . $filename . '"'); $response->headers->set('Content-Disposition', 'attachment; filename="' . $filename . '"');
$csvContent = "IdArticolo,Titolo,DataPubblicazione,Ean13,rank3M,rank6M,rank1Y,TotaleVenduti,TotaleVendutiUltimoMese,TotaleVendutiUltimi6Mesi,TotaleVendutiUltimoAnno,totaleVendutiUltimi2Anni,UltimoOrdine,misure\n"; $csvContent = "IdArticolo,Titolo,DataPubblicazione,Ean13,rank3M,rank6M,rank1Y,totVen,totVenUltimoMese,totVenUltimi6Mesi,totVenUltimoAnno,totVenUltimi2Anni,UltimoOrdine,misure\n";
foreach ($articoliVenduti as $articoloVenduto) { foreach ($articoliVenduti as $articoloVenduto) {
$csvContent .= "{$articoloVenduto->idArticolo},{$articoloVenduto->Titolo},{$articoloVenduto->DataPubblicazione},{$articoloVenduto->rank3M},{$articoloVenduto->rank6M},{$articoloVenduto->rank1Y},{$articoloVenduto->totaleVenduti},{$articoloVenduto->totaleVendutiUltimoMese},{$articoloVenduto->totaleVendutiUltimi6Mesi},{$articoloVenduto->totaleVendutiUltimoAnno},{$articoloVenduto->ultimoOrdine},{$articoloVenduto->misure}\n"; $csvContent .= "{$articoloVenduto->idArticolo},{$articoloVenduto->Titolo},{$articoloVenduto->DataPubblicazione},{$articoloVenduto->rank3M},{$articoloVenduto->rank6M},{$articoloVenduto->rank1Y},{$articoloVenduto->totVen},{$articoloVenduto->totVenUltimoMese},{$articoloVenduto->totVenUltimi6Mesi},{$articoloVenduto->totVenUltimoAnno},{$articoloVenduto->ultimoOrdine},{$articoloVenduto->misure}\n";
} }
$response->setContent($csvContent); $response->setContent($csvContent);
@@ -350,14 +350,14 @@ class ArticleController extends Controller
'Pagine' => $articoloVenduto->Pagine, 'Pagine' => $articoloVenduto->Pagine,
'IdTipoFormato' => $articoloVenduto->IdTipoFormato, 'IdTipoFormato' => $articoloVenduto->IdTipoFormato,
'misure' => $articoloVenduto->misure, 'misure' => $articoloVenduto->misure,
'totaleVenduti' => $articoloVenduto->totaleVenduti, 'totVen' => $articoloVenduto->totVen,
'rank3M' => $articoloVenduto->rank3M, 'rank3M' => $articoloVenduto->rank3M,
'rank6M' => $articoloVenduto->rank6M, 'rank6M' => $articoloVenduto->rank6M,
'rank1Y' => $articoloVenduto->rank1Y, 'rank1Y' => $articoloVenduto->rank1Y,
'venditeLastM' => $articoloVenduto->totaleVendutiUltimoMese, 'vLastM' => $articoloVenduto->totVenUltimoMese,
'venditeLast6M' => $articoloVenduto->totaleVendutiUltimi6Mesi, 'vLast6M' => $articoloVenduto->totVenUltimi6Mesi,
'venditeLastY' => $articoloVenduto->totaleVendutiUltimoAnno, 'vLastY' => $articoloVenduto->totVenUltimoAnno,
'venditeLast2Y' => $articoloVenduto->totaleVendutiUltimi2Anni, 'vLast2Y' => $articoloVenduto->totVenUltimi2Anni,
'dataUltimoOrdine' => $articoloVenduto->ultimoOrdine, 'dataUltimoOrdine' => $articoloVenduto->ultimoOrdine,
]; ];
}); });

View File

@@ -79,9 +79,9 @@
</td> </td>
<td>@if (isset($articolo->totaleVenduti)) <td>@if (isset($articolo->totVen))
<a href="/apimacro/public/view-ordini-by-idarticolo/{{$articolo->IdArticolo}}" <a href="/apimacro/public/view-ordini-by-idarticolo/{{$articolo->IdArticolo}}"
target="_blank">{{ $articolo->totaleVenduti }}</a> target="_blank">{{ $articolo->totVen }}</a>
@endif @endif
</td> </td>

View File

@@ -36,9 +36,9 @@
<td>@if (isset($articolo->ultimaDataOra)){{ \Carbon\Carbon::parse($articolo->ultimaDataOra)->format('d/m/Y') }}@endif <td>@if (isset($articolo->ultimaDataOra)){{ \Carbon\Carbon::parse($articolo->ultimaDataOra)->format('d/m/Y') }}@endif
</td> </td>
<td>@if (isset($articolo->totaleVenduti)) <td>@if (isset($articolo->totVen))
<a href="/apimacro/public/view-ordini-by-idarticolo/{{$articolo->IdArticolo}}" <a href="/apimacro/public/view-ordini-by-idarticolo/{{$articolo->IdArticolo}}"
target="_blank">{{ $articolo->totaleVenduti }}</a> target="_blank">{{ $articolo->totVen }}</a>
@endif @endif
</td> </td>
</tr> </tr>