$bins_id = tep_db_prepare_input($_POST['bins_id']); $bin = $class_bin->retrieveBinDetail($bins_id); $ean = tep_db_prepare_input($_POST['ean']); $qty = tep_db_prepare_input($_POST['qty']); use_class('products_ean'); $class_ean = new products_ean(); $article = $class_ean->getProductArticle($ean); if ($article['products_id'] == '0') { $messagebox->add("<strong>Manual Bin In Failed: UNKNOWN EAN</strong><br />Please check if correct EAN Label is used"); } else { $segment = $class_bin->retrieveSegmentDetail($bin['bin_segments_id']); $jng_warehouses_id = $segment['warehouses_id']; $products_id = $article['products_id']; $articles_id = $article['products_articles_id']; $stock = $class_pm->stockRetrieveDetail($jng_warehouses_id, $products_id, $articles_id); $bin_current = $class_bin->getBinProductStock($stock['products_stock_id']); if (is_null($bin_current)) { $class_pm->stockAdd($jng_warehouses_id, $products_id, $articles_id, $qty, "MANUAL BIN-IN by {$session_userinfo['username']}"); $class_bin->bookBinForProduct($bins_id, $stock['products_stock_id']); header("Location: ?open=products-stock-detail&id={$stock['products_stock_id']}" . ($hidemenuscript != '' ? '&hidemenu=true' : '')); exit; } else { $messagebox->add("<strong>Manual Bin In Failed: EXISTING ARTICLE</strong><br />This article has booked another bin: " . $bin_current['code_clean']); } } } elseif ($_POST['me_action'] == 'GETPRODUCTSTOCKHISTORY') { $psid = tep_db_prepare_input($_POST['psid']); $period = tep_db_prepare_input($_POST['period']); $daily_summary = tep_db_prepare_input($_POST['daily_summary']); $ps = $class_pm->stockRetrieveDetailByPSID($psid); $whid = $ps['jng_warehouses_id'];
$i_src = null; if ($i['trans_type'] == Order::ORDER_TYPE_SALES_PARTNER) { $i_src = Order::getOldOrderFunctionSP()->retrieveItemDetail($i['trans_id']); } elseif ($i['trans_type'] == Order::ORDER_TYPE_JULIE_GRACE) { $i_src = Order::getOldOrderFunctionJG()->retrieveProductDetail($i['trans_id']); } if (!is_null($i_src) && $i_src['status'] == '8' && $i_src['stock_status'] != 'D') { $i_rack_flag = 'M'; } } } } } //update stock $stock = Product::getOldProductFunction()->stockRetrieveDetail($jng_warehouses_id, $products_id, $articles_id); $bin = $class_bin->getBinProductStock($stock['products_stock_id']); if (is_null($bin)) { $bin = $class_bin->getBinUsable($segments_id, $i_rack_flag); } if (is_null($bin)) { $result['status'] = 'FULL'; } else { $additional_info = count($dp_closed) == 0 ? '' : implode(',', $dp_closed) . ' '; $class_bin->bookBinForProduct($bin['bins_id'], $stock['products_stock_id']); Product::getOldProductFunction()->stockAdd($jng_warehouses_id, $products_id, $articles_id, $quantity, $additional_info . "Bin-In by {$username}"); $pt->addDataToField(date('Y-m-d H:i:s'), 'log_products_bin_in', $quantity); //add to daily statistic if (count($items) > 0) { foreach ($items as $item_id => $i) { $class_do->updateStatus($item_id, '8', $username); //if MMO, prioritize order for to use stock