From f9378a2a45df56c5ae98a19b9c9ba8e628c3b4a8 Mon Sep 17 00:00:00 2001 From: paoloar77 Date: Sun, 8 Dec 2024 16:14:33 +0100 Subject: [PATCH] aa --- app/Http/Controllers/ArticleController.php | 38 +++++++++++++-- resources/views/info-articolo.blade.php | 48 +++++++++++++++++++ ...php => view-lista-ordini-totale.blade.php} | 4 +- routes/web.php | 3 +- 4 files changed, 86 insertions(+), 7 deletions(-) create mode 100644 resources/views/info-articolo.blade.php rename resources/views/{export_articles_test.blade.php => view-lista-ordini-totale.blade.php} (93%) diff --git a/app/Http/Controllers/ArticleController.php b/app/Http/Controllers/ArticleController.php index b1133390..5a3c8373 100755 --- a/app/Http/Controllers/ArticleController.php +++ b/app/Http/Controllers/ArticleController.php @@ -12,7 +12,8 @@ use DateTime; class ArticleController extends Controller { - private function convDate($data_italiana) { + private function convDate($data_italiana) + { return DateTime::createFromFormat('Y-m-d', $data_italiana)->format('Y-d-m'); } private function articoliByDataStart($data_start) @@ -25,7 +26,7 @@ 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 totaleVenduti, 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 CodArticoloGM, SUM(Qta) as totaleVenduti, 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 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'); }) @@ -35,7 +36,7 @@ class ArticleController extends Controller ->orderBy('totaleVenduti', 'desc') ->get(); - // var_dump($articoli->toArray()); + // var_dump($articoli->toArray()); if ($articoli->isEmpty()) { return ['error' => 'Nessun articolo']; @@ -84,6 +85,21 @@ class ArticleController extends Controller return $ordini; } + private function queryshowInfoArticolo($idArticolo) + { + try { + ini_set("memory_limit", "512M"); + + $articoli = Article::where('IdArticolo', $idArticolo) + ->get(); // Usa + + } catch (\Exception $e) { + // Registrazione dell'errore + return response()->json(['error' => 'Si è verificato un errore durante il recupero dei dati: ' . $e->getMessage()], 500); + } + + return $articoli; + } private function queryArticlesSales() { try { @@ -186,7 +202,7 @@ class ArticleController extends Controller return view('error', ['message' => $articoliVenduti['error']]); } - return view('export_articles_test', ['articoli' => $articoliVenduti]); + return view('view-lista-ordini-totale', ['articoli' => $articoliVenduti]); } catch (\Exception $e) { // Potresti considerare di registrare l'errore per debugging @@ -220,6 +236,20 @@ class ArticleController extends Controller } } + public function showInfoArticolo($numrec) + { + try { + + $articoli = $this->queryshowInfoArticolo($numrec); + + return view('info-articolo', ['articoli' => $articoli]); + + } catch (\Exception $e) { + // Potresti considerare di registrare l'errore per debugging + return new Response('Error exporting articles: ' . $e->getMessage(), 500); + + } + } public function exportArticlesSales(Request $request): Response { try { diff --git a/resources/views/info-articolo.blade.php b/resources/views/info-articolo.blade.php new file mode 100644 index 00000000..5ac192b9 --- /dev/null +++ b/resources/views/info-articolo.blade.php @@ -0,0 +1,48 @@ + + + + + + Articoli + + +
+

Elenco Articoli

+ + @if($articoli->isEmpty()) +

Nessun articolo trovato.

+ @else + + + + + + + + + + + + + + + + @foreach($articoli as $articolo) + + + + + + + + + + + + @endforeach + +
IdId ArticoloEAN13TitoloAutoriArgomentiPrezzo IvatoData di PubblicazioneEnabled
{{ $articolo->Id }}{{ $articolo->IdArticolo }}{{ $articolo->Ean13 }}{{ $articolo->Titolo }}{{ $articolo->ListaAutori }}{{ $articolo->ListaArgomenti }}{{ $articolo->PrezzoIvato }}{{ $articolo->DataPubblicazione }}{{ $articolo->Enabled ? 'Sì' : 'No' }}
+ @endif +
+ + \ No newline at end of file diff --git a/resources/views/export_articles_test.blade.php b/resources/views/view-lista-ordini-totale.blade.php similarity index 93% rename from resources/views/export_articles_test.blade.php rename to resources/views/view-lista-ordini-totale.blade.php index 1d30d40a..129ecbda 100644 --- a/resources/views/export_articles_test.blade.php +++ b/resources/views/view-lista-ordini-totale.blade.php @@ -11,13 +11,13 @@
-

Totale Vendite per Articolo

+

Lista Ordini Libri - Totale Venduti (scegli data)

- + diff --git a/routes/web.php b/routes/web.php index fbdeffdd..cc57e1a9 100644 --- a/routes/web.php +++ b/routes/web.php @@ -6466,6 +6466,7 @@ Route::get('/export-articles-sales', [ArticleController::class, 'exportArticlesS Route::get('/export-articles-sales-json', [ArticleController::class, 'exportArticlesSalesByJSON']); Route::get('/view-articles-sales', [ArticleController::class, 'showArticlesSales']); -Route::get('/view-articles-test/{data_start}', [ArticleController::class, 'showArticoliByDataStart']); +Route::get('/view-lista-ordini-totale/{data_start}', [ArticleController::class, 'showArticoliByDataStart']); Route::get('/view-ordini-test/{numrec}', [ArticleController::class, 'showOrdini']); Route::get('/article-test', [ArticleController::class, 'test']); +Route::get('/view-info-articolo', [ArticleController::class, 'showInfoArticolo']);
ID Articolo DescrizioneultimaDataOraData ultima Vendita Totale Venduti