コード例 #1
0
$content .= '<input type="submit" value="Go" />';
$content .= '<input id="search-form-cancel" type="button" value="Cancel" style="display:none;" />';
$content .= '</form>';
$content .= '</div>';
//#search-form
if (isset($_GET['psid'])) {
    $psid = tep_db_prepare_input($_GET['psid']);
    $stock = $class_pm->stockRetrieveDetailByPSID($psid);
    $pid = $stock['products_id'];
    $aid = $stock['articles_id'];
    if ($stock['jng_warehouses_id'] != $fg_whid) {
        $ps = $class_pm->stockRetrieveDetail($fg_whid, $pid, $aid);
        openStockDetail($ps['products_stock_id']);
    }
    $bin = $class_bin->getBinProductStock($psid);
    $bookmanual = stock_booking::getBookedQuantity($psid);
    $stock_database = $stock['stock'];
    $stock_on_and_bookedbyrealorder = $class_pm->productsBookedCount($fg_whid, $pid, $aid);
    $stock_on_and_bookedmanually = $bookmanual > $stock_database ? $stock_database : $bookmanual;
    $stock_available = $stock_database - $stock_on_and_bookedmanually;
    $stock_on_total = $stock_database + $stock_on_and_bookedbyrealorder;
    $stock_off_and_bookedmanually = $bookmanual > $stock_database ? $bookmanual - $stock_database : 0;
    $content .= '<div id="stock-detail">';
    $content .= '<div style="float:left;width:350px;">';
    $content .= '<div>' . drawProductInfo($pid, $aid) . '</div>';
    $content .= '<div style="clear:both;padding-top:30px;">' . drawBinAction($bin) . '</div>';
    $content .= '<div style="margin-top:30px;">';
    $content .= '<h2>Stock Information</h2>';
    $content .= '<table border="0" cellpadding="0" cellspacing="0">';
    $content .= '<tr class="notice"><td style="width:250px;">On Stock in Database<br />(Available + Booked Manually)</td><td class="tar" style="width:50px;">' . $stock_database . '</td></tr>';
    $content .= '<tr><td colspan="2"><hr /></td></tr>';
コード例 #2
0
/**
 * Refresh Stock Booking for unpaid prepayment orders of selected SP
 * @return Array
 */
function zadeRefreshPrepaymentBooking()
{
    use_class('stock_booking');
    use_class('products_minierp');
    $booking = new stock_booking(ZALANDO_PREPAYMENT_BOOKING_ID);
    $class_pm = new products_minierp();
    //CLEAR BOOKING ITEMS
    $booking->removeItem('*');
    $spid_list = '8, 10';
    //GET ZADE PREPAYMENT ORDERS THAT STILL NOT YET PAID
    $q = "SELECT joi.products_id, joi.products_articles_id, joi.order_quantity" . " FROM jng_sp_orders jo" . " INNER JOIN jng_sp_orders_items joi" . " ON joi.jng_sp_orders_id = jo.jng_sp_orders_id AND joi.status = 1" . " WHERE jo.jng_sp_id IN ({$spid_list})" . " AND jo.payment_method = '" . PAYMENT_METHOD_PREPAYMENT . "'" . " AND jo.payment_status = 0";
    $dbq = tep_db_query($q);
    $items_added = array();
    while ($r = tep_db_fetch_array($dbq)) {
        $pid = $r['products_id'];
        $aid = $r['products_articles_id'];
        $quantity = $r['order_quantity'];
        $ps = $class_pm->stockRetrieveDetail(WAREHOUSE_ID_PRODUCTS_HAMBURG, $pid, $aid);
        $products_stock_id = $ps['products_stock_id'];
        if ($products_stock_id > 0) {
            $booking->addItem($products_stock_id, $quantity);
            $items_added[$products_stock_id] = $quantity;
        } else {
            //WHAT SHOULD WE DO WHEN ARTICLES NOT EXIST ON DEPOT :
            // - CREATE MDO ?
            // - SEND EMAIL TO KEY ACCOUNT ?
        }
    }
    return $items_added;
}
コード例 #3
0
<?php

/**
 * This module is used to display all current active booking
 *
 * @author IT TEAM BONOFACTUM
 * @created Jun 18, 2013 3:45:28 PM
 */
use_class('stock_booking');
use_class('products_minierp');
use_class('products_articles');
$class_pm = new products_minierp();
$class_pa = new products_articles();
$articles_booked = stock_booking::getBookedQuantityAll(WAREHOUSE_ID_PRODUCTS_HAMBURG);
$articles_stock = $class_pm->stockRetrieveDetailAll(WAREHOUSE_ID_PRODUCTS_HAMBURG, 'booking_active>0');
$ttl_products = 0;
$ttl_articles = 0;
$ttl_qty_booked = 0;
$ttl_cache_error = 0;
$articles_result = array();
foreach ($articles_booked as $id => $book_qty) {
    $id_temp = explode('-', $id);
    $pid = $id_temp[0];
    $aid = $id_temp[1];
    if (!isset($articles_result[$pid])) {
        $articles_result[$pid] = array();
        $ttl_products++;
    }
    if (!isset($articles_result[$pid][$aid])) {
        $articles_result[$pid][$aid] = array();
        $ttl_articles++;
コード例 #4
0
             echo "\n";
             $first = false;
         }
         echo implode("\t", $oi);
         echo "\n";
     }
 }
 echo '</pre>';
 exit;
 */
 $whid_depot = WAREHOUSE_ID_FOR_HANDLING_ORDERS;
 $whid_prod = WAREHOUSE_ID_PRODUCTS_BALI;
 $whid_elements = WAREHOUSE_ID_ELEMENTS;
 //LOAD PRODUCTS STOCK FROM DEPOT FROM DEFAULT WAREHOUSE
 $products_stock = $class_pm->stockRetrieveAll($whid_depot);
 $products_stock_booked = stock_booking::getBookedQuantityAll($whid_depot);
 //$products_stock_booked_instock:
 //this variable contains total products actually in stock (including the booked ones)
 //it is used for special orders allowed to override the booking status
 $products_stock_booked_instock = array();
 //Remove booked quantity from stock
 foreach ($products_stock as $k => $v) {
     if (isset($products_stock_booked[$k])) {
         $products_stock_booked_instock[$k] = $products_stock[$k];
         $products_stock[$k] = $products_stock_booked[$k] >= $products_stock[$k] ? 0 : $products_stock[$k] - $products_stock_booked[$k];
     }
 }
 //WE STOP CHECKING FOR BALI STOCK UNTIL FURTHER DISCUSSION
 //WE ARE NOW USING IT FOR KEEPING STOCK FOR LAZADA
 //16.10.2014 updated by Sahat
 //$products_stock_bali = $class_pm->stockRetrieveAll($whid_prod);
