This commit is contained in:
paoloar77
2024-12-07 19:42:33 +01:00
parent 68811f31b2
commit 62e76d3613
2 changed files with 20 additions and 13 deletions

View File

@@ -14,7 +14,8 @@ class ArticleController extends Controller
private function queryArticlesSales()
{
try {
$articoliVenduti = Article::join(DB::raw('(SELECT IdArticolo, MAX(DataOra) AS data FROM T_WEB_Articoli GROUP BY IdArticolo) b'), function ($join) {
$chunks = [];
Article::join(DB::raw('(SELECT IdArticolo, MAX(DataOra) AS data FROM T_WEB_Articoli GROUP BY IdArticolo) b'), function ($join) {
$join->on('T_WEB_Articoli.IdArticolo', '=', 'b.IdArticolo')
->on('T_WEB_Articoli.DataOra', '=', 'b.data');
})
@@ -33,18 +34,24 @@ class ArticleController extends Controller
->leftJoin(DB::raw('(SELECT o.Codice, o.QtaDisponibile FROM T_WEB_Disponibile o JOIN (SELECT Codice, MAX(DataOra) as data1 from T_WEB_Disponibile GROUP BY Codice) p ON o.Codice = p.Codice AND o.DataOra = p.data1 ) q'), function ($join) {
$join->on('T_WEB_Articoli.IdArticolo', '=', 'q.Codice');
})
->select('T_WEB_Articoli.*',
'f.DescrizioneStatoProdotto',
'i.DescrizioneTipologia',
'n.DescrizioneFormato',
'q.QtaDisponibile',
DB::raw('COALESCE(o.totaleVenduti, 0) as totaleVenduti'))
->where('DescrizioneStatoProdotto','In commercio')
->where('DescrizioneTipologia','Libri')
->where(DB::raw('CONVERT(INT, q.QtaDisponibile)'),'<>',0)
->select(
'T_WEB_Articoli.*',
'f.DescrizioneStatoProdotto',
'i.DescrizioneTipologia',
'n.DescrizioneFormato',
'q.QtaDisponibile',
DB::raw('COALESCE(o.totaleVenduti, 0) as totaleVenduti')
)
->where('DescrizioneStatoProdotto', 'In commercio')
->where('DescrizioneTipologia', 'Libri')
->where(DB::raw('CONVERT(INT, q.QtaDisponibile)'), '<>', 0)
->orderBy('totaleVenduti', 'desc')
->get();
->chunk(1000, function ($records) use (&$chunks) {
$chunks[] = $records;
});
$articoliVenduti = collect($chunks)->flatten(1);
if ($articoliVenduti->isEmpty()) {
return response()->json(['message' => 'Nessun articolo trovato.'], 404);

View File

@@ -25,7 +25,7 @@
<th>Rank 1 Y</th>
<th>Ult Ordi</th>
<th>Tot Venduti</th>
<th>QtaDisponibile</th>
<th>QtaDisp</th>
<th>Ult Mese</th>
<th>Ult 6 Mesi</th>
<th>Ult Anno</th>