public function setAsConfirmed()
 {
     //WE DISABLE THE ELEMENTS SOURCING INTEGRATION HERE AND WILL BE IMPLEMENT IN A NEW MODULE TO DIRECTLY CREATE A PO
     global $session_userinfo;
     use_class('stock_booking');
     use_class('depot_orders');
     use_class('products_minierp');
     use_class('elements_preorder');
     $class_pm = new products_minierp();
     $class_do = new depot_orders();
     $depot_orders_id = array();
     $booking = new stock_booking();
     $booking->create('Preorder: ' . $this->name);
     foreach ($this->items as $i) {
         $stock = $class_pm->stockRetrieveDetail(WAREHOUSE_ID_PRODUCTS_HAMBURG, $i['products_id'], $i['articles_id']);
         $booking->addItem($stock['products_stock_id'], $i['qty_booked']);
         for ($q = 1; $q <= $i['qty_preproduce']; $q++) {
             $depot_orders_id[] = $class_do->newOrder(SEGMENT_ID_HAMBURG, $i['products_id'], $i['articles_id'], $i['products_ean'], 1);
         }
     }
     $elements_sourcing = $this->getElementsNeededForOnDemand();
     //        foreach($elements_sourcing as $eid=>$qty) {
     //            $epo = new elements_preorder($eid);
     //            $epo->addOrder($qty, null, 'Preorder '.$this->id);
     //        }
     $this->updateConnection($booking->id, $depot_orders_id, $elements_sourcing);
     $this->updateStatus($this->status, 2, $session_userinfo['username']);
 }
Example #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;
}
                    $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';
//$sop_contents[] = '2) Specified a name for the order. Please use a name that will easily remind you to the reason of the booking.';