diff --git a/app/CustomFuncPao.php b/app/CustomFuncPao.php
index 6827b160..fc3362a9 100644
--- a/app/CustomFuncPao.php
+++ b/app/CustomFuncPao.php
@@ -200,20 +200,20 @@ function loadArticleByIdArticle($id, $checkprevendita = false)
->where('T_WEB_Articoli.IdArticolo', $id)
->get();
- if ($checkprevendita) {
- foreach ($articles as $article) {
- $qtaneg = $article->QtaDisponibile < 0;
- $inprevendita = false;
- if ($article) {
- $inprevendita = $qtaneg
- && ($article->DescrizioneStatoProdotto === 'In prevendita');
- }
- if ($inprevendita) {
- return true;
- }
+ if ($checkprevendita) {
+ foreach ($articles as $article) {
+ $qtaneg = $article->QtaDisponibile < 0;
+ $inprevendita = false;
+ if ($article) {
+ $inprevendita = $qtaneg
+ && ($article->DescrizioneStatoProdotto === 'In prevendita');
+ }
+ if ($inprevendita) {
+ return true;
}
- return false;
}
+ return false;
+ }
return dd($articles);
} catch (\Exception $e) {
@@ -221,3 +221,61 @@ function loadArticleByIdArticle($id, $checkprevendita = false)
return "Errore: " . $e->getMessage();
}
}
+
+function libriInPrevendita()
+{
+ $articles = 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');
+ })
+
+ ->leftJoin(DB::raw('(SELECT e.IdStatoProdotto, e.Descrizione as DescrizioneStatoProdotto FROM T_WEB_StatiProdotto e JOIN (SELECT IdStatoProdotto, MAX(DataOra) as data1 from T_WEB_StatiProdotto GROUP BY IdStatoProdotto) c ON e.IdStatoProdotto = c.IdStatoProdotto AND e.DataOra = c.data1 ) f'), function ($join) {
+ $join->on('T_WEB_Articoli.IdStatoProdotto', '=', 'f.IdStatoProdotto');
+ })
+ ->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');
+ })
+ ->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 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');
+ })
+
+ ->where('DescrizioneStatoProdotto', 'In prevendita')
+ ->where(DB::raw('CONVERT(INT, QtaDisponibile)'), '<', 0)
+ ->where('DescrizioneFormato', 'brossura')
+ ->where('DescrizioneTipologia', 'Libri')
+ ->orderBy('DataPubblicazione', 'desc')
+ ->get();
+ $sep = ' | ';
+
+ $ind = 1;
+ foreach ($articles as $article) {
+ // $titolo = rtrim(str_ireplace('USATO', '', $article->Titolo));
+
+ $mydatestr = $article->DataPubblicazione;
+
+ $sku = $article->IdArticolo;
+
+ echo '[' . $ind . ']' . $sep . $mydatestr . $sep . $article->Id . $sep . $article->IdArticolo . $sep . $article->Titolo . $sep . $article->DescrizioneStatoProdotto . $sep . $article->DescrizioneFormato . '[Quantita = ' . $article->QtaDisponibile . ']
';
+ $prodotto = Product::where('sku', $sku)->first();
+ if ($prodotto) {
+
+ if (isset($prodotto['_wpro_variable_is_preorder'])) {
+ echo '
PREORDINE: ' . $prodotto['_wpro_variable_is_preorder'] . '';
+ }
+ if (isset($prodotto['_wpro_label_variable'])) {
+ echo 'Etichetta: ' . $prodotto['_wpro_label_variable'];
+ }
+ if (isset($prodotto['_wpro_date_variable'])) {
+ echo 'Data Preordine: ' . $prodotto['_wpro_date_variable'];
+ }
+ echo '
';
+ }
+
+ $ind++;
+ }
+
+ return $articles;
+}
diff --git a/routes/web.php b/routes/web.php
index 4ecff55d..75380751 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -6142,63 +6142,6 @@ Route::get('/paolibri', function () {
}
});
-Route::get('/inprevendita', function () {
- set_time_limit(0);
-
- $articles = 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');
- })
-
- ->leftJoin(DB::raw('(SELECT e.IdStatoProdotto, e.Descrizione as DescrizioneStatoProdotto FROM T_WEB_StatiProdotto e JOIN (SELECT IdStatoProdotto, MAX(DataOra) as data1 from T_WEB_StatiProdotto GROUP BY IdStatoProdotto) c ON e.IdStatoProdotto = c.IdStatoProdotto AND e.DataOra = c.data1 ) f'), function ($join) {
- $join->on('T_WEB_Articoli.IdStatoProdotto', '=', 'f.IdStatoProdotto');
- })
- ->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');
- })
- ->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 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');
- })
-
- ->where('DescrizioneStatoProdotto', 'In prevendita')
- ->where(DB::raw('CONVERT(INT, QtaDisponibile)'), '<', 0)
- ->where('DescrizioneFormato', 'brossura')
- ->where('DescrizioneTipologia', 'Libri')
- ->orderBy('DataPubblicazione', 'desc')
- ->get();
- $sep = ' | ';
-
- $ind = 1;
- foreach ($articles as $article) {
- // $titolo = rtrim(str_ireplace('USATO', '', $article->Titolo));
-
- $mydatestr = $article->DataPubblicazione;
-
- $sku = $article->IdArticolo;
-
- echo '[' . $ind . ']' . $sep . $mydatestr . $sep . $article->Id . $sep . $article->IdArticolo . $sep . $article->Titolo . $sep . $article->DescrizioneStatoProdotto . $sep . $article->DescrizioneFormato . '[Quantita = ' . $article->QtaDisponibile . ']
';
- $prodotto = Product::where('sku', $sku)->first();
- if ($prodotto) {
-
- if (isset($prodotto['_wpro_variable_is_preorder'])) {
- echo '
PREORDINE: ' . $prodotto['_wpro_variable_is_preorder'] . '';
- }
- if (isset($prodotto['_wpro_label_variable'])) {
- echo 'Etichetta: ' . $prodotto['_wpro_label_variable'];
- }
- if (isset($prodotto['_wpro_date_variable'])) {
- echo 'Data Preordine: ' . $prodotto['_wpro_date_variable'];
- }
- echo '
';
- }
-
- $ind++;
- }
-})->name('inprevendita');
-
Route::get('/mylinkspao', function () {
return view('mylinkspao');
});
@@ -6209,7 +6152,8 @@ Route::get('/handle-article-action-pao/{id}/{action}', function ($id, $action) {
// Logica di ricerca dell'articolo
return loadArticleByIdArticle($id);
} elseif ($action == 'inprevendita') {
- return route('inprevendita');
+ return libriInPrevendita();
+
} elseif ($action == 'checkPrevendita') {
// Logica per verificare se l'articolo รจ in preordine
$inprevendita = isArticleInPrevendita($id);