$rack = $class_bin->retrieveRackDetail($rack_id); $rack_no = $class_bin->formatRackNumber($rack['no']); if ($_POST['me_action'] == 'UPDATESTATUS') { $status = tep_db_prepare_input($_POST['status']); if ($rack_id != '') { $class_bin->updateRackStatus($rack_id, $status); } $img_status = $status == '1' ? '<img src="/images/icon-tick.png" title="Active" />' : '<img src="/images/icon-tick-dis.png" title="Inactive" />'; $result = array(); $result['rack_id'] = $rack_id; $result['new_status'] = $status; $result['img_status'] = $img_status; $result['segment_id'] = $rack['segment_id']; ajaxReturn($result); } elseif ($_POST['me_action'] == 'CLEARRACK') { $segment = $class_bin->retrieveSegmentDetail($rack['segment_id']); $jng_warehouses_id = $segment['warehouses_id']; $rack_bins = $class_bin->retrieveBins($rack['segment_id'], $rack_id); foreach ($rack_bins as $bin) { $products_id = $bin['products_id']; $articles_id = $bin['articles_id']; if ($products_id > 0) { $booked = $class_pm->productsBookedCount($jng_warehouses_id, $products_id, $articles_id); if ($booked === 0) { $class_bin->removeProductFromBox($bin['bins_id']); if ($bin['products_stock'] > 0) { $class_pm->stockReduce($jng_warehouses_id, $products_id, $articles_id, $bin['products_stock'], "CLEAR RACK by {$session_userinfo['username']}"); } } } }
$history_options[1] = '4 Weeks'; $history_options[2] = '1 Month'; $history_options[3] = '2 Months'; $history_options[4] = '3 Months'; $history_options[5] = '6 Months'; $history_options[6] = '1 Year'; $history_options[7] = 'Hide History'; $history_options_2 = array(); $history_options_2[0] = 'in Details'; $history_options_2[1] = 'Daily Summary'; //POST ACTION if (isset($_POST['me_action']) && $_POST['me_action'] != '') { if ($_POST['me_action'] == 'CLEARBIN') { $bins_id = tep_db_prepare_input($_POST['bins_id']); $bin = $class_bin->retrieveBinDetail($bins_id); $segment = $class_bin->retrieveSegmentDetail($bin['bin_segments_id']); $jng_warehouses_id = $segment['warehouses_id']; $products_id = $bin['products_id']; $articles_id = $bin['articles_id']; $booked = $class_pm->productsBookedCount($jng_warehouses_id, $products_id, $articles_id); if ($booked > 0) { $messagebox->add("<strong>Clear Bin Failed</strong><br />Clear Bin is not allowed if On Stock and Booked by Real Order > 0"); } else { $class_bin->removeProductFromBox($bins_id); if ($bin['p_stock'] > 0) { $class_pm->stockReduce($jng_warehouses_id, $products_id, $articles_id, $bin['p_stock'], "REDUCE by {$session_userinfo['username']}"); } header("Location: ?open=products-stock-detail&binid={$bin['bins_id']}" . ($hidemenuscript != '' ? '&hidemenu=true' : '')); exit; } } elseif ($_POST['me_action'] == 'SETBIN') {
<?php use_class('depot_orders'); use_class('bins'); $class_do = new depot_orders(); $class_bin = new bins(); $id = tep_db_prepare_input($_GET['id']); $package = $class_do->packageDetail($id); if (is_null($package)) { $package_code = ''; $content .= '<h3 class="red">Package Not Found</h3>'; } else { $package_code = $package['package_code']; $sent_date = is_null($package['sent_date']) ? '<span class="notice">UNSET</span>' : date('d F Y', strtotime($package['sent_date'])); $received_date = is_null($package['received_date']) ? '<span class="notice">UNSET</span>' : date('d F Y', strtotime($package['received_date'])); $segment = $class_bin->retrieveSegmentDetail($package['segments_id']); $contents = $class_do->packageGetContents($id); $contents_table = array(); $ct = array(); $ct['d'] = 'Date'; $ct['o'] = 'Order ID'; $ct['e'] = 'Order Source'; $ct['a'] = 'Article No'; $ct['a2'] = 'EAN'; $ct['q'] = 'Quantity'; $ct['d2'] = 'Time Added'; $contents_table[] = $ct; $counter_orders = 0; $counter_products = 0; foreach ($contents as $do) { $counter_orders++;
use_class('depot_orders'); use_class('logger'); use_class('Product'); use_class('bins'); $logger = new logger('cron', 'depot-refill-local-xml-generator'); $class_do = new depot_orders(); $class_bins = new bins(); $today_datetime = date('Y-m-d H:i:s'); $today = date('Y-m-d', strtotime($today_datetime)); $country_name = getCountryName($server_local_code); $logger->write("PREPARE XML DEPOT REFILL - START"); //GET TODAYS DEPOT REFILL CREATED $q = "SELECT * FROM depot_orders" . " WHERE segments_id = {$segment_id_default} " . " AND trans_type = 'AR' AND trans_id = " . depot_orders::AUTO_REFILL_ID_DAILYCRON . " AND order_date >= '{$today} 00:00:00' AND order_date <= '{$today} 23:59:59'"; $r = tep_db_query($q); if (tep_db_num_rows($r) > 0) { $segment = $class_bins->retrieveSegmentDetail($segment_id_default); //PREPARE FOR CREATE XML DEPOT REFILL LOCAL $xmlt = new xml_tools('1.0', 'UTF-8'); //DEPOT_REFILL_LOCAL $depot_refill_local = $xmlt->drawTag($xmlt, 'DEPOT_REFILL_LOCAL'); //LOCAL_INFO $local_info = $xmlt->drawTag($depot_refill_local, 'LOCAL_INFO'); $xmlt->drawTag($local_info, 'SEGMENT_ID', $segment_id_default); $xmlt->drawTag($local_info, 'CREATED_DATE', date('Y-m-d H:i:s')); $group_name = "Manobo Local Orders ({$country_name})"; $xmlt->drawTag($local_info, 'GROUP_NAME', $group_name); //REFILL_ORDERS $refill_orders = $xmlt->drawTag($depot_refill_local, 'REFILL_ORDERS'); $counter = 0; while ($row = tep_db_fetch_array($r)) { $products_id = $row['products_id'];
require_once '../confy.php'; require_once '../functions.php'; require_once '../functions-2.php'; tep_db_connect(); use_class('bins'); use_class('products_minierp'); $class_bins = new bins(); $class_pm = new products_minierp(); $segment_id = isset($_GET['segments_id']) && $_GET['segments_id'] != '' ? tep_db_prepare_input($_GET['segments_id']) : ''; $rack_id = isset($_GET['rack_id']) && $_GET['rack_id'] != '' ? tep_db_prepare_input($_GET['rack_id']) : ''; if ($rack_id != '') { $rack = $class_bins->retrieveRackDetail($rack_id); $rack_no = $class_bins->formatRackNumber($rack['no']); $segment_id = $rack['segment_id']; } $segment = $class_bins->retrieveSegmentDetail($segment_id); if (!isset($segment['name'])) { echo 'UNKNOWN SEGMENT!'; exit; } else { $whid = $segment['warehouses_id']; } $q = "SELECT ps.products_id, ps.articles_id, ps.stock, ps.booking_active"; $q .= ", IFNULL(pa.products_ean, p.products_ean) AS products_ean, IFNULL(pa.length, pnc.products_length) AS length, pa.text"; $q .= ", p.products_image, p.material_expenses, b.code AS bin_code"; $q .= ", cd.categories_name"; //$q .= ", SUM(op.products_quantity) AS booked_jng, SUM(joi.order_quantity) AS booked_sp"; $q .= " FROM products_stock ps"; $q .= " LEFT JOIN bins b ON b.products_stock_id=ps.products_stock_id"; $q .= " LEFT JOIN products p ON p.products_id=ps.products_id"; $q .= " LEFT JOIN products_to_categories ptc ON ptc.products_id=p.products_id";
} elseif ($item['status'] == $new_status) { $result .= printPackageTip('P', '', '', $sp_name, $sp_class); } else { //If product is already in package / sent $errinfo = sprintf($template_error_status, $item_status[$item['status']]); $result .= printPackageTip('E', $box_date, $errinfo, $sp_name, $sp_class); } } } } else { //FOR DEPOT PROCESS $sp_name = 'Depot'; $sp_class = 'orange'; $info = ''; $item = $class_do->retrieveDetail($id); $segment = $class_bins->retrieveSegmentDetail($item['segments_id']); if (count($item) == 0) { //If no product found $errinfo = $template_error_not_found; $result .= printPackageTip('E', $box_date, $errinfo, $sp_name, $sp_class); } else { //If product is found $is_outsourced = $class_do->isOutsourceOrder($item['trans_type'], $item['trans_id']); if (strtoupper($ean_scan) != 'SKIP' && $ean_scan != $item['products_ean']) { $result .= printPackageTip(EAN_MISMATCH_ERROR, $item['products_ean'], $ean_scan); } else { if ($item['status'] < intval($old_status)) { //If product status is not yet finish $errinfo = $template_error_not_finish; $result .= printPackageTip('E', $box_date, $errinfo, $sp_name, $sp_class); } elseif ($item['status'] == $old_status || $item['status'] == $new_status || $is_transferred_from_real_order) {
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; }
function packageCreate($segments_id, $package_code = '') { use_class('bins'); $class_bins = new bins(); $segment = $class_bins->retrieveSegmentDetail($segments_id); if ($package_code == '') { $package_code = 'DP.' . $segment['code'] . '-' . date('ymd'); } $package_code_notfree = true; while ($package_code_notfree) { $c = tep_db_query("SELECT depot_packages_id FROM depot_packages WHERE depot_packages_id='{$package_code}'"); if (tep_db_num_rows($c) > 0) { if (!isset($counter)) { $counter = 2; $package_code_raw = $package_code; } else { $counter++; } $package_code = $package_code_raw . '-' . $counter; } else { $package_code_notfree = false; } } $sda = array(); $sda['package_code'] = $package_code; $sda['segments_id'] = $segments_id; tep_db_perform('depot_packages', $sda); $new_id = tep_db_insert_id(); return $new_id; }
$rack['no'] = $class_bin->getNextRackNo($segment_id); $rack['status'] = '1'; $class_bin->createRack($rack); } } $class_bin->updateSegment($segment_id, $segment_data); $segment_update = true; } } } } if ($segment_id == 'new') { $action = 'SAVE'; $attr_buttons .= '<input type="submit" class="blue" name="submit" value="Add Segment" />'; } else { $segment_data = $class_bin->retrieveSegmentDetail($segment_id); $action = 'UPDATE'; $attr_buttons .= '<input type="submit" class="blue" name="submit" value="Update Segment" />'; } $fromtorows = $segment_data['rows'] != '' ? '' : 'A, B'; for ($c = 1; $c <= $segment_data['rows']; $c++) { $fromtorows .= $class_bin->numtochar[$c]; if ($c < $segment_data['rows']) { $fromtorows .= ", "; } } $fromtoppb = ''; //$fromtoppb = ($segment_data['pieces_per_box']<>'') ? '' : 'X'; //for($c=1;$c<=$segment_data['pieces_per_box'];$c++){ // $fromtoppb .= $class_bin->numtochar[$c+$class_bin->ppb_starts_from]; // if($c<$segment_data['pieces_per_box']) $fromtoppb .= ", ";