aggiornamento qta

This commit is contained in:
paoloar77
2024-06-15 21:29:12 +02:00
parent 34aa2b26ef
commit f14ca4a031
4 changed files with 40 additions and 26 deletions

View File

@@ -1044,7 +1044,7 @@ class ProductUpdateGm extends Command
if ($preorder) {
// Controlla se è in preordine
$inprevendita = isArticleInPrevendita($article->IdArticolo);
$inprevendita = isArticleInPrevendita($article->IdArticolo, true);
if ($inprevendita) {
setPreOrder($article->IdArticolo, true, false);
$log4 .= ' SEtTATO IN PREVENDITA ! <br>';

View File

@@ -87,34 +87,46 @@ class ProductUpdateQta extends Command
$productsku = Product::where('sku', $stock->Codice)->first();
if ($productsku->count() > 0) {
$data1 = [
$aggiorna = true;
'stock_quantity' => $stock->QtaDisponibile,
];
$idprodotto = $productsku['parent_id'];
if ($idprodotto > 0) {
$variation = Variation::update($idprodotto, $productsku['id'], $data1);
} else {
Product::update($productsku['id'], $data1);
}
$log .= ' *** ' . $stock->Codice . ' QTA=' . $stock->QtaDisponibile . "\n";
$inprevendita = isArticleInPrevendita($stock->Codice);
if ($inprevendita) {
setPreOrder($stock->Codice, true, false);
$log .= ' SEtTATO IN PREVENDITA ! <br>';
$inprevendita = isArticleInPrevendita($stock->Codice, false);
$inprevendita_qtaneg = isArticleInPrevendita($stock->Codice, true);
$qtyinstock = intval($productsku['stock_quantity']);
$titolo = $productsku['title'];
// Se il libro è ancora in Prevendita e la quantità è QTA_IN_PREVENDITA, allora non aggiornare la QTA
// deve rimanere a QTA_IN_PREVENDITA per poter vedere "In Preordine"
if ($inprevendita && $qtyinstock == QTA_IN_PREVENDITA) {
$aggiorna = false;
}
$aggiornato = true;
if ($aggiorna) {
$data1 = [
'stock_quantity' => $stock->QtaDisponibile,
];
$idprodotto = $productsku['parent_id'];
if ($idprodotto > 0) {
$variation = Variation::update($idprodotto, $productsku['id'], $data1);
} else {
Product::update($productsku['id'], $data1);
}
$log .= ' *** ' . $stock->Codice . ' ' . $titolo . ' QTA=' . $stock->QtaDisponibile . "\n";
if ($inprevendita_qtaneg && ($qtyinstock != QTA_IN_PREVENDITA)) {
setPreOrder($stock->Codice, true, false);
$log .= ' SEtTATO IN PREVENDITA ! <br>';
}
$aggiornato = true;
}
}
if ($log) {
Log::channel('updateproductsqta')->notice($log);
$log = "";
}
} catch (\Exception $e) {
//code error
}

View File

@@ -197,13 +197,13 @@ function setPreOrder($sku, $aggiornapreordine, $debug)
}
}
function isArticleInPrevendita($id)
function isArticleInPrevendita($id, $checkqtanegativa)
{
return loadArticleByIdArticle($id, true);
}
function loadArticleByIdArticle($id, $checkprevendita = false)
function loadArticleByIdArticle($id, $checkprevendita = false, $checkqtanegativa = false)
{
try {
@@ -225,8 +225,10 @@ function loadArticleByIdArticle($id, $checkprevendita = false)
$qtaneg = $article->QtaDisponibile < 0;
$inprevendita = false;
if ($article) {
$inprevendita = $qtaneg
&& ($article->DescrizioneStatoProdotto === 'In prevendita');
$inprevendita = ($article->DescrizioneStatoProdotto === 'In prevendita');
if ($checkqtanegativa) {
$inprevendita = $inprevendita && $qtaneg;
}
}
if ($inprevendita) {
return true;

View File

@@ -6195,7 +6195,7 @@ Route::get('/handle-article-action-pao/{id}/{action}', function ($id, $action) {
setPreOrder($id, "1", true);
} elseif ($action == 'checkPrevendita') {
// Logica per verificare se l'articolo è in preordine
$inprevendita = isArticleInPrevendita($id);
$inprevendita = isArticleInPrevendita($id, false);
if ($inprevendita) {
return "L'articolo è in prevendita";
} else {