tep_db_connect();
define('FPDF_IMGPATH', DIR_WS_IMAGES . 'pdf/');
define('FPDF_FONTPATH', FPDF_IMGPATH . 'fonts/');
require_once DIR_WS_CLASSES . 'fpdf.php';
if (isset($_GET['id']) && $_GET['id'] != '') {
    $type = 'sp';
    //SP PACKAGES
    use_class("jng_sp");
    $class_sp = new jng_sp();
    $splist = $class_sp->retrieveList();
    $sp_prefix = array();
    foreach ($splist as $sp) {
        $sp_prefix[$sp['jng_sp_id']] = $sp['package_prefix'];
    }
    use_class("jng_sp_packages");
    $class_jp = new jng_sp_packages();
    use_class("jng_sp_orders");
    $class_jo = new jng_sp_orders();
    $package_id = tep_db_prepare_input($_GET['id']);
    $orders_array = $class_jp->getOrders($package_id);
    $items_array = $class_jp->getItems($package_id);
} elseif (isset($_GET['pid']) && $_GET['pid'] != '') {
    $type = 'jng';
    //JNG PACKAGES
    use_class("minierp_packages");
    $class_mp = new minierp_packages();
    use_class("orders");
    $class_o = new orders();
    $package_id = tep_db_prepare_input($_GET['pid']);
    $orders_array = $class_mp->getOrders($package_id);
    $items_array = $class_mp->getProducts($package_id);
         $result['msg_errors'] = '';
     } else {
         $result = array();
         $result['oi_id'] = $items_id;
         $result['old_status'] = $old_status;
         $result['new_status'] = $item['status'];
         $result['msg_success'] = '';
         $result['msg_errors'] = oiErrorStatus($items_id, $item['status'], $class_do->statusName());
     }
     ajaxReturn($result);
     exit;
 } elseif ($_POST['me_action'] == 'PACKAGEUPDATEAWB') {
     $package_id = tep_db_prepare_input($_POST['package_id']);
     $package_awb = tep_db_prepare_input($_POST['package_awb']);
     use_class('jng_sp_packages');
     $class_jp = new jng_sp_packages();
     $class_jp->updateAWBno($package_id, $package_awb);
     $result = array();
     $result['package_id'] = $package_id;
     $result['package_awb'] = $package_awb;
     ajaxReturn($result);
     exit;
 } elseif ($_POST['me_action'] == 'REFRESHCOUNTER') {
     $status_counter = $class_do->statusCounter($statusNameShow, $dpo_option, $dpo_group, $ean_list, $date_range_start, $date_range_end, $brand_id, $cat_id);
     $result = array();
     foreach ($status_counter as $status => $counter) {
         $result[] = "{$status},{$counter}";
     }
     ajaxReturn($result);
     exit;
     //	} elseif($_POST['me_action']=='LOADINGTHUMBTOOLTIP') {
         //				$result .= '<div>&nbsp;</div>';
         //				$result .= $win_pack->ui_print();
         //			}
         $log_total_ged = $class_ml->retrieveContentsTotal($logistic_id, 'GED');
         $log_total_dhl = $class_ml->retrieveContentsTotal($logistic_id, 'DHL', $use_cogs);
     }
     $result .= '<input type="hidden" id="log_value_ged_hidden" value="' . displayCurrency('EUR', $log_total_ged) . '" />';
     $result .= '<input type="hidden" id="log_value_dhl_hidden" value="' . displayCurrency('EUR', $log_total_dhl) . '" />';
     echo utf8_encode($result);
 } elseif ($_POST['me_action'] == 'SETSENT') {
     $logistic_id = tep_db_prepare_input($_POST['logistic_id']);
     $packages = $class_ml->retrievePackages($logistic_id, true);
     foreach ($packages as $type => $pack) {
         if ($type == 'P') {
             use_class('jng_sp_packages');
             $class_jp = new jng_sp_packages();
             use_class('jng_sp_orders');
             $class_jo = new jng_sp_orders();
             foreach ($pack as $p) {
                 $items = $class_jp->sendPackage($p['packages_id']);
                 foreach ($items as $items_id) {
                     $class_jo->updateItemStatus($items_id, '7', $session_userinfo['username']);
                 }
             }
         } elseif ($type == 'J') {
             use_class('minierp_packages');
             $class_mp = new minierp_packages();
             use_class('orders');
             $class_o = new orders();
             foreach ($pack as $p) {
                 $items = $class_mp->sendPackage($p['packages_id']);
Example #4
0
<?php

//AJAX ACTION
use_class('orders');
use_class('depot_orders');
use_class('jng_sp');
use_class('jng_sp_orders');
use_class('jng_sp_packages');
use_class('minierp_packages');
use_class('products_ean');
use_class('bins');
$class_o = new orders();
$class_do = new depot_orders();
$class_sp = new jng_sp();
$class_jo = new jng_sp_orders();
$class_jp = new jng_sp_packages();
$class_mp = new minierp_packages();
$class_ean = new products_ean();
$class_bins = new bins();
$item_status = statusName();
define('EAN_MISMATCH_ERROR', 'EANMISMATCH');
$waiting_box_name = 'Waiting Box';
$packing_box_name = 'Packing Box';
$finish_box_name = 'Finish Box';
$order_show_sp_info = array('9');
//am.fr
function printPackageTip($type, $no, $info = '', $spname = '', $spclass = '')
{
    global $waiting_box_name, $packing_box_name;
    if ($type == EAN_MISMATCH_ERROR) {
        $result = '<div class="package-tip red-bright">';
Example #5
0
<?php

use_class('jng_sp_packages');
$class_jp = new jng_sp_packages();
$page = 1;
if (isset($_GET['page'])) {
    $page = $_GET['page'];
}
$content = $class_jp->managePackageList(ROWPERPAGE, $page);
$content .= '<div style="margin-top:20px;"><input type="button" value="View J&G Packages" onclick="location.href=\'?open=packages\';" /></div>';
$title = "List of SP Packages";
<?php

global $db;
require_once '../confy.php';
require_once '../functions.php';
require_once '../functions-2.php';
require_once '../functions-xml.php';
tep_db_connect();
define('FPDF_IMGPATH', DIR_WS_IMAGES . 'pdf/');
define('FPDF_FONTPATH', FPDF_IMGPATH . 'fonts/');
use_class('fpdf', DIR_WS_CLASSES);
use_class("jng_sp_packages");
$class_jp = new jng_sp_packages();
use_class("jng_sp_orders");
$class_jo = new jng_sp_orders();
use_class("products_minierp");
$class_pm = new products_minierp();
$package_id = tep_db_prepare_input($_GET['id']);
$package = $class_jp->retrieveDetail($package_id);
//$orders_array = $class_jp->getOrders($package_id);
$items_array = $class_jp->getItems($package_id);
class PDF extends FPDF
{
    var $left_margin;
    var $page_width;
    var $page_height;
    var $font_size;
    //Page header
    function Header()
    {
    }
 * 9)  payone_invoice_status_history ? not sure, must discuss first
 * 10) payone_orders_return_histor  ? not sure, must discuss first
 * 11) production_status_history ? not sure, must discuss first
 * 12) elements_sourcing_history
 * 13) orders_product_semail_history
 * 14) orders_products_problem_history
 *
*/
$logger->write("Task 1 (CHECK PACKAGE SENT RECEIVE DATE) - Start");
/////////////////////////////////////
// CHECK PACKAGE SENT RECEIVE DATE //
/////////////////////////////////////
//SP PACKAGES
$counter = 0;
use_class('jng_sp_packages');
$class_jp = new jng_sp_packages();
use_class('jng_sp_orders');
$class_jo = new jng_sp_orders();
$packages = $class_jp->retrieveUnreceivedPackages();
foreach ($packages as $pid => $p) {
    $status_check = $p['package_type'] == 'R' ? array('18', '19', '20', '21') : array('8', '9');
    $items = $class_jp->getItems($pid);
    foreach ($items as $item_id) {
        $ih = $class_jo->retrieveItemHistory($item_id);
        foreach ($ih as $h) {
            if (in_array($h['status'], $status_check)) {
                $counter++;
                $class_jp->setReceiveDate($pid, $h['status_date']);
                break 2;
            }
        }
<?php

//EXPORT ORDERS FOR JNG-EasyLog
global $db;
require_once '../confy.php';
require_once '../functions.php';
require_once '../functions-2.php';
tep_db_connect();
use_class('jng_sp_orders');
$class_jo = new jng_sp_orders();
use_class('jng_sp_packages');
$class_jp = new jng_sp_packages();
use_class('payone_invoice');
$export = 'NONE';
$packages = $class_jp->getReceivedPackages();
$lines = array();
if (count($packages) > 0) {
    foreach ($packages as $package) {
        $id = $package['jng_sp_packages_id'];
        //EXCLUDE NM.AT from EC process
        if ($package['jng_sp_id'] != '3') {
            $orders_array = $class_jp->getOrders($id);
            $items_array = $class_jp->getItems($id);
            $order_counter = 0;
            foreach ($orders_array as $order_id) {
                $order_counter++;
                $items = $class_jo->retrieveItems($order_id);
                foreach ($items as $key => $item) {
                    if ($class_jo->statusIsCancelled($item['status']) || !in_array($item['jng_sp_orders_items_id'], $items_array)) {
                        unset($items[$key]);
                    }
Example #9
0
<?php

use_class('jng_sp_packages');
$class_jp = new jng_sp_packages();
use_class('jng_sp_orders');
$class_jo = new jng_sp_orders();
$content = '';
if (!isset($_GET['id']) || $_GET['id'] == '') {
    $content .= '';
    $content .= '<div></div>';
} else {
    $package_id = tep_db_prepare_input($_GET['id']);
    $package = $class_jp->retrieveDetail($package_id);
    $package_id = $package['jng_sp_packages_id'];
    $sent_date = $package['sent_date'] == '' ? '&nbsp;' : date('d F Y', strtotime($package['sent_date']));
    $received_date = $package['received_date'] == '' ? '&nbsp;' : date('d F Y', strtotime($package['received_date']));
    $content .= '<div id="sp-package">';
    $content .= '<ul>';
    $content .= '<li><a href="#pack-tab1"><span>Package Data</span></a></li>';
    $content .= '<li><a href="#pack-tab2"><span>Package Contents</span></a></li>';
    $content .= '</ul>';
    $content .= '<div id="pack-tab1">';
    $content .= '<div>';
    $content .= '<table border="0" cellpadding="0" cellspacing="0">';
    $content .= '<tr><td width="150">Package ID</td><td>' . $package_id . '</td></tr>';
    $content .= '<tr><td>Package Code</td><td><strong>' . $package['package_code'] . '</strong></td></tr>';
    $awb_code = $class_jp->awbCodeLink($package['awb_no']);
    $content .= '<tr><td>AWB No</td><td>' . $awb_code . '</td></tr>';
    $content .= '<tr><td>Sent Date</td><td>' . $sent_date . '</td></tr>';
    $content .= '<tr><td>Received Date</td><td>' . $received_date . '</td></tr>';
    $content .= '</table>';
require_once '../functions.php';
require_once '../functions-2.php';
tep_db_connect();
use_class('logger');
$logger = new logger('cron', 'daily-statistic');
set_time_limit(0);
$tax = VAT;
$package_rate = 0;
$freight_rate = 2.7;
//SALES PARTNER DAILY STATISTIC
use_class('jng_sp');
use_class('jng_sp_orders');
use_class('jng_sp_packages');
$class_sp = new jng_sp();
$class_jo = new jng_sp_orders();
$class_jp = new jng_sp_packages();
$jng_sps = $class_sp->retrieveList();
$getdays = '';
if (isset($_GET['getdays'])) {
    $getdays = tep_db_prepare_input($_GET['getdays']);
}
if ($getdays == '') {
    $getdays = 1;
}
$dates = array();
for ($d = $getdays; $d > 0; $d--) {
    $dates[] = date('Y-m-d', strtotime("-{$d} day"));
}
if (isset($_GET['period'])) {
    //FORMAT = YYYY-MM
    $dates = array();
 function updatePackagesAWBno($logistic_id, $awb_no)
 {
     $packages = $this->retrievePackages($logistic_id, true);
     foreach ($packages as $type => $packs) {
         switch ($type) {
             case 'J':
                 use_class('minierp_packages');
                 $class_mp = new minierp_packages();
                 foreach ($packs as $p) {
                     //if($p['awb_no']=='') {
                     $class_mp->updateAWBno($p['packages_id'], $awb_no);
                     //}
                 }
                 break;
             case 'P':
                 use_class('jng_sp_packages');
                 $class_jp = new jng_sp_packages();
                 foreach ($packs as $p) {
                     //if($p['awb_no']=='') {
                     $class_jp->updateAWBno($p['packages_id'], $awb_no);
                     //}
                 }
                 break;
             case 'D':
                 use_class('depot_orders');
                 $class_do = new depot_orders();
                 foreach ($packs as $p) {
                     $class_do->packageUpdateAWB($p['packages_id'], $awb_no);
                 }
         }
     }
 }
Example #12
0
 /**
  * Retrieve order items data on Package
  * @global array $SP_DOESNT_NEED_EASYLOG
  * @param int $jng_sp_id
  * @param int $status
  * @param string $ean_list
  * @param string $date_start
  * @param string $date_end
  * @param int $brand_id
  * @param int $cat_id
  * @param string $orders_no
  * @return array of order items
  */
 function manageOrderPackageList($jng_sp_id, $status, $ean_list = null, $date_start = null, $date_end = null, $brand_id = null, $cat_id = null, $orders_no = '')
 {
     use_class('jng_sp');
     $class_sp = new jng_sp();
     $SP_DOESNT_NEED_EASYLOG = array_keys($class_sp->retrieveList('use_easylog=0'));
     $query = "SELECT CONCAT(jo.customer_billing_firstname,' ',jo.customer_billing_lastname) AS customer_name";
     $query .= ", jo.order_id, jo.order_date, jo.customers_order_count, joi.*, p.products_image, p.products_brand_id, joih.status_date";
     $query .= ", jp.jng_sp_id, jp.jng_sp_packages_id, jp.package_code, jp.awb_no, jcust.jng_sp_customers_id, jscs.list_type";
     $query .= ", IFNULL(joi.leadtime_start_date, jo.order_date) AS date_for_sorting";
     $query .= " FROM jng_sp_orders jo";
     $query .= " LEFT JOIN jng_sp_customers jcust ON jcust.jng_sp_id=jo.jng_sp_id AND jcust.customer_id=jo.customer_billing_id";
     $query .= " LEFT JOIN jng_sp_customers_special jscs ON jscs.jng_sp_customers_id=jcust.jng_sp_customers_id";
     $query .= " LEFT JOIN jng_sp_orders_items joi ON joi.jng_sp_orders_id=jo.jng_sp_orders_id";
     $query .= " LEFT JOIN jng_sp_orders_items_status_history joih ON joih.jng_sp_orders_items_id=joi.jng_sp_orders_items_id AND joih.status=joi.status";
     $query .= " INNER JOIN jng_sp_packages_items jpi ON jpi.jng_sp_orders_items_id=joi.jng_sp_orders_items_id";
     $query .= " LEFT JOIN products p ON p.products_id=joi.products_id";
     $query .= " LEFT JOIN jng_sp_packages jp ON jp.jng_sp_packages_id=jpi.jng_sp_packages_id";
     $query .= " LEFT JOIN products_to_categories ptc ON ptc.categories_id=joi.products_id";
     $query .= " WHERE joi.status='{$status}'";
     if ($jng_sp_id != '0') {
         $query .= " AND jo.jng_sp_id={$jng_sp_id}";
     }
     $query .= $this->eanListFilterQuery($ean_list, 'AND', '');
     $query .= $this->leadtimeFilterQuery($status, $date_start, $date_end, 'AND', '');
     if ($brand_id > 0) {
         $query .= " AND p.products_brand_id='{$brand_id}' ";
     }
     if ($cat_id > 0) {
         $query .= " AND ptc.categories_id='{$cat_id}' ";
     }
     if ($orders_no != '') {
         $query .= " AND jo.order_id IN ('" . (is_array($orders_no) ? implode("','", $orders_no) : $orders_no) . "') ";
     }
     $query .= " ORDER BY IFNULL(jp.sent_date, NOW()) ";
     $query .= $status < 14 ? 'ASC' : 'DESC';
     $query .= ", date_for_sorting ASC, jo.jng_sp_orders_id ASC, joi.order_item_count ASC";
     $result = tep_db_query($query);
     $orders = array();
     $package_code = array();
     $package_awb = array();
     $package_sp_id = array();
     $all_package_receivable = true;
     $filters = $this->manageOrderList_drawFilter($jng_sp_id, $ean_list, $date_start, $date_end, $brand_id, $cat_id, $orders_no);
     if (tep_db_num_rows($result) > 0) {
         $header = array();
         $header['d'] = ($status < 6 or $status > 7) ? 'Date' : 'Lead Time';
         //$header['d2'] = '<abbr title="Reported Shipping Date">RSD</abbr>';
         if (!($status < 6 || $status > 7)) {
             $header['d3'] = 'Cycle Time';
             $header['d2'] = 'Started Date';
         }
         $header['c'] = 'Customer / Order No';
         $header['o'] = 'Order ID';
         $header['a'] = 'Article No';
         $header['p'] = 'Price';
         $header['q'] = 'Qty';
         $header['t'] = 'Action';
         $orders_items = array();
         $items_listed = array();
         while ($row = tep_db_fetch_array($result)) {
             if (!in_array($row['jng_sp_orders_items_id'], $items_listed)) {
                 $obj_product = new Product($row['products_id']);
                 $orders_items[$row['jng_sp_orders_items_id']] = $row;
                 $items_listed[] = $row['jng_sp_orders_items_id'];
                 $package_id = $row['jng_sp_packages_id'];
                 if (!isset($orders[$package_id])) {
                     $orders[$package_id] = array();
                     $package_code[$package_id] = $row['package_code'];
                     $package_awb[$package_id] = $row['awb_no'];
                     if ($row['awb_no'] == '') {
                         $all_package_receivable = false;
                     }
                 }
                 $order_date = strtotime($row['order_date']);
                 $o = array();
                 /*
                                     $date_used = strtotime($row['prod_target_in']);
                                     if (($status < 6) OR ($status > 7)) {
                    $value_date = date('d-M-y', $order_date);
                                     } else {
                    $value_date = displayLeadTime($row['prod_target_in'], $date_used);
                                     }
                                     $o['d'] = $value_date;
                 */
                 $o['d'] = displayLeadTime($row['leadtime_start_date'], strtotime($row['leadtime_start_date']));
                 //$o['d'] = '<div title="'.date('H:i:s', $order_date).'">'.date('d-M-y', $order_date).'</div>';
                 //$o['d2'] = $this->reportedShippingDate($order_date, $status, $row['delivery_time'], $row['delivery_replacement_time']);
                 if (!($status < 6 or $status > 7)) {
                     $o['d3'] = displayCycleTime($row['status_date']);
                     //$o['d2'] = date('d-M-y', $date_used);
                     $o['d2'] = date('d-M-y', strtotime($row['leadtime_start_date']));
                 }
                 $cust = '<a href="?open=sp-customer&amp;id=' . $row['jng_sp_customers_id'] . '&amp;hidemenu=true" class="view_webpage" >' . $row['customer_name'] . '</a>';
                 if ($row['list_type'] != '') {
                     $crown_img_col = array('V' => 'vip', 'B' => 'black');
                     $crown_img_title = array('V' => 'VIP Customer', 'B' => 'Blacklist Customer');
                     $crown_img = '<a href="?open=sp-customers-special-detail&amp;id=' . $row['jng_sp_customers_id'] . '&amp;hidemenu=true" class="view_webpage">';
                     $crown_img .= '<img src="images/list-' . $crown_img_col[$row['list_type']] . '.gif" title="' . $crown_img_title[$row['list_type']] . '" />';
                     $crown_img .= '</a> ';
                     $cust = $crown_img . $cust;
                 }
                 $cust .= ' <sup>' . $row['customers_order_count'] . '</sup>';
                 $link_item = '<a href="?open=sp-order-history&amp;oi_id=' . $row['jng_sp_orders_items_id'] . '&amp;hidemenu=true" class="view_webpage">SP-' . $row['jng_sp_orders_items_id'] . '</a>';
                 $order_id_info = $link_item;
                 $order_no = $row['order_id'];
                 if ($order_no == '') {
                     $order_no = 'J&amp;G ID: ' . $row['jng_sp_orders_id'];
                 }
                 $order_no = '<a href="?open=customer-care-order-detail&amp;source=SP&amp;id=' . $row['jng_sp_orders_id'] . '&amp;hidemenu=true" class="view_webpage">' . $order_no . '</a>';
                 if ($row['order_item_total'] > 1) {
                     $order_id_info .= ' <sup>' . $row['order_item_count'] . '/' . $row['order_item_total'] . '</sup>';
                 }
                 $o['c'] = $cust . '<br /><small>order no:</small> ' . $order_no;
                 $o['o'] = $order_id_info;
                 $article = $row['article_number'];
                 $pimg = webImageSource($row['products_image'], '500');
                 $article = '<div><a href="?open=product-detail&amp;products_id=' . $row['products_id'] . '" target="_blank" title="View Product Detail">' . $article . '</a></div>';
                 if ($pimg != '') {
                     $thumb = '<div class="thumb"><a href="' . $pimg . '" class="view_image" title="Click to view larger image">' . webImage($row['products_image'], '80', '80', '', 'img-border img-padding') . '</a></div>';
                     $article = $thumb . $article;
                 }
                 //$diamond_icon = ($obj_product->brand_id == 14) ? drawDiamondIcon('Diamond Product', ' ') : '';
                 $diamond_icon = $obj_product->isUsingDiamond() ? drawDiamondIcon('Diamond Product', ' ') : '';
                 $gold_icon = drawGoldIcon($obj_product->metal_stamp_code, $obj_product->metal_stamp_info, '', ' ');
                 $icons = $gold_icon . $diamond_icon;
                 $o['a'] = drawTableArticleInfoWithIcons($article, $icons);
                 $o['p'] = $row['price'];
                 $o['q'] = intval($row['order_quantity']);
                 $action = '';
                 if ($row['status'] == '6') {
                     $action .= '<input type="button" class="actbtn" name="5" value="Remove" title="Remove from package" />';
                 }
                 if ($row['status'] == '7' || $row['status'] == '8') {
                     $action .= '<input type="button" class="actbtn" name="10" value="DOA" title="Received DOA, cancel this product" />';
                 }
                 if ($row['status'] == '16') {
                     $action .= '<input type="button" class="actbtn" name="15" value="Keep" title="Remove from package and Set to Keep" />';
                 }
                 if ($row['status'] == '18') {
                     $action .= '<input type="button" class="actbtn" name="20" value="Stock" title="Add product to Stock" />';
                     $action .= '<input type="button" class="actbtn" name="21" value="Disass" title="Disassemble and add elements to Stock" />';
                 }
                 if ($row['status'] == '17' || $row['status'] == '18') {
                     $action .= '<input type="button" class="actbtn" name="19" value="Lost" title="Product is lost" />';
                 }
                 //Default Row Action Value (id, status, stock status)
                 $action .= '<input type="hidden" id="oiid-' . $row['jng_sp_orders_items_id'] . '" name="oi_id" value="' . $row['jng_sp_orders_items_id'] . '" >';
                 $action .= '<input type="hidden" name="oi_status" value="' . $row['status'] . '" >';
                 $o['t'] = $action;
                 $orders[$package_id][$row['jng_sp_orders_items_id']] = $o;
                 if (!isset($package_sp_id[$package_id])) {
                     $package_sp_id[$package_id] = $row['jng_sp_id'];
                 }
             }
         }
         $result = '<div id="packages">';
         /*
         if($status=='7' && count($orders)>1 && $all_package_receivable) $result .= '<div style="margin-bottom:20px;"><input type="button" class="pkgbtn button" name="receiveallpackage" value="Receive All Packages" title="Receive all packages listed in HH" /></div>';
         if($status=='8') {
             //$result .= ;
             if($this->easylogImportDataExist()) {
                 $import_stats = '';
                 $import_class = ' red ';
                 $import_value = 'Import file found. Click here to set status to Sent.';
                 $import_title = 'Import shipping data exported from EASYLOG';
             } else {
                 $import_class = ' ';
                 $import_stats = 'disabled="disabled"';
                 $import_value = 'There is no import file to proccess';
                 $import_title = $import_value;
             }
             $result .= '<div style="margin-bottom:20px;">';
             $result .= '<input type="button" class="pkgbtn'.$import_class.'button" name="importeasylog" value="'.$import_value.'" title="'.$import_title.'" '.$import_stats.' />';
             $result .= '</div>';
         }
         */
         foreach ($orders as $pid => $package) {
             $result .= '<div id="package-' . $pid . '" style="margin-bottom:20px;">';
             $button = '';
             if ($status == '6') {
                 //$button .= ' <input type="button" class="pkgbtn" name="printpackagelabel" value="Print Labels" title="Print Labels for products in this package" />';
                 $button .= ' <input type="button" class="pkgbtn" name="printpackagechecklist" value="Print Checklist" title="Print Package Checklist" />';
                 $button .= ' <input type="button" class="pkgbtn" name="sendpackage" value="Send" title="Send this Package to HH" />';
             }
             if ($status == '7' || $status == '8' || $status == '17' || $status == '18') {
                 use_class('jng_sp_packages');
                 if ($status < 14) {
                     $class_jp = new jng_sp_packages();
                     $awb_code = $class_jp->awbCodeLink($package_awb[$pid]);
                 } else {
                     $awb_code = $package_awb[$pid];
                 }
                 if ($awb_code == '') {
                     $awb = $awb_code;
                     $awb_button_tips = 'Add AWB no to this Package';
                 } else {
                     $awb = '(AWB: ' . $awb_code . ')';
                     $awb_button_tips = 'Change AWB';
                 }
                 $button .= ' <span id="awb-' . $pid . '" style="font-weight:normal;">' . $awb . '</span>';
                 $button .= ' <input type="button" class="pkgbtn" name="updateawb" value="AWB" title="' . $awb_button_tips . '" />';
                 //$button .= ' <input type="button" class="pkgbtn" name="printpackagepicklist" value="Print Picklist" title="Print Package Picklist" />';
             }
             //if($status=='7') $button .= ' <input type="button" class="pkgbtn" name="receivepackage" value="Receive" title="Receive this Package in HH" />';
             if ($status == '7') {
                 //if($status=='8') {
                 if (in_array($package_sp_id[$pid], $SP_DOESNT_NEED_EASYLOG)) {
                     //for SP that use manual button instead of Easylog
                     $button .= ' <input type="button" class="pkgbtn" name="printdeliverydocsingle" value="Invoice / Delivery Document" title="Print Invoice / Delivery Documents of this package" />';
                     $button .= ' <input type="button" class="pkgbtn" name="setsent2cust" value="Set as Sent to Customer" title="Set all orders in this package as Sent to Customer" disabled="disabled" />';
                 }
             }
             if ($status == '16') {
                 $button .= ' <input type="button" class="pkgbtn" name="printpackagechecklist" value="Print Checklist" title="Print Package Checklist" />';
                 $button .= ' <input type="button" class="pkgbtn" name="printpackagefakeinvoice" value="Print Invoice" title="Print Fake Invoice for Bali Customs" />';
                 $button .= ' <input type="button" class="pkgbtn" name="sendpackage" value="Send" title="Send this Package to Bali" />';
             }
             if ($status == '17') {
                 $button .= ' <input type="button" class="pkgbtn" name="receivepackage" value="Receive" title="Receive this Package in Bali" />';
             }
             $result .= '<h3>Package ' . $package_code[$pid] . ' ' . $button . ' <input type="hidden" name="package_id" value="' . $pid . '" /></h3>';
             //$result .= tep_draw_table('spo', $package);
             //DRAW MANUALLY
             $result .= '<div class="draw-table"><table class="spo" border="0" cellpadding="0" cellspacing="0">';
             $result .= '<tr>';
             foreach ($header as $c => $h) {
                 $result .= '<th class="' . $c . '">' . $h . '</th>';
             }
             $result .= '</tr>';
             $prev_oid = null;
             $order_counter = 0;
             $rowclass = 'e';
             foreach ($package as $oiid => $order) {
                 $order_counter++;
                 $oi = $orders_items[$oiid];
                 $oid = $oi['jng_sp_orders_id'];
                 if ($oid != $prev_oid) {
                     $item_counter = 0;
                 }
                 $item_counter++;
                 if ($item_counter == 1) {
                     $rowclass = $rowclass == 'e' ? 'o' : 'e';
                 }
                 $result .= '<tr class="' . $rowclass . '">';
                 $hidecol = 5;
                 $use_hide = $item_counter > 1;
                 //$use_hide = ($status=='3' && $item_counter>1);
                 // Logic for lead time
                 /*
                                     $date_used = strtotime($oi['prod_target_in']);
                                     if (($oi['status'] < 2) OR ($oi['status'] > 7)) {
                    $value_date = "";
                                     } else {
                    $value_date = displayLeadTime($oi['prod_target_in'], $date_used);
                                     }
                                     if (!(($oi['status'] < 2) OR ($oi['status'] > 7))) {
                    $started_date = date('d-M-y', $date_used);
                                     }
                 */
                 $started_date = date('d-M-y', strtotime($oi['leadtime_start_date']));
                 $value_date = displayLeadTime($oi['leadtime_start_date'], strtotime($oi['leadtime_start_date']));
                 if ($use_hide) {
                     $result .= '<td class="d">' . $value_date . '</td>';
                     if (!($status < 6 || $status > 7)) {
                         $result .= '<td class="d3">' . displayCycleTime($oi['status_date']) . '</td>';
                         $result .= '<td class="d2">' . $started_date . '</td>';
                     }
                     $result .= '<td>&nbsp;</td>';
                 }
                 $col_counter = 0;
                 foreach ($order as $c => $o) {
                     $col_counter++;
                     if ($use_hide) {
                         /*
                                                     if($col_counter==$hidecol) {
                            $o_pos = strpos($o, '<sup');
                            $o = ($o_pos===false) ? '' : substr($o, $o_pos);
                                                     }
                         */
                         if ($col_counter >= $hidecol) {
                             $result .= '<td class="' . $c . '">' . $o . '</td>';
                         }
                     } else {
                         $result .= '<td class="' . $c . '">' . $o . '</td>';
                     }
                 }
                 $result .= '</tr>';
                 $prev_oid = $oid;
             }
             $result .= '</table></div>';
             $result .= '</div>';
             //close package-pid
         }
         $result .= '</div>';
         //close packages
     } else {
         $result = '<h3>No Orders in this status </h3>';
     }
     $result = $filters . $result;
     return $result;
 }