venduti e fatturati nello stesso file
This commit is contained in:
@@ -26,8 +26,8 @@ class ArticleController extends Controller
|
||||
$join->on('T_WEB_Articoli.IdArticolo', '=', 'b.IdArticolo')
|
||||
->on('T_WEB_Articoli.DataOra', '=', 'b.data');
|
||||
})
|
||||
//->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 CodArticolo, SUM(Qta) as totVen, MAX(DataOra) as ultimaDataOra FROM T_WEB_ArticoliFatturati WHERE DataOra > \'' . $data_start . '\' GROUP BY CodArticolo) O'), 'T_WEB_Articoli.IdArticolo', '=', 'O.CodArticolo')
|
||||
->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 CodArticolo, SUM(Qta) as totVen, MAX(DataOra) as ultimaDataOra FROM T_WEB_ArticoliFatturati WHERE DataOra > \'' . $data_start . '\' GROUP BY CodArticolo) O'), 'T_WEB_Articoli.IdArticolo', '=', 'O.CodArticolo')
|
||||
->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');
|
||||
})
|
||||
@@ -72,6 +72,7 @@ class ArticleController extends Controller
|
||||
'O.DataOra',
|
||||
'O.Qta',
|
||||
'A.Titolo',
|
||||
'A.CodArticolo',
|
||||
'A.Ean13'
|
||||
)
|
||||
->orderBy('O.DataOra', 'desc')
|
||||
@@ -107,6 +108,7 @@ class ArticleController extends Controller
|
||||
'O.DataOra',
|
||||
'O.Qta',
|
||||
'A.Titolo',
|
||||
'A.CodArticolo',
|
||||
'A.Ean13'
|
||||
)
|
||||
->orderBy('O.DataOra', 'desc')
|
||||
@@ -142,6 +144,7 @@ class ArticleController extends Controller
|
||||
'O.DataOra',
|
||||
'O.Qta',
|
||||
'A.Titolo',
|
||||
'A.CodArticolo',
|
||||
'A.Ean13'
|
||||
)
|
||||
->orderBy('O.DataOra', 'desc')
|
||||
@@ -196,12 +199,21 @@ class ArticleController extends Controller
|
||||
->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');
|
||||
})
|
||||
->leftJoin(DB::raw('(SELECT CodArticolo, SUM(TRY_CAST(Qta AS INT)) as totFat FROM T_WEB_ArticoliFatturati GROUP BY CodArticolo) u'), function ($join) {
|
||||
$join->on('T_WEB_Articoli.IdArticolo', '=', 'u.CodArticolo');
|
||||
})
|
||||
->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as venduti3mesi, RANK() OVER (ORDER BY SUM(Qta) DESC) as rank3M
|
||||
FROM T_WEB_Ordini
|
||||
WHERE DataOra >= DATEADD(MONTH, -3, GETDATE())
|
||||
GROUP BY CodArticoloGM) p'), function ($join) {
|
||||
$join->on('T_WEB_Articoli.IdArticolo', '=', 'p.CodArticoloGM');
|
||||
})
|
||||
->leftJoin(DB::raw('(SELECT CodArticolo, SUM(TRY_CAST(Qta AS INT)) as fat3mesi, RANK() OVER (ORDER BY SUM(TRY_CAST(Qta AS INT)) DESC) as fatrank3M
|
||||
FROM T_WEB_ArticoliFatturati
|
||||
WHERE DataOra >= DATEADD(MONTH, -3, GETDATE())
|
||||
GROUP BY CodArticolo) t'), function ($join) {
|
||||
$join->on('T_WEB_Articoli.IdArticolo', '=', 't.CodArticolo');
|
||||
})
|
||||
->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as venduti6mesi, RANK() OVER (ORDER BY SUM(Qta) DESC) as rank6M
|
||||
FROM T_WEB_Ordini
|
||||
WHERE DataOra >= DATEADD(MONTH, -6, GETDATE())
|
||||
@@ -225,7 +237,10 @@ class ArticleController extends Controller
|
||||
'i.DescrizioneTipologia',
|
||||
'n.DescrizioneFormato',
|
||||
DB::raw('COALESCE(o.totVen, 0) as totVen'),
|
||||
DB::raw('COALESCE(o.totFat, 0) as totFat'),
|
||||
DB::raw('COALESCE(p.venduti3mesi, 0) as venduti3mesi'),
|
||||
DB::raw('COALESCE(t.fat3mesi, 0) as fat3mesi'),
|
||||
DB::raw('COALESCE(t.fatrank3M, 0) as fatrank3M'),
|
||||
DB::raw('COALESCE(p.rank3M, 0) as rank3M'),
|
||||
DB::raw('COALESCE(q.venduti6mesi, 0) as venduti6mesi'),
|
||||
DB::raw('COALESCE(q.rank6M, 0) as rank6M'),
|
||||
@@ -269,7 +284,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) {
|
||||
$join->on('T_WEB_Articoli.IdTipoFormato', '=', 'n.IdTipoFormato');
|
||||
})
|
||||
->leftJoin(DB::raw('(SELECT CodArticolo, SUM(TRY_CAST(Qta AS INT)) AS totVen 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');
|
||||
})
|
||||
->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
|
||||
@@ -301,7 +316,7 @@ class ArticleController extends Controller
|
||||
'f.DescrizioneStatoProdotto',
|
||||
'i.DescrizioneTipologia',
|
||||
'n.DescrizioneFormato',
|
||||
DB::raw('COALESCE(o.totVen, 0) as totVen'),
|
||||
DB::raw('COALESCE(o.totFat, 0) as totFat'),
|
||||
DB::raw('COALESCE(p.venduti3mesi, 0) as venduti3mesi'),
|
||||
DB::raw('COALESCE(p.rank3M, 0) as rank3M'),
|
||||
DB::raw('COALESCE(q.venduti6mesi, 0) as venduti6mesi'),
|
||||
@@ -313,7 +328,7 @@ class ArticleController extends Controller
|
||||
->where('DescrizioneStatoProdotto', 'In commercio')
|
||||
->where('DescrizioneTipologia', 'Libri')
|
||||
//->orderBy('rank1Y', 'asc')
|
||||
->orderBy('totVen', 'desc')
|
||||
->orderBy('totFat', 'desc')
|
||||
->get();
|
||||
|
||||
if ($articoliVenduti->isEmpty()) {
|
||||
@@ -498,9 +513,12 @@ class ArticleController extends Controller
|
||||
'IdTipoFormato' => $articoloVenduto->IdTipoFormato,
|
||||
'misure' => $articoloVenduto->misure,
|
||||
'totVen' => $articoloVenduto->totVen,
|
||||
'totFat' => $articoloVenduto->totFat,
|
||||
'rank3M' => $articoloVenduto->rank3M,
|
||||
'fatrank3M' => $articoloVenduto->fatrank3M,
|
||||
'rank6M' => $articoloVenduto->rank6M,
|
||||
'rank1Y' => $articoloVenduto->rank1Y,
|
||||
'fatLast3M' => $articoloVenduto->fat3mesi,
|
||||
'vLast3M' => $articoloVenduto->venduti3mesi,
|
||||
'vLast6M' => $articoloVenduto->venduti6mesi,
|
||||
'vLastY' => $articoloVenduto->venduti1anno,
|
||||
@@ -511,7 +529,7 @@ class ArticleController extends Controller
|
||||
// Imposta il contenuto della risposta come JSON
|
||||
$response = new Response($result->toJson(), 200);
|
||||
$response->headers->set('Content-Type', 'application/json');
|
||||
$response->headers->set('Content-Disposition', 'attachment; filename="ranking_' . date('Y-m-d') . '.json"');
|
||||
$response->headers->set('Content-Disposition', 'attachment; filename="ranking_' . $cosa . '_' . date('Y-m-d') . '.json"');
|
||||
|
||||
return $response;
|
||||
} else {
|
||||
|
||||
@@ -81,17 +81,24 @@
|
||||
|
||||
|
||||
<td>@if (isset($articolo->totVen))
|
||||
<!--<a href="/apimacro/public/view-ordini-by-idarticolo/{{$articolo->IdArticolo}}"
|
||||
target="_blank">{{ $articolo->totVen }}</a>-->
|
||||
<a href="/apimacro/public/view-fatturati-by-idarticolo/{{$articolo->IdArticolo}}"
|
||||
<a href="/apimacro/public/view-ordini-by-idarticolo/{{$articolo->IdArticolo}}"
|
||||
target="_blank">{{ $articolo->totVen }}</a>
|
||||
@endif
|
||||
</td>
|
||||
|
||||
<td>@if (isset($articolo->venduti3mesi))
|
||||
{{ $articolo->venduti3mesi }}
|
||||
@endif
|
||||
</td>
|
||||
<td>@if (isset($articolo->totFat))
|
||||
<a href="/apimacro/public/view-fatturati-by-idarticolo/{{$articolo->IdArticolo}}"
|
||||
target="_blank">{{ $articolo->totFat }}</a>
|
||||
@endif
|
||||
</td>
|
||||
|
||||
<td>@if (isset($articolo->fat3mesi))
|
||||
{{ $articolo->fat3mesi }}
|
||||
@endif
|
||||
</td>
|
||||
<td>@if (isset($articolo->venduti6mesi))
|
||||
{{ $articolo->venduti6mesi }}
|
||||
@endif
|
||||
|
||||
@@ -26,7 +26,8 @@
|
||||
@if (isset($articolo))
|
||||
<tr>
|
||||
<td>@if (isset($articolo->IdArticolo))
|
||||
<a href="/apimacro/public/view-info-articolo/{{$articolo->IdArticolo}}" target="_blank">{{ $articolo->IdArticolo }}</a>
|
||||
<a href="/apimacro/public/view-info-articolo/{{$articolo->IdArticolo}}"
|
||||
target="_blank">{{ $articolo->IdArticolo }}</a>
|
||||
@endif
|
||||
</td>
|
||||
<td>@if (isset($articolo->Titolo))
|
||||
@@ -37,12 +38,15 @@
|
||||
</td>
|
||||
|
||||
<td>@if (isset($articolo->totVen))
|
||||
<!--<a href="/apimacro/public/view-ordini-by-idarticolo/{{$articolo->IdArticolo}}"
|
||||
target="_blank">{{ $articolo->totVen }}</a>-->
|
||||
<a href="/apimacro/public/view-fatturati-by-idarticolo/{{$articolo->IdArticolo}}"
|
||||
target="_blank">{{ $articolo->totVen }}</a>
|
||||
@endif
|
||||
</td>
|
||||
<a href="/apimacro/public/view-ordini-by-idarticolo/{{$articolo->IdArticolo}}"
|
||||
target="_blank">{{ $articolo->totVen }}</a>
|
||||
@endif
|
||||
</td>
|
||||
<td>@if (isset($articolo->totFat))
|
||||
<a href="/apimacro/public/view-fatturati-by-idarticolo/{{$articolo->IdArticolo}}"
|
||||
target="_blank">{{ $articolo->totFat }}</a>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
Reference in New Issue
Block a user