コード例 #5
0
use_class('products_articles');
$class_pm = new products_minierp();
$class_pa = new products_articles();
$hn_product = 'Product';
$hn_article = 'Articles';
$hn_custock = 'Current<br />Stock';
$hn_cbooked = 'Total Booked<br />in Active Orders';
$hn_cbohere = 'Booked in<br />This Order';
$product_table_header = array();
$product_table_header['0 long_id'] = $hn_product;
$product_table_header['1 source'] = $hn_article;
$product_table_header['2 source'] = $hn_custock;
$product_table_header['3 source'] = $hn_cbooked;
$product_table_header['4 source'] = $hn_cbohere;
$id = tep_db_prepare_input($_GET['id']);
$booking = new stock_booking($id);
if (isset($_POST['me_action'])) {
    if ($_POST['me_action'] == 'UPDATENAME') {
        $new_name = tep_db_prepare_input($_POST['name']);
        $booking->update(null, $new_name);
        echo utf8_encode($booking->name);
        exit;
    } elseif ($_POST['me_action'] == 'UPDATESTATUS') {
        $old_status = $booking->status;
        $new_status = tep_db_prepare_input($_POST['status']);
        $booking->updateStatus($old_status, $new_status, $session_userinfo['username']);
        echo utf8_encode($booking->status);
        exit;
    }
}
$content .= '<div style="width:710px;">';
コード例 #6
0
 public function setAsClosed()
 {
     global $session_userinfo;
     use_class('stock_booking');
     $booking = new stock_booking($this->booking_id);
     $booking->updateStatus($booking->status, '2', $session_userinfo['username']);
     $this->updateStatus($this->status, '3', $session_userinfo['username']);
 }
