aa
This commit is contained in:
@@ -269,7 +269,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 CodArticolo, SUM(Qta) as totVen FROM T_WEB_ArticoliFatturati GROUP BY CodArticolo) o'), function ($join) {
|
->leftJoin(DB::raw('(SELECT CodArticolo, SUM(CAST(Qta AS INT)) AS totVen FROM T_WEB_ArticoliFatturati GROUP BY CodArticolo) o'), function ($join) {
|
||||||
$join->on('T_WEB_Articoli.IdArticolo', '=', 'o.CodArticolo');
|
$join->on('T_WEB_Articoli.IdArticolo', '=', 'o.CodArticolo');
|
||||||
})
|
})
|
||||||
->leftJoin(DB::raw('(SELECT CodArticolo, SUM(Qta) as venduti3mesi, RANK() OVER (ORDER BY SUM(Qta) DESC) as rank3M
|
->leftJoin(DB::raw('(SELECT CodArticolo, SUM(Qta) as venduti3mesi, RANK() OVER (ORDER BY SUM(Qta) DESC) as rank3M
|
||||||
@@ -484,33 +484,38 @@ class ArticleController extends Controller
|
|||||||
$articoliVenduti = $this->queryArticlesSales();
|
$articoliVenduti = $this->queryArticlesSales();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mappa i risultati nella struttura JSON desiderata
|
if ($articoliVenduti) {
|
||||||
$result = $articoliVenduti->map(function ($articoloVenduto) {
|
|
||||||
return [
|
|
||||||
'IdArticolo' => $articoloVenduto->IdArticolo,
|
|
||||||
'title' => $articoloVenduto->Titolo,
|
|
||||||
'DataPubblicazione' => $articoloVenduto->DataPubblicazione,
|
|
||||||
'isbn' => $articoloVenduto->Ean13,
|
|
||||||
'Pagine' => $articoloVenduto->Pagine,
|
|
||||||
'IdTipoFormato' => $articoloVenduto->IdTipoFormato,
|
|
||||||
'misure' => $articoloVenduto->misure,
|
|
||||||
'totVen' => $articoloVenduto->totVen,
|
|
||||||
'rank3M' => $articoloVenduto->rank3M,
|
|
||||||
'rank6M' => $articoloVenduto->rank6M,
|
|
||||||
'rank1Y' => $articoloVenduto->rank1Y,
|
|
||||||
'vLast3M' => $articoloVenduto->venduti3mesi,
|
|
||||||
'vLast6M' => $articoloVenduto->venduti6mesi,
|
|
||||||
'vLastY' => $articoloVenduto->venduti1anno,
|
|
||||||
'dataUltimoOrdine' => $articoloVenduto->ultimoOrdine,
|
|
||||||
];
|
|
||||||
});
|
|
||||||
|
|
||||||
// Imposta il contenuto della risposta come JSON
|
// Mappa i risultati nella struttura JSON desiderata
|
||||||
$response = new Response($result->toJson(), 200);
|
$result = $articoliVenduti->map(function ($articoloVenduto) {
|
||||||
$response->headers->set('Content-Type', 'application/json');
|
return [
|
||||||
$response->headers->set('Content-Disposition', 'attachment; filename="ranking_' . date('Y-m-d') . '.json"');
|
'IdArticolo' => $articoloVenduto->IdArticolo,
|
||||||
|
'title' => $articoloVenduto->Titolo,
|
||||||
|
'DataPubblicazione' => $articoloVenduto->DataPubblicazione,
|
||||||
|
'isbn' => $articoloVenduto->Ean13,
|
||||||
|
'Pagine' => $articoloVenduto->Pagine,
|
||||||
|
'IdTipoFormato' => $articoloVenduto->IdTipoFormato,
|
||||||
|
'misure' => $articoloVenduto->misure,
|
||||||
|
'totVen' => $articoloVenduto->totVen,
|
||||||
|
'rank3M' => $articoloVenduto->rank3M,
|
||||||
|
'rank6M' => $articoloVenduto->rank6M,
|
||||||
|
'rank1Y' => $articoloVenduto->rank1Y,
|
||||||
|
'vLast3M' => $articoloVenduto->venduti3mesi,
|
||||||
|
'vLast6M' => $articoloVenduto->venduti6mesi,
|
||||||
|
'vLastY' => $articoloVenduto->venduti1anno,
|
||||||
|
'dataUltimoOrdine' => $articoloVenduto->ultimoOrdine,
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
return $response;
|
// 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"');
|
||||||
|
|
||||||
|
return $response;
|
||||||
|
} else {
|
||||||
|
return new Response('Nessun articolo', 500);
|
||||||
|
}
|
||||||
|
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
return new Response('Error exporting exportArticlesSalesByJSON_Base: ' . $e->getMessage() . 'Articoli: ' . json_decode($articoliVenduti), 500);
|
return new Response('Error exporting exportArticlesSalesByJSON_Base: ' . $e->getMessage() . 'Articoli: ' . json_decode($articoliVenduti), 500);
|
||||||
|
|||||||
Reference in New Issue
Block a user