This commit is contained in:
paoloar77
2024-05-20 23:46:21 +02:00
parent 43e28a148a
commit a72b9a9fe0
3 changed files with 34 additions and 1 deletions

View File

@@ -229,3 +229,35 @@ function isArticleInPrevendita($sku, $debug = false)
return $inprevendita;
}
function loadArticleBySku($sku) {
$article = Article::where('IdArticolo', $sku)->first();
}
function loadArticleByIdArticle($sku)
{
try {
$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('IdArticolo', $sku)
->Where('DescrizioneStatoProdotto', 'In prevendita')
->get();
return $articles;
} catch (Exception $e) {
return;
}
}

View File

@@ -10,6 +10,7 @@
<form id="articleForm">
<label for="article_id">ID Articolo:</label>
<input type="text" id="article_id" name="id" />
<br>
<button type="button" data-action="search">Cerca Articolo</button>
<button type="button" data-action="checkPreOrder">Verifica Preordine</button>
</form>

View File

@@ -6221,7 +6221,7 @@ Route::get('/handle-article-action-pao/{id}/{action}', function ($id, $action) {
if ($action == 'search') {
// Logica di ricerca dell'articolo
return "Ricerca articolo con ID: " . $id;
return loadArticleByIdArticle($id);
} elseif ($action == 'checkPreOrder') {
// Logica per verificare se l'articolo è in preordine
return "Verifica preordine per l'articolo con ID: " . $id;