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) {
|
||||
$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');
|
||||
})
|
||||
->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();
|
||||
}
|
||||
|
||||
// Mappa i risultati nella struttura JSON desiderata
|
||||
$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,
|
||||
];
|
||||
});
|
||||
if ($articoliVenduti) {
|
||||
|
||||
// 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"');
|
||||
// Mappa i risultati nella struttura JSON desiderata
|
||||
$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,
|
||||
];
|
||||
});
|
||||
|
||||
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) {
|
||||
return new Response('Error exporting exportArticlesSalesByJSON_Base: ' . $e->getMessage() . 'Articoli: ' . json_decode($articoliVenduti), 500);
|
||||
|
||||
Reference in New Issue
Block a user