コード例 #7
0
function prepareArticle($pid, $product, $amazon_ek, $amazon_ek_old, $article = null)
{
    global $class_pm, $header, $hn, $report_cogs_lastyear, $report_cogs_thisyear;
    if (is_null($article)) {
        $aid = '0';
        $ean = $product['p']['products_ean'];
        $length = $product['pnc']['products_length'];
    } else {
        $aid = $article['products_articles_id'];
        $ean = $article['products_ean'];
        $length = $article['length'];
    }
    $stock = $class_pm->stockRetrieveDetail(WAREHOUSE_ID_PRODUCTS_HAMBURG, $pid, $aid);
    $td = array();
    foreach ($header as $k => $v) {
        $value = '';
        switch ($v) {
            case $hn['image']:
                $value = webImage($product['p']['products_image'], '80', '80', 'Products ' . $pid);
                break;
            case $hn['ean']:
                $value = $ean;
                break;
            case $hn['pid']:
                $value = $pid;
                break;
            case $hn['aid']:
                $value = $aid;
                break;
            case $hn['length']:
                $value = $length > 0 ? textLength($length) : '-';
                break;
            case $hn['price_old']:
                $value = displayCurrency('EUR', $product['p']['products_price_old'], false);
                break;
            case $hn['price']:
                $value = displayCurrency('EUR', $product['p']['products_price'], false);
                break;
            case $hn['price_amazon_ek']:
                $value = displayCurrency('EUR', $amazon_ek, false);
                break;
            case $hn['price_amazon_ek_old']:
                $value = displayCurrency('EUR', $amazon_ek_old, false);
                break;
            case $hn['stock']:
                $value = strval(intval($stock['stock']));
                break;
            case $hn['booked']:
                $value = strval(intval(stock_booking::getBookedQuantity($stock['products_stock_id'])));
                break;
            case $hn['matexp']:
                $value = displayCurrency('EUR', $product['p']['material_expenses'], false);
                break;
            case $hn['lastyear_qty']:
                $value = strval(intval($report_cogs_lastyear[$ean]['total_quantity']));
                break;
            case $hn['lastyear_netsales']:
                $value = displayCurrency('EUR', $report_cogs_lastyear[$ean]['total_net_sales'], false);
                break;
            case $hn['lastyear_cogs']:
                $value = displayCurrency('EUR', $report_cogs_lastyear[$ean]['total_cogs'], false);
                break;
            case $hn['lastyear_grossprofit']:
                $value = displayCurrency('EUR', $report_cogs_lastyear[$ean]['total_gross_profit'], false);
                break;
            case $hn['thisyear_qty']:
                $value = strval(intval($report_cogs_thisyear[$ean]['total_quantity']));
                break;
            case $hn['thisyear_cogs']:
                $value = displayCurrency('EUR', $report_cogs_thisyear[$ean]['total_cogs'], false);
                break;
        }
        $td[$k] = '<div style="padding:2px;">' . $value . '</div>';
    }
    return $td;
}
コード例 #8
0
                    }
                    $value = implode('<br />', $tempvalue);
                    break;
                default:
                    $value = '&nbsp;';
            }
            $result .= $value . '</td>';
        }
        $result .= '</tr>';
        echo utf8_encode($result);
        exit;
    } elseif ($_POST['me_action'] == 'ADDBOOKITEM') {
        $booking_id = tep_db_prepare_input($_POST['booking_id']);
        $psid = tep_db_prepare_input($_POST['psid']);
        $bqty = tep_db_prepare_input($_POST['bqty']);
        $booking = new stock_booking($booking_id);
        $booking->addItem($psid, $bqty);
        $ajaxResult = array();
        $ajaxResult['psid'] = $psid;
        $ajaxResult['bqty'] = $bqty;
        ajaxReturn($ajaxResult);
        exit;
    }
}
$available_status = stock_booking::getBookingStatus();
unset($available_status[1]);
//$sop_header = 'Create New Stock Booking';
//$sop_contents = array();
//$sop_contents[] = 'Use this module to create a new stock booking order. When set as active, the booked quantity will be reduce from available stock and not used for any orders until it is released (set back as inactive).';
//$sop_contents[] = 'To create a booking order:';
//$sop_contents[] = '1) Choose wheter you want to create a new order or you want to add new products to exsting booking order';
コード例 #9
0
                            default:
                                $value = '&nbsp;';
                        }
                        $td[$k] = $value;
                    }
                    $table_data[] = $td;
                }
            }
            $result .= tep_draw_table('sticky-tablehead', $table_data);
        }
        echo utf8_encode($result);
        exit;
    } elseif ($_POST['me_action'] == 'UPDATESTATUS') {
        $booking_id = tep_db_prepare_input($_POST['booking_id']);
        $new_status = tep_db_prepare_input($_POST['status']);
        $booking = new stock_booking($booking_id);
        $old_status = $booking->status;
        $booking->updateStatus($old_status, $new_status, $session_userinfo['username']);
        echo utf8_encode($booking->id . '-' . $booking->status);
        exit;
    }
}
$content .= '<div id="booking-list"></div>';
$javascript .= '
            function listLoaded(htmlResult, txtResult) {
                if(txtResult=="success") {
                    $("#booking-list").html(htmlResult);
                    $("#booking-list").find("th,td").addClass("ui-corner-all");
                    applyFancyBox("#booking-list", "view_webpage");
                    Manobo.attachBehaviors($("#booking-list"));
                    $("#booking-list .bookstat").click(function() {