diff --git a/app/CustomFuncPao.php b/app/CustomFuncPao.php index b7018ca4..f2bd87b4 100644 --- a/app/CustomFuncPao.php +++ b/app/CustomFuncPao.php @@ -873,6 +873,82 @@ function showprice($prezzo) return ' € ' . number_format($prezzo, 2); } +function getRigaArticoloByArt($article, $ind, $sep) +{ + + $str = ""; + + $mydatestr = $article->DataPubblicazione; + + $sku = $article->IdArticolo; + + $prodotto = Product::where('sku', $sku)->first(); + + $qtyinstock = intval($prodotto['stock_quantity']); + $prezzo = $prodotto['sale_price']; + if (!$prezzo) { + $prezzo = $prodotto['price']; + } + + if ($qtyinstock <= 0) { + $colore = 'red'; + } else { + $colore = 'green'; + } + + + // echo '[' . $ind . ']' . $sep . $mydatestr . $sep . $article->IdArticolo . $sep . $article->Titolo . $sep . $article->DescrizioneStatoProdotto . $sep . $article->DescrizioneFormato . ' [Quantita = ' . $article->QtaDisponibile . ']'; + $myview = '[' . $ind . ']' . $sep . + '' . $article->IdArticolo . '' . $sep . + ' ' . $article->Titolo . '' . $sep . + ' Pubb:' . formatDateToItalian($article->DataPubblicazione) . $sep . + $article->DescrizioneStatoProdotto . ' (' . $article->DescrizioneFormato . ')' . $sep . + '[Qta = ' . $article->QtaDisponibile . ']' . $sep . + ' [' . showprice($prezzo) . ' ]' . $sep . + '[In Stock = ' . $qtyinstock . ']' . $sep; + + if ($qtyinstock < QTA_MINIMA_PER_PREVENDITA) { + $myview .= 'Imposta in PRE-ORDINE!' . $sep; + } else { + $myview .= 'Impostalo Non Disponibile' . $sep; + } + $myview .= 'Aggiorna Data Pubb' . $sep; + + $str .= $myview; + + if ($prodotto) { + + if (isset($prodotto['_wpro_variable_is_preorder'])) { + $str .= '
PREORDINE: ' . $prodotto['_wpro_variable_is_preorder'] . ''; + } + if (isset($prodotto['_wpro_label_variable'])) { + $str .= 'Etichetta: ' . $prodotto['_wpro_label_variable']; + } + if (isset($prodotto['_wpro_date_variable'])) { + $str .= 'Data Preordine: ' . $prodotto['_wpro_date_variable']; + } + $str .= '
'; + } + + return $str; +} + +function showCartolibri() +{ + $articles = getArticoliCartolibro(); + + $sep = ' | '; + + $ind = 1; + foreach ($articles as $article) { + + $riga = getRigaArticoloByArt($article, $ind, $sep); + echo $riga; + + $ind++; + } +} + function libriInPrevendita() { try { @@ -901,63 +977,15 @@ function libriInPrevendita() ->where(DB::raw('DATEDIFF(day, \'1970-01-01\', DataPubblicazione)'), '>', 1) ->orderBy('DataPubblicazione', 'desc') ->get(); + $sep = ' | '; $ind = 1; foreach ($articles as $article) { // $titolo = rtrim(str_ireplace('USATO', '', $article->Titolo)); - $mydatestr = $article->DataPubblicazione; - - $sku = $article->IdArticolo; - - $prodotto = Product::where('sku', $sku)->first(); - - $qtyinstock = intval($prodotto['stock_quantity']); - $prezzo = $prodotto['sale_price']; - if (!$prezzo) { - $prezzo = $prodotto['price']; - } - - if ($qtyinstock <= 0) { - $colore = 'red'; - } else { - $colore = 'green'; - } - - - // echo '[' . $ind . ']' . $sep . $mydatestr . $sep . $article->IdArticolo . $sep . $article->Titolo . $sep . $article->DescrizioneStatoProdotto . $sep . $article->DescrizioneFormato . ' [Quantita = ' . $article->QtaDisponibile . ']'; - $myview = '[' . $ind . ']' . $sep . - '' . $article->IdArticolo . '' . $sep . - ' ' . $article->Titolo . '' . $sep . - ' Pubb:' . formatDateToItalian($article->DataPubblicazione) . $sep . - $article->DescrizioneStatoProdotto . ' (' . $article->DescrizioneFormato . ')' . $sep . - '[Qta = ' . $article->QtaDisponibile . ']' . $sep . - ' [' . showprice($prezzo) . ' ]' . $sep . - '[In Stock = ' . $qtyinstock . ']' . $sep; - - if ($qtyinstock < QTA_MINIMA_PER_PREVENDITA) { - $myview .= 'Imposta in PRE-ORDINE!' . $sep; - } else { - $myview .= 'Impostalo Non Disponibile' . $sep; - } - $myview .= 'Aggiorna Data Pubb' . $sep; - - echo $myview; - - 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 '
'; - } + $riga = getRigaArticoloByArt($article, $ind, $sep); + echo $riga; $ind++; } @@ -1998,6 +2026,27 @@ function getArticoloById($idarticolo) return $article; } +function getArticoliCartolibro() +{ + $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'); + }) + ->where('DescrizioneTipologia', 'Cartolibro') + ->orderBy('dataOra', 'desc') + ->get(); + + return $articles; +} function updateArticoloFromGM($idarticolo) { diff --git a/resources/views/mylinkspao.blade.php b/resources/views/mylinkspao.blade.php index c90a2912..1f193855 100644 --- a/resources/views/mylinkspao.blade.php +++ b/resources/views/mylinkspao.blade.php @@ -57,6 +57,7 @@ + diff --git a/routes/web.php b/routes/web.php index 8f794ee6..456dc740 100644 --- a/routes/web.php +++ b/routes/web.php @@ -6359,6 +6359,8 @@ Route::get('/handle-article-action-pao/{id}/{action}', function ($id, $action) { return updateArticoloFromGM($id); } elseif ($action == 'inprevendita') { return libriInPrevendita(); + } elseif ($action == 'Cartolibri') { + return showCartolibri(); } elseif ($action == 'showOrdini') { return showOrdini(); } elseif ($action == 'showTest') {