This commit is contained in:
paoloar77
2024-12-07 19:43:32 +01:00
parent 62e76d3613
commit b641999fcd

View File

@@ -14,8 +14,7 @@ class ArticleController extends Controller
private function queryArticlesSales()
{
try {
$chunks = [];
Article::join(DB::raw('(SELECT IdArticolo, MAX(DataOra) AS data FROM T_WEB_Articoli GROUP BY IdArticolo) b'), function ($join) {
$articoliVenduti = 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');
})
@@ -31,27 +30,15 @@ class ArticleController extends Controller
->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');
})
->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',
DB::raw('COALESCE(o.totaleVenduti, 0) as totaleVenduti'))
->where('DescrizioneStatoProdotto','In commercio')
->where('DescrizioneTipologia','Libri')
->orderBy('totaleVenduti', 'desc')
->chunk(1000, function ($records) use (&$chunks) {
$chunks[] = $records;
});
$articoliVenduti = collect($chunks)->flatten(1);
->get();
if ($articoliVenduti->isEmpty()) {
return response()->json(['message' => 'Nessun articolo trovato.'], 404);