Example #1
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;
}