コード例 #1
0
foreach($items_jg as $i) {
    $articles_id = $i['products_id'].'-'.$i['products_articles_id'];
    if(!isset($items_array[$articles_id])) {
        $desc = $class_pm->retrieveCategoryName($i['categories_id'], '1');
        $items_array[$articles_id]['desc'] = $desc;
        $items_array[$articles_id]['code'] = $i['products_model'];
        $items_array[$articles_id]['pri'] = 0;
        $items_array[$articles_id]['qty'] = 0;
    }
    $items_array[$articles_id]['qty'] += $i['products_quantity'];
    $items_array[$articles_id]['pri'] += $i['products_quantity'] * (calculateCurrency($i['material_expenses'], 'USD')/4);
}
*/
use_class("sendback");
use_class("products_minierp");
$class_sendback = new sendback();
$class_pm = new products_minierp();
$items = $class_sendback->retrieveList('16');
$items_array = array();
foreach ($items as $i) {
    $articles_id = $i['products_id'] . '-' . $i['products_articles_id'];
    if (!isset($items_array[$articles_id])) {
        $desc = $class_pm->retrieveCategoryName($i['categories_id'], '1');
        $items_array[$articles_id]['desc'] = $desc;
        $items_array[$articles_id]['code'] = $i['products_model'];
        $items_array[$articles_id]['pri'] = 0;
        $items_array[$articles_id]['qty'] = 0;
    }
    $qty = $i['type'] == 'R' ? $i['quantity_stock'] : $i['quantity_actual'];
    $items_array[$articles_id]['qty'] += $qty;
    $items_array[$articles_id]['pri'] += $qty * (calculateCurrency($i['material_expenses'], 'USD') / 4);
コード例 #2
0
function processReturn($bin_type, $sp_type, $order_product_id, $updater, $reason = '0', $return_date = '')
{
    global $class_jo, $class_o;
    use_class('payone');
    use_class('products_minierp');
    use_class('products_ean');
    use_class("bins");
    use_class("sendback");
    $class_payone = new payone();
    $class_pm = new products_minierp();
    $class_pean = new products_ean();
    $class_bins = new bins();
    $class_sendback = new sendback();
    $return_allowed_status = array('9', '11', '16', '20');
    $is_best_product = '';
    $product_barcode = '';
    $returnable = 0;
    $status = $bin_type == 'bin_bali' ? 'MCSHOWBINBALI' : 'MCSHOWBININ';
    if ($bin_type == 'missing_product') {
        $status = 'MCSHOWMISSINGPRODUCT';
    }
    $return_created = false;
    if (strtolower($sp_type) == 's') {
        //if($reason=='') {
        //    $order_product_id = $items_id;
        //    $status = 'MCSCANREASON';
        //    $reasons = $class_jo->returnReasonList();
        //    $reasons_list = array();
        //    foreach($reasons as $reason_id=>$val){
        //        $reasons_list[] = $reason_id."-".$val;
        //    }
        //    $result['reasons'] = $reasons_list;
        //}else{
        $item = $class_jo->retrieveItemDetail($order_product_id);
        $order_id = $item['jng_sp_orders_id'];
        $products_id = $item['products_id'];
        $products_articles_id = $item['products_articles_id'];
        $returnable = $item['order_quantity'];
        $return_data = $class_jo->retrieveReturnItem($order_product_id);
        //echo "<pre>";var_dump($return_data);
        if (!is_null($return_data)) {
            foreach ($return_data as $rd) {
                $returnable -= $rd['return_quantity'];
            }
        }
        if ($returnable > 0) {
            $product_barcode = "SP-{$order_product_id}";
            //CREATE RETURN
            if ($return_date == '') {
                $return_date = date('Y-m-d H:i:s');
            }
            $return_qty = 1;
            $comment_customer = 'Returned via MC';
            $comment_jng = '';
            $shipping_paid = tep_db_prepare_input($_POST['shipping_paid']);
            $return_id = $class_jo->returnItem($order_product_id, $return_date, $return_qty, $reason, $comment_customer, $comment_jng, $shipping_paid);
            //CREATE PAYONE RETURN
            //$return_id = '123';
            if ($return_id != '') {
                $return_created = true;
                $class_payone->createReturnContainerSP($return_id, $return_qty, $order_product_id);
                $new_status = putToBin($order_product_id, $sp_type, $bin_type, $updater);
                //PREPARE SENDBACK DATA ONLY FOR status = '16'
                if ($new_status == '16') {
                    $sendback = array();
                    //-------TODO: WE MUST CHANGE THIS HARDCODE segment_id VALUE TO DYNAMIC REQUESTED FROM MC-----
                    $segment_id = 1;
                    $sendback['bin_segments_id'] = $segment_id;
                    $bin_segment = $class_bins->retrieveSegmentDetail($segment_id);
                    //---------------------------------------------------------------------------------
                    $sendback['type'] = 'R';
                    $sendback['products_id'] = $products_id;
                    $sendback['products_articles_id'] = $products_articles_id;
                    $sendback['products_ean'] = $class_pean->getEAN($products_id, $products_articles_id);
                    $sendback['quantity_stock'] = $return_qty;
                    $sendback['quantity_actual'] = 0;
                    $class_sendback->create($sendback);
                }
                $items_q = tep_db_query("SELECT SUM(order_quantity) AS total FROM jng_sp_orders_items WHERE jng_sp_orders_id={$order_id} AND status NOT IN (10, 12)");
                $items = tep_db_fetch_array($items_q);
                $items_total = $items['total'];
                $returns_total = getTotalReturnOrderSP($order_id);
                $returnable = $items_total - $returns_total;
            }
        }
        //} //BLOCK reason status
    } elseif (strtolower($sp_type) == 'j') {
        $item = $class_o->retrieveProductDetail($order_product_id);
        $order_id = $item['orders_id'];
        $products_id = $item['products_id'];
        $products_articles_id = $item['products_articles_id'];
        $existing_return = $class_o->productReturnTotalQty($order_product_id);
        if ($existing_return < $item['products_quantity']) {
            $product_barcode = "JG-{$order_product_id}";
            //CREATE RETURN
            $return_date = date('Y-m-d H:i:s');
            $return_qty = 1;
            $return_type = 'C';
            $return_status = '0';
            $return_comment = 'Returned via MC';
            $product_received = 1;
            $return_id = $class_o->addReturnProduct($order_product_id, $return_date, $return_qty, $return_type, $return_status, $return_comment, $product_received, $reason);
            //CREATE PAYONE RETURN
            //$return_id = '123';
            if ($return_id != '') {
                $return_created = true;
                $class_payone->createReturnContainer($return_id, $return_qty, $order_product_id);
                $new_status = putToBin($order_product_id, $sp_type, $bin_type, $updater);
                //PREPARE SENDBACK DATA ONLY FOR status = '16'
                if ($new_status == '16') {
                    $sendback = array();
                    //-------TODO: WE MUST CHANGE THIS HARDCODE segment_id VALUE TO DYNAMIC REQUESTED FROM MC-----
                    $segment_id = 1;
                    $sendback['bin_segments_id'] = $segment_id;
                    $bin_segment = $class_bins->retrieveSegmentDetail($segment_id);
                    //---------------------------------------------------------------------------------
                    $sendback['type'] = 'R';
                    $sendback['products_id'] = $products_id;
                    $sendback['products_articles_id'] = $products_articles_id;
                    $sendback['products_ean'] = $class_pean->getEAN($products_id, $products_articles_id);
                    $sendback['quantity_stock'] = $return_qty;
                    $sendback['quantity_actual'] = 0;
                    $class_sendback->create($sendback);
                }
                $items_q = tep_db_query("SELECT SUM(products_quantity) AS total FROM orders_products WHERE orders_id={$order_id}  AND status NOT IN (10, 12)");
                $items = tep_db_fetch_array($items_q);
                $items_total = $items['total'];
                $returns_total = getTotalReturnOrderJG($order_id);
                $returnable = $items_total - $returns_total;
            }
        }
    }
    $result['product_barcode'] = $product_barcode;
    $result['order_product_id'] = $order_product_id;
    $result['returnable'] = $returnable;
    $result['status'] = $return_created ? $status : 'CREATERETURNFAIL';
    return $result;
}
コード例 #3
0
<?php

use_class('sendback');
use_class('jng_sp_orders');
use_class('orders');
use_class('products_ean');
use_class('products_minierp');
use_class('bins');
$class_sendback = new sendback();
$class_pean = new products_ean();
$class_pm = new products_minierp();
$class_bins = new bins();
$name1 = 'Sending Preparation';
$name2 = 'OTW to Bali';
$name3 = 'Receiving in Bali';
//$test = $class_sendback->getProductOnSentPackage('SB-101112-1', '4050878078294');echo "<pre>";var_dump($test);die();
//$s_lists = $class_sendback->retrievePackageContentList('SB-101202-2', "s.status='17'");$sendback_lists = $class_sendback->drawLists($s_lists);echo "<pre>";var_dump($s_lists);die();
$tc = array();
$segment_id = isset($_POST['segment_id']) && $_POST['segment_id'] != '' ? tep_db_prepare_input($_POST['segment_id']) : '1';
$sc16 = $class_sendback->statusCounter("bin_segments_id='{$segment_id}'");
$tc[] = intval($sc16['16']);
$sc = $class_sendback->statusCounter();
//$tc[] = intval($sc['16']);
$tc[] = intval($sc['17']);
$tc[] = intval($sc['18']);
//AJAX LOAD
if (isset($_POST['me_action']) && $_POST['me_action'] != '') {
    $post_result = '';
    if ($_POST['me_action'] == 'LOAD') {
        if ($tc[0] == 0) {
            $post_result .= '<h3 class="red">There is no product from this segment available for sending to Bali</h3>';
コード例 #4
0
ファイル: bins.php プロジェクト: blasiuscosa/manobo-2008
<?php

#########################################
#  Author  : D3W4 & SAHAT               #
#  Created : Aug 20, 2010 10:48:46 AM   #
#########################################
use_class('bins');
use_class('sendback');
use_class('products_ean');
use_class('products_minierp');
$class_bins = new bins();
$class_sendback = new sendback();
$class_pean = new products_ean();
$class_pm = new products_minierp();
define('NO_RACK_TEXT', 'No Rack(s) available !');
//START TEMPLATE
$segment_id = isset($_POST['segment_id']) && $_POST['segment_id'] != '' ? $_POST['segment_id'] : SEGMENT_ID_DEFAULT;
$segment = $class_bins->retrieveSegmentDetail($segment_id);
if (isset($_POST['me_action'])) {
    if ($_POST['me_action'] == 'EXTENDRACK') {
        $rack_id = tep_db_prepare_input($_POST['rack_id']);
        $rack_no = tep_db_prepare_input($_POST['rack_no']);
        $new_rows = tep_db_prepare_input($_POST['newrows']);
        $rack = $class_bins->retrieveRackDetail($rack_id);
        $bins_new = $class_bins->extendRack($rack_id, $new_rows);
        $result = array();
        $result['rack_id'] = $rack_id;
        $result['rack_no'] = $rack_no;
        $result['ext_status'] = is_array($bins_new) && count($bins_new) > 0 ? '1' : '0';
        ajaxReturn($result);
        exit;