$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']); foreach ($items as $items_id) { $class_o->updateProductStatus($items_id, '7', $session_userinfo['username']); } } } else { use_class('depot_orders');
$order->sendPrepaymentAutoCancelNotification(); $logger->write('sent cancel notification ' . $logger_oid); } } elseif ($o['sent_count'] == '2') { //Cancel order and invoice if ($last_sent_date_timestamp < strtotime('-' . $tolerance_before_really_cancelling_orders)) { //default cancel status if ($o['order_type'] == Order::ORDER_TYPE_JULIE_GRACE) { $status = '12'; foreach ($items_id as $item_id) { $class_o->updateProductStatus($item_id, $status, 'auto-set'); } } elseif ($o['order_type'] == Order::ORDER_TYPE_SALES_PARTNER) { $status = '10'; foreach ($items_id as $item_id) { $class_jo->updateItemStatus($item_id, $status, 'auto-set'); } } $logger->write('canceled ' . $logger_oid); if (count($invoice->detail) > 0) { //status 3 = INVOICE CANCELED $invoice->updateCompleteStatus('3'); $logger->write('canceled invoice ' . $invoice->detail['invoice_id']); } } } } } $logger->close(); echo 'Done!'; tep_db_close();
//Handle update special production sub status like : //4-P (Pullrack), //4-S7 (Solder Setting Line 7), //4-A (Ampol & QC), //4-L (Laboratory) $status_new_tmp = explode('-', $status_new); $sub_status = $status_new_tmp[1]; if ($status_current != '4' && $status_current != '3') { $result['status'] = 'BADSTATUS'; $result['result_msg'] = oiErrorStatus($status_current); } elseif ($item['prod_status'] == $sub_status) { $result['status'] = 'BADSTATUS'; $result['result_msg'] = oiErrorStatus($item['prod_status']); } else { $result['status'] = 'UPDATED'; $class_jo->updateItemStatus($item_id, $status_new, $user_name); } } else { //Handle update status $result['status'] = 'UPDATED'; $class_jo->updateItemStatus($item_id, $status_new, $user_name); if ($status_current == '4' && $status_new == '5' && $item['prod_status'] != '') { tep_db_perform('jng_sp_orders_items', array('prod_status' => ''), 'update', "jng_sp_orders_items_id='{$item_id}'"); } if ($status_current == '4' && $status_new == '5' && $at_machine > 0) { //IF PRODUCT IS FINISH, ALSO SET ANTITARNISH USAGE $silver_usage = $class_jo->calcSilverUsage($item_id); antitarnishUsageAdd($at_machine, $silver_usage); } } }
//Don't need to do anything for order with flag ds_prioritized 1, just wait for stock if ($oi['mode'] == modeKey('MMO')) { $items_mmo[] = $oiid; } elseif ($oi['mode'] == modeKey('MTO')) { $items_mto[] = $oiid; } } elseif ($oi['is_outsourced']) { //Handle orders for outsourced products with no stock if ($oi['status'] == '8' && $oi['shipping_window_is_opened']) { //no stock and shipping windows is already opened if ($oi['order_item_total'] == 1) { //SET AS MTO IF SINGLE PRODUCT ORDER //stop waiting and move products back to New to become MTO $items_mto[] = $oiid; if ($order_type == 'SP') { $class_jo->updateItemStatus($oiid, '1', 'auto-set'); } elseif ($order_type == 'JG') { $class_o->updateProductStatus($oiid, '1', 'auto-set'); } } else { $items_mmo[] = $oiid; $item_do = $class_do->transferFromRealOrder(SEGMENT_ID_HAMBURG, $order_type, $oiid); } } else { //keep waiting if shipping window is not yet opened //check if product is not yet moved to Depot/Mixed if ($oi['status'] != '8') { //set order as DSO and move items to Depot/Mixed $items_dso[] = $oiid; if ($order_type == 'SP') { $class_jo->updateItemStatus($oiid, '8', 'auto-set');
$items = $class_o->retrieveProducts($order_id); foreach ($items as $item) { if ($item['status'] == $REQUIRED_STATUS) { $class_o->updateProductStatus($item['orders_products_id'], $UPDATED_STATUS, $username); } if ($item['status'] == $REQUIRED_STATUS || $item['status'] == $UPDATED_STATUS) { $update_counter[] = $idcounter; } } } else { $items = $class_jo->retrieveItems($shipment_id, true); $idcounter = 'SP' . $shipment_id; foreach ($items as $item) { if ($item['status'] == $REQUIRED_STATUS) { $osda = array('shipment_date' => $shipment_date, 'idcode_ship' => $idcode_ship, 'idcode_ret' => $idcode_ret); tep_db_perform('jng_sp_orders', $osda, 'update', "shipment_id='{$shipment_id}'"); $class_jo->updateItemStatus($item['jng_sp_orders_items_id'], $UPDATED_STATUS, $username); } if ($item['status'] == $REQUIRED_STATUS || $item['status'] == $UPDATED_STATUS) { $update_counter[] = $idcounter; } } } } } $result = array(); $result['filename'] = $_POST['filename']; $result['orders_sent'] = count($reference); $result['orders_updated'] = count(array_unique($update_counter)); ajaxReturn($result); tep_db_close();
//If no usable package found for this SP, create 1 $package_id = $class_jp->createNew($order['jng_sp_id']); } else { //If usable package found fo this SP, use it $package_id = $packages[0]['jng_sp_packages_id']; } //Add product to package and update product status $sp_id = $order['jng_sp_id']; if (in_array($sp_id, $order_show_sp_info)) { use_class('jng_sp'); $class_sp = new jng_sp(); $sp = $class_sp->retrieveDetail($sp_id); $sp_name = $sp['package_prefix']; } $class_jp->addItem($package_id, $id); $class_jo->updateItemStatus($id, $new_status, $session_userinfo['username']); $result .= printPackageTip('P', $box_date, '', $sp_name, $sp_class); saveIDforPrintingOrderLabel($id_raw); $result .= '<input type="hidden" id="print_order_id" value="' . $id_raw . '" />'; } else { //If order has more than 1 product, check if all products status are finish $orders_ready = true; foreach ($items as $i) { if ($i['status'] != $old_status) { $orders_ready = false; } } if ($orders_ready) { //If all products status are finish, request barcode entry of other products $inwb = array(); $infb = array();
echo '<pre>'; var_dump($_GET); echo '</pre>'; echo '<br />'; echo '<br />'; echo 'UPDATED!'; } elseif ($type == 'SP') { $allowed_sp_id = array('6'); use_class('jng_sp_orders'); $class_jo = new jng_sp_orders(); $order = $class_jo->retrieveDetail($orders_id); if (in_array($order['jng_sp_id'], $allowed_sp_id)) { $items = $class_jo->retrieveItems($orders_id); foreach ($items as $i) { if ($i['status'] == $old_status) { $class_jo->updateItemStatus($i['jng_sp_orders_items_id'], $new_status); } } echo '<pre>'; var_dump($_GET); echo '</pre>'; echo '<br />'; echo '<br />'; echo 'UPDATED!'; } else { echo 'SORRY, THIS FUNCTION IS NOT ALLOWED FOR THIS SP!!'; } } else { echo 'BAM! ORDER TYPE UNKNOWN!!'; } }
tep_db_perform('orders', $osda, 'update', "orders_id='{$order_id}'"); foreach ($items as $item) { if (in_array($item['status'], $REQUIRED_STATUS)) { $class_o->updateProductStatus($item['orders_products_id'], $UPDATED_STATUS, 'auto-set'); } } } } else { $items = $class_jo->retrieveItems($shipment_id, true); if (count($items) > 0) { $updated = true; $osda = array('shipment_date' => $shipment_date, 'idcode_ship' => $idcode_ship, 'idcode_ret' => $idcode_ret); tep_db_perform('jng_sp_orders', $osda, 'update', "shipment_id='{$shipment_id}'"); foreach ($items as $item) { if (in_array($item['status'], $REQUIRED_STATUS)) { $class_jo->updateItemStatus($item['jng_sp_orders_items_id'], $UPDATED_STATUS, 'auto-set'); } } } } $result['STATUS'] = $updated ? 'Updated' : 'NotUpdated'; $email_sent = false; if ($updated) { $order = new Order(null, null, $shipment_id); $email_sent = $order->sendDeliveryNotification(); } $result['EMAIL'] = $email_sent ? 'EmailSent' : 'NoEmail'; } $logger->write(implode('|', $result)); } }
$reference = $order['shipment_id']; $mc_order = mc_orderDetail($order['jng_sp_id'], $sp_detail['package_prefix'], $pcl_file, $reference, $display_counter, $shipping_company, $shipping_name, $shipping_address, $order['customer_shipping_city'], $order['customer_shipping_postcode'], $order['payment_method'], $cod_value, '', $order['need_repackaging']); if ($use_amvd_logistic) { $mc_order['packaging_box'] = 'Box ' . amazonGetBoxAvailable($order['jng_sp_id'], $order['order_id'], $shipping_address); } } } else { //check if shipping window is reached: //if not yet reached, then suggest bin in and udpate order //status to Depot/Mixed with DS Priority = 1 $result['recommend_binin'] = '1'; $items = $class_jo->retrieveItems($order_id); foreach ($items as $key => $item) { if ($item['status'] == $req_status) { $items_id = $item['jng_sp_orders_items_id']; $class_jo->updateItemStatus($items_id, '8', $username); $class_jo->updateItemStockStatus($items_id, '0'); $class_jo->updateItemDSpriority($items_id, '1'); } } } } } } } elseif ($order_type == 'JG') { $i_temporary = $class_o->retrieveProductDetail($item_id); if (isset($i_temporary['status']) && $i_temporary['status'] != $req_status) { $i_status = $class_o->productStatusName(); $result['status'] = 'BADSTATUS'; $result['badstatus'] = $i_status[$i_temporary['status']]; $result['recommend_binin'] = recommendBinIn($i_temporary['status']);
function removeFromPackage($logistic_id, $logistic_partner, $barcode_id, $new_status, $updated_by = '') { global $session_userinfo; if ($updated_by == '') { $updated_by = $session_userinfo['username']; } $tmp_bcid = explode('-', $barcode_id); $type = strtoupper($tmp_bcid[0]); $oiid = $tmp_bcid[1]; $table_name = ''; if ($type == 'SP') { $table_name = 'jng_sp_packages_items'; $field = 'jng_sp_orders_items_id'; } elseif ($type == 'JG') { $table_name = 'minierp_packages_products'; $field = 'orders_products_id'; } elseif ($type == 'DP') { $table_name = 'depot_packages_contents'; $field = 'depot_orders_id'; } $result = '<span>Order <strong>"' . $barcode_id . '"</strong> not found on any packages!</span>'; if ($table_name != '') { $q_check = tep_db_query("SELECT * FROM {$table_name} WHERE {$field} = '{$oiid}'"); if (tep_db_num_rows($q_check) > 0) { tep_db_query("DELETE FROM {$table_name} WHERE {$field} = '{$oiid}'"); //SAVE AS HISTORY $dt_hist = array(); $dt_hist['type'] = $type; $dt_hist['order_items_id'] = $oiid; $dt_hist['removed_by'] = $updated_by; $dt_hist['updated_to_status'] = $new_status; tep_db_perform('minierp_packages_orders_excluded', $dt_hist); if ($type == 'SP') { use_class('jng_sp_orders'); $class_jo = new jng_sp_orders(); $class_jo->updateItemStatus($oiid, $new_status, $updated_by, 'J', false); } elseif ($type == 'JG') { use_class('orders'); $class_o = new orders(); $class_o->updateProductStatus($oiid, $new_status, $updated_by, 'J', false); } elseif ($type == 'DP') { use_class('depot_orders'); $class_do = new depot_orders(); $class_do->updateStatus($oiid, $new_status, $updated_by, false); } //REGENERATE LIST OF CONTENTS ON CERTAIN LOGISTIC PACKAGE $this->generateContents($logistic_id, $logistic_partner); $result = '<span class="green">Order <strong>"' . $barcode_id . '"</strong> successfully removed from package and set its status as complete!'; $result .= '<br/><br/><strong>PLEASE REPRINT updated Commercial Invoice for logistic process!</span></strong>'; } } return $result; }