コード例 #1
0
     $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'];
コード例 #2
0
                 $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