$sda_return['return_quantity'] = tep_db_prepare_input($_POST['return_qty']); $sda_return['return_comment_customer'] = tep_db_prepare_input(utf8_decode($_POST['comment_c'])); $sda_return['return_comment_jng'] = tep_db_prepare_input(utf8_decode($_POST['comment_j'])); $sda_return['shipping_paid'] = tep_db_prepare_input($_POST['shipping_paid']); $class_jo->returnItemUpdate($return_id, $sda_return); echo '<div class="green">Return detail is successfully saved</div>'; exit; } //START TEMPLATE $return_id = isset($_GET['id']) ? tep_db_prepare_input($_GET['id']) : ''; if ($return_id == '') { exit; } $return = $class_jo->retrieveReturnDetail($return_id); $item = $class_jo->retrieveItemDetail($return['jng_sp_orders_items_id']); $order = $class_jo->retrieveDetail($item['jng_sp_orders_id']); $pimg = webImageSource($item['products_image'], '500'); if ($pimg != '') { $pimg = webImage($item['products_image'], '120', '120', '', 'img-border img-padding'); } $content .= '<div style="float:left;">' . $pimg . '</div>'; $content .= '<div style="margin-left:150px;">'; $content .= '<table border="0" cellpadding="0" cellspacing="0">'; $order_id = $order['order_id'] == '' ? 'J&G ID: ' . $order['jng_sp_orders_id'] : $order['order_id']; if ($return['confirm_return'] == '1') { $return_reason = $class_jo->returnReasonText($return['return_reason']); $return_qty = $return['return_quantity']; $comment_c = nl2br($return['return_comment_customer']); $comment_j = nl2br($return['return_comment_jng']); $shipping_status = $return['shipping_paid'] == '1' ? 'Paid' : 'Unpaid'; } else {
/** * Get vip status of customer from an order * @param String $type * @param Int $orders_id * @return Boolean */ function checkCustomerIsVIP($type, $orders_id) { $type = strtoupper($type); $is_vip = false; if ($type == 'SP') { use_class('jng_sp_orders'); use_class('jng_sp_customers'); use_class('jng_sp_customers_special'); $class_jo = new jng_sp_orders(); $class_jc = new jng_sp_customers(); $class_jcs = new jng_sp_customers_special(); $o = $class_jo->retrieveDetail($orders_id); //GET CUSTOMER DETAIL VIP OR NOT $cust_data = $class_jc->retrieveDetail(null, $o['jng_sp_id'], $o['customer_billing_id']); if (is_array($cust_data) && $cust_data['jng_sp_customers_id'] > 0) { $cust_detail = $class_jcs->getCustomerDetail($cust_data['jng_sp_customers_id']); } $is_vip = $cust_detail['list_type'] == 'V'; } elseif ($type == 'JG') { use_class('orders'); use_class('customers_special_list'); $class_o = new orders(); $class_csl = new customers_special_list(); $o = $class_o->retrieveDetail($orders_id); //GET CUSTOMER DETAIL VIP OR NOT $cust_detail = $class_csl->getCustomerDetail($o['customers_id']); $is_vip = $cust_detail['list_type'] == 'V'; } elseif ($type == 'DP') { use_class('depot_orders'); $class_do = new depot_orders(); $do = $class_do->retrieveDetail($orders_id); if ($do['trans_type'] == 'SP' || $do['trans_type'] == 'JG') { if ($do['trans_type'] == 'SP') { use_class('jng_sp_orders'); $class_jo = new jng_sp_orders(); $it = $class_jo->retrieveItemDetail($do['trans_id']); $orders_id = $it['jng_sp_orders_id']; } elseif ($do['trans_type'] == 'JG') { use_class('orders'); $class_o = new orders(); $it = $class_o->retrieveProductDetail($do['trans_id']); $orders_id = $it['orders_id']; } $is_vip = checkCustomerIsVIP($do['trans_type'], $orders_id); } } return $is_vip; }
$oi['price_received'] = !isset($i->TRANSFER_PRICE) || $i->TRANSFER_PRICE == 0 || $i->TRANSFER_PRICE == $i->ITEM_PRICE ? getPurchasePrice($i->ITEM_PRICE, $jng_sp_id) : $i->TRANSFER_PRICE; $oi['price'] = $i->ITEM_PRICE; $oi['order_item_count'] = $n_item; $oi['order_item_total'] = $n_items; foreach ($oi as $k => $v) { $oi[$k] = utf8_decode($v); } $oi_id = $class_jo->addItem($orders_id, $oi); logThis(" = ORDER ITEM ID {$oi_id} created"); $items_ids[] = $oi_id; $items_created++; } $class_jo->leadtimeSetStart($leadtime_start_date, '', $orders_id); } else { //FAILED TO CREATE NEW ORDER $existing_order = $class_jo->retrieveDetail(null, $o['order_id']); $orders_id = $existing_order['jng_sp_orders_id']; if ($orders_id > 0) { //ORDER ALREADY EXIST logThis(" = Existing order found {$orders_id}"); $items = $class_jo->retrieveItems($orders_id); foreach ($items as $i) { $items_ids[] = $i['jng_sp_orders_items_id']; } if ($is_approved) { //SET AS PAID FOR PREPAYMENT ORDER THAT CONFIRMED PAID BY TB logThis(" = Update prepayment status as paid"); if ($existing_order['payment_status'] == 0) { $class_jo->updatePaymentStatus($orders_id, 1, 'auto-set'); $class_jo->leadtimeSetStart($leadtime_start_date, '', $orders_id); $orders_prepayment_paid[] = $orders_id;
$pdf->label_per_width = 1; $pdf->label_width = ($pdf->page_width - 2 * $pdf->left_margin) / $pdf->label_per_width; $pdf->label_per_height = 5; $pdf->label_height = ($pdf->page_height - 2 * $pdf->top_margin) / $pdf->label_per_height; $pdf->label_per_page = $pdf->label_per_width * $pdf->label_per_height; $order_counter = 0; //$labelpad = 4; $labelxpad = 55; $labelypad = 4; $labelxpos = 1; $labelypos = 1; foreach ($orders_array as $order_id) { $order = array(); if ($type == 'sp') { //RETRIEVED DATA SP $order_data = $class_jo->retrieveDetail($order_id); $items = $class_jo->retrieveItems($order_id); $order['customer'] = "{$order_data['customer_shipping_firstname']} {$order_data['customer_shipping_lastname']} "; $order['id'] = $order_data['order_id']; $order['shipment_id'] = $order_data['shipment_id']; $order['prefix_code'] = $sp_prefix[$order_data['jng_sp_id']]; } else { //RETRIEVED DATA JNG $order_data = $class_o->retrieveDetail($order_id); $items = $class_o->retrieveProducts($order_id); $order['id'] = $order_data['orders_no']; $order['customer'] = $order_data['delivery_name']; $order['prefix_code'] = ''; } if ($order_counter % $pdf->label_per_page == 0) { $pdf->AddPage();
function getOrderDetail($barcode = '', $idcode_ret = '') { //die("$barcode | $idcode_ret"); $result = array(); $result['status'] = 'MCORDERNOTFOUND'; use_class('jng_sp'); use_class('jng_sp_orders'); if ($barcode != '') { list($type, $order_product_id) = split('-', strtoupper($barcode)); //GET order_id $order_id = ''; if ($type == 'SP' || $type == 'JR') { $status = 'MCSCANPRODUCT'; use_class('jng_sp_customers'); $class_sp = new jng_sp(); $class_jo = new jng_sp_orders(); $class_jc = new jng_sp_customers(); $item = $class_jo->retrieveItemDetail($order_product_id); $order_id = $item['jng_sp_orders_id']; $order = $class_jo->retrieveDetail($order_id); if (count($order) > 0) { $sp = $class_sp->retrieveDetail($order['jng_sp_id']); $customer = $class_jc->retrieveDetail(null, $order['jng_sp_id'], $order['customer_billing_id']); $customer_name = $order['customer_billing_firstname'] . ' ' . $order['customer_billing_lastname']; $customers_street_address = $order['customer_billing_address'] . ' ' . $order['customer_billing_address2']; $order_type = $sp['name'] . ' Order ' . $order['order_id']; $result = setOrderResult($status, 'S', $order_id, $order_type, $customer['jng_sp_customers_id'], $customer_name, $order['customer_billing_email'], $order['customer_billing_phone'], $customers_street_address, $order['customer_billing_postcode'], $order['customer_billing_city'], $order['customer_billing_country']); } } elseif ($type == 'JG') { $status = 'MCSCANPRODUCT'; use_class('orders'); $class_o = new orders(); $item = $class_o->retrieveProductDetail($order_product_id); $order_id = $item['orders_id']; $order = $class_o->retrieveDetail($order_id); if (count($order) > 0) { $order_type = 'J&G Order ' . $order['orders_no']; $result = setOrderResult($status, 'J', $order_id, $order_type, $order['customers_id'], $order['customers_name'], $order['customers_email_address'], $order['customers_telephone'], $order['customers_street_address'], $order['customers_postcode'], $order['customers_city'], $order['customers_country']); } } } elseif ($idcode_ret != '') { //1 idcode_ret utk 1 order $qsp = "SELECT j.name AS sp_name, jo.* FROM jng_sp_orders jo INNER JOIN jng_sp j ON j.jng_sp_id = jo.jng_sp_id"; $qsp .= " WHERE idcode_ret = '{$idcode_ret}' ORDER BY jo.order_date DESC LIMIT 1"; $rsp = tep_db_query($qsp); $dsp = tep_db_num_rows($rsp) > 0 ? tep_db_fetch_array($rsp) : null; if (is_null($dsp)) { /* 12.05.2015: * If not found, try to search using order number. * So far at this time, returns from LZ.ID, ZR.ID, ZR.BR used order number barcode */ $qsp = "SELECT j.name AS sp_name, jo.* FROM jng_sp_orders jo INNER JOIN jng_sp j ON j.jng_sp_id = jo.jng_sp_id"; $qsp .= " WHERE jo.order_id = '{$idcode_ret}' ORDER BY jo.order_date DESC LIMIT 1"; $rsp = tep_db_query($qsp); $dsp = tep_db_num_rows($rsp) > 0 ? tep_db_fetch_array($rsp) : null; } $qjg = "SELECT * FROM orders WHERE idcode_ret='{$idcode_ret}' ORDER BY date_purchased DESC LIMIT 1"; $rjg = tep_db_query($qjg); $djg = tep_db_num_rows($rjg) > 0 ? tep_db_fetch_array($rjg) : null; if (!is_null($dsp) || !is_null($djg)) { $status = 'MCSCANPRODUCT'; if (!is_null($dsp) && !is_null($djg)) { $dsp_time = strtotime($dsp['order_date']); $djg_time = strtotime($djg['date_purchased']); $use_data = $dsp_time >= $djg_time ? 'sp' : 'jg'; } else { $use_data = !is_null($dsp) ? 'sp' : 'jg'; } if ($use_data == 'sp') { $order_id = $dsp['jng_sp_orders_id']; use_class('jng_sp_customers'); $class_jc = new jng_sp_customers(); $customer = $class_jc->retrieveDetail(null, $dsp['jng_sp_id'], $dsp['customer_billing_id']); $customer_name = $dsp['customer_billing_firstname'] . ' ' . $dsp['customer_billing_lastname']; $customers_street_address = $dsp['customer_billing_address'] . ' ' . $dsp['customer_billing_address2']; $order_type = $dsp['sp_name'] . ' Order ' . $dsp['order_id']; $result = setOrderResult($status, 'S', $order_id, $order_type, $customer['jng_sp_customers_id'], $customer_name, $dsp['customer_billing_email'], $dsp['customer_billing_phone'], $customers_street_address, $dsp['customer_billing_postcode'], $dsp['customer_billing_city'], $dsp['customer_billing_country']); } else { $order_id = $djg['orders_id']; $order_type = 'J&G Order ' . $djg['orders_no']; $result = setOrderResult($status, 'J', $order_id, $order_type, $djg['customers_id'], $djg['customers_name'], $djg['customers_email_address'], $djg['customers_telephone'], $djg['customers_street_address'], $djg['customers_postcode'], $djg['customers_city'], $djg['customers_country']); } } } return $result; }
/*Disabled this, since all orders that goes to ready will directly printed //ignore printing pdf for this order if there item that still on cancel request. $ok_print = (!orderItemHaveStatus($oid, 10, $type)); */ $ok_print = true; } elseif ($type == 'DP') { use_class('depot_orders'); $class_do = new depot_orders(); $do = $class_do->retrieveDetail($oid); if ($do['trans_type'] == 'SP') { use_class('jng_sp_orders'); $class_jo = new jng_sp_orders(); $oiid = $do['trans_id']; $i = $class_jo->retrieveItemDetail($oiid); $oid = $i['jng_sp_orders_id']; $o = $class_jo->retrieveDetail($oid); $sp_id = "{$o['jng_sp_id']}"; } elseif ($do['trans_type'] == 'JG') { $sp_id = '0'; } $is_prioritized = $do['trans_type'] == 'AR' && $do['trans_id'] == depot_orders::AUTO_REFILL_ID_ZALANDO || $is_prioritized || in_array($sp_id, $sp_using_red_paper); $ok_print = true; } if ($ok_print) { if ($is_prioritized && !(isset($queue_r[$pid]) && in_array($key, $queue_r[$pid]))) { $queue_r[$pid][] = $key; } else { $queue_w[$pid][] = $key; } } }
function createReturnContainerSP($return_id, $return_qty, $joi_id) { use_class('Order'); use_class('jng_sp_orders'); use_class('jng_sp_customers'); use_class('payone_invoice'); $class_jcust = new jng_sp_customers(); $class_jo = new jng_sp_orders(); $item = $class_jo->retrieveItemDetail($joi_id); $oid = $item['jng_sp_orders_id']; $order_obj = new Order(Order::ORDER_TYPE_SALES_PARTNER, $oid); $order = $class_jo->retrieveDetail($oid); if ($order_obj->isPaymentHandledByPayone()) { $invoice = new payone_invoice('invoice_order_type', 'S', "invoice_order_id={$oid}"); //ONLY QUEING JUST FOR TRANSACTION THAT HAVE payone_txid (FIRST GET FROM SUBMITTING INVOICE) if ($invoice->detail['payone_txid'] != '') { $payone_txid = $invoice->detail['payone_txid']; $payment_method = $order_obj->getPaymentMethodRaw(); $customer = $class_jcust->retrieveDetail(null, $order_obj->sales_partner_id, $order_obj->customer_id); $customer_bankdata = $class_jcust->getBankAccountData($customer['jng_sp_customers_id']); $data_por = array(); $data_por['return_id'] = $return_id; $data_por['jng_sp_orders_items_id'] = $joi_id; $data_por['jng_sp_customers_id'] = $customer['jng_sp_customers_id']; $data_por['amount'] = round($return_qty * ($item['price'] * 100)); $data_por['txid'] = $payone_txid; $data_por['invoice_id'] = $invoice->detail['invoice_id']; $data_por['invoice_no'] = $invoice->detail['invoice_no']; $data_por['id'] = $item['article_number']; $data_por['pr'] = round($item['price'] * 100); $data_por['no'] = $return_qty; $data_por['de'] = strlen($item['billing_text']) > 32 ? substr($item['billing_text'], 0, 32) : $item['billing_text']; $data_por['va'] = 0; $data_por['payment_method'] = $payment_method; $data_por['currency'] = 'EUR'; if (!is_null($customer_bankdata)) { $data_por['bankcode'] = $customer_bankdata['bank_code']; $data_por['bankcountry'] = $customer_bankdata['bank_country']; $data_por['bankaccount'] = $customer_bankdata['bank_account_number']; $data_por['bankaccountholder'] = $customer_bankdata['bank_account_holder']; } $this->payoneReturnItemContainer($data_por); $items_total = $order_obj->getTotalItemsNotCanceledQuantity(); $returns_total = $order_obj->getTotalItemsReturnedQuantity(); if ($items_total == $returns_total) { $amount_paid = $invoice->detail['invoice_amount_paid']; $shipping_cost = $order_obj->getCostShipping(); $cod_cost = $order_obj->getCostCOD(); $total_costs = $shipping_cost + $cod_cost; if ($shipping_cost > 0) { //if((($amount_paid*1)==0)||(($amount_paid<>$shipping_cost)&&($amount_paid<>$total_costs))){ if ($amount_paid * 1 == 0 || $amount_paid > $total_costs) { //HANDLE DOUBLE OR MORE SHIPING RETURN CONTAINER $q_check = "SELECT * FROM payone_orders_return WHERE txid = '{$payone_txid}' AND id = 'Shipping'"; $dbc = tep_db_query($q_check); if (tep_db_num_rows($dbc) == 0) { $amount = round($shipping_cost * 100); $data_por = array(); $data_por['return_id'] = 0; $data_por['jng_sp_orders_items_id'] = 0; $data_por['jng_sp_customers_id'] = $customer['jng_sp_customers_id']; $data_por['amount'] = $amount; $data_por['txid'] = $payone_txid; $data_por['invoice_id'] = $invoice->detail['invoice_id']; $data_por['invoice_no'] = $invoice->detail['invoice_no']; $data_por['id'] = 'Shipping'; $data_por['pr'] = $amount; $data_por['no'] = 1; $data_por['de'] = 'Verpackung & Versand'; $data_por['va'] = 0; $data_por['payment_method'] = $payment_method; $data_por['currency'] = 'EUR'; $this->payoneReturnItemContainer($data_por); } } } if ($cod_cost > 0) { //if((($amount_paid==0*1))||(($amount_paid<>$cod_cost)&&($amount_paid<>$total_costs))){ if ($amount_paid * 1 == 0 || $amount_paid > $total_costs) { $amount = round($cod_cost * 100); $data_por = array(); $data_por['return_id'] = 0; $data_por['jng_sp_orders_items_id'] = 0; $data_por['jng_sp_customers_id'] = $customer['jng_sp_customers_id']; $data_por['amount'] = $amount; $data_por['txid'] = $payone_txid; $data_por['invoice_id'] = $invoice->detail['invoice_id']; $data_por['invoice_no'] = $invoice->detail['invoice_no']; $data_por['id'] = 'COD'; $data_por['pr'] = $amount; $data_por['no'] = 1; $data_por['de'] = 'Nachnahmegebühren'; $data_por['va'] = 0; $data_por['payment_method'] = $payment_method; $data_por['currency'] = 'EUR'; $this->payoneReturnItemContainer($data_por); } } } } else { //ORDER NOT SUBMITTED YET TO PAYONE, SO NO TXID CREATED YET. JUST NEED TO EXCLUDE ITEM FROM payone_invoice TABLE COLUMN 'invoice_order_items_id' $oids_arr = explode(',', $invoice->detail['invoice_order_items_id']); if (is_array($oids_arr)) { $new_amount = $invoice->detail['invoice_amount'] - $return_qty * $item['price']; foreach ($oids_arr as $key => $value) { if ($value == $joi_id) { unset($oids_arr[$key]); } } $oids = implode(',', $oids_arr); if (count($oids_arr) == 0) { //ALL PRODUCTS RETURNED $new_amount = 0; $invoice->updateCompleteStatus('3'); //INVOICE CANCELLED } tep_db_perform('payone_invoice', array('invoice_amount' => $new_amount, 'invoice_order_items_id' => $oids), 'update', "invoice_id = '" . $invoice->detail['invoice_id'] . "'"); } } } }
//no, send an error message $errinfo = "Order could not transferred become Depot Order!"; $result .= printPackageTip('E', $box_date, $errinfo, 'Orders'); echo utf8_decode($result); exit; } } } //NOW GO TO THE REAL PROCESS if ($type == 'SP') { //FOR SALES PARTNER ORDER $sp_name = 'Orders'; $sp_class = 'pink'; //SP PROCESS $item = $class_jo->retrieveItemDetail($id); $order = $class_jo->retrieveDetail($item['jng_sp_orders_id']); //$sp_detail = $class_sp->retrieveDetail($order['jng_sp_id']); //$sp_name = $sp_detail['package_prefix']; //$sp_name = 'Orders'; if (count($item) == 0) { //If no product found $errinfo = $template_error_not_found; $result .= printPackageTip('E', $box_date, $errinfo, $sp_name); } else { //If product is found 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;
use_class('jng_sp_orders'); $o_jngspo = new jng_sp_orders(); $oi = $o_jngspo->retrieveItemDetail($reqid); #header("Content-Type: text/plain; charset=utf-8"); switch ($barcodetype) { case 'code39': use_class('jng_sp'); $o_jngsp = new jng_sp(); #table jng_sp_orders_items $oi_o_id = $oi["jng_sp_orders_id"]; $oi_order_qty = $oi["order_qty"]; $oi_article_number = $oi["article_number"]; $oi_order_item_count = $oi["order_item_count"]; $oi_order_item_total = $oi["order_item_total"]; #table jng_sp_orders $o = $o_jngspo->retrieveDetail($oi_o_id); $o_order_no = $o["order_id"]; $o_order_date = strtotime($o["order_date"]); $day = date("d", $o_order_date); $month = date("M", $o_order_date); $o_daily_count = $o["daily_count"]; $o_shipment_id = $o["shipment_id"]; $o_cust_fname = $o["customer_shipping_firstname"]; $o_cust_lname = $o["customer_shipping_lastname"]; $o_jngspid = $o["jng_sp_id"]; #table jng_sp $jngsp = $o_jngsp->retrieveDetail($o_jngspid); $jngsp_prefix_num = $jngsp["package_prefix"]; #format return label >> date;number;orderseq;nametag;kunde;auftragsnr;lieferscheinnr;qty;artikel $label_date = $day . ". " . $month; $label_order_seq = $oi_order_item_count . "/" . $oi_order_item_total;
} else { $logger->write("no orders ready"); } //CREATE INVOICE FOR SP PREPAYMENT $sp_vorkasse_handled_with_payone = "2, 10"; $logger->write("CREATING SP VORKASSE INVOICES"); $query = "SELECT jo.jng_sp_orders_id FROM jng_sp_orders jo\n LEFT JOIN payone_invoice pi ON pi.invoice_order_type='S' AND pi.invoice_order_id=jo.jng_sp_orders_id\n WHERE pi.invoice_id IS NULL AND jo.payment_method = '{$payment_method_prepayment}'\n AND jo.jng_sp_id IN ({$sp_vorkasse_handled_with_payone})"; $q = tep_db_query($query); $orders_array = array(); while ($row = tep_db_fetch_array($q)) { $orders_array[] = $row['jng_sp_orders_id']; } if (count($orders_array) > 0) { foreach ($orders_array as $order_id) { $pi_create_counter['sp']++; $order = $class_jo->retrieveDetail($order_id); $items = $class_jo->retrieveItems($order_id); //EXCLUDE CANCELLED ITEMS foreach ($items as $key => $item) { if ($class_jo->statusIsCancelled($item['status'])) { unset($items[$key]); break 1; } } //echo "<pre>";var_dump($order);die(); //Order Items $payi->createFromOrderSP($order, $items, $prepayment_due_date, '0', '0'); if (tep_db_insert_id() != '') { $l_invoice_id = tep_db_insert_id(); $pi_success_create['sp'][] = $order_id; $logger->write("SPO{$order_id} invoice created (id = {$l_invoice_id})");
$success = array(); $failed = array(); foreach ($sets_of_returns as $returns => $data) { //echo "<pre>";var_dump($data);die(); if ($returns != '') { $txid = $returns; $class_pi = new payone_invoice("payone_txid", $txid); //NOT SEND RETURN OR CANCELLED VORKASSE OR ADVANCED PAYMENT ORDERS BEFORE CUST HAS PAID FULL if ($class_pi->detail['invoice_order_type'] == 'J') { $orders = $class_o->retrieveDetail($class_pi->detail['invoice_order_id']); // if($orders['payment_method']=='Vorkasse' && $class_pi->detail['invoice_complete_status']!='P') continue; if ($orders['payment_method'] == PAYMENT_METHOD_BANK_TRANSFER && !in_array($class_pi->detail['invoice_complete_status'], $status_paid_complete)) { continue; } } elseif ($class_pi->detail['invoice_order_type'] == 'S') { $orders = $class_jo->retrieveDetail($class_pi->detail['invoice_order_id']); if (strtoupper($orders['payment_method']) == strtoupper(PAYMENT_METHOD_PREPAYMENT) && !in_array($class_pi->detail['invoice_complete_status'], $status_paid_complete)) { continue; } } $item_counter = 0; $counter_returns++; $return_hist = array(); $return_hist['amount_return_submitted'] = 0; $return_pkey_id = array(); $joid_arr = array(); $rid_arr = array(); $id_arr = array(); $pr_arr = array(); $no_arr = array(); $de_arr = array();
function retrieveData($barcode_type, $barcode_id) { use_class('jng_sp'); use_class('orders'); use_class('jng_sp_orders'); use_class('depot_orders'); use_class('products_ean'); use_class('products_minierp'); $class_sp = new jng_sp(); $class_orders = new orders(); $class_jo = new jng_sp_orders(); $class_do = new depot_orders(); $class_pean = new products_ean(); $class_pm = new products_minierp(); $result = ''; //list($partner_type,$order_product_id) = split("-",$barcode_id); //$partner_type = strtolower($partner_type); $tmp_bcid = explode('-', $barcode_id); $partner_type = strtolower($tmp_bcid[0]); $order_product_id = $tmp_bcid[1]; if (is_numeric($partner_type)) { $order_product_id = $partner_type; $partner_type = 'sp'; } //all id without prefix JG or SP indicates as SP if (!empty($order_product_id) && $order_product_id != '') { $partners_need_ean13 = array('3'); #switch partner prefix switch ($partner_type) { case 'jg': $products = $class_orders->retrieveProductDetail($order_product_id); #header("Content-Type: text/plain; charset=utf-8"); switch ($barcode_type) { case 'code39': if (count($products) > 0) { #table orders,products,dll. $order_id = $products["orders_id"]; $article_number = $products["products_model"]; $order_item_count = $products["order_item_count"]; $order_item_total = $products["order_item_total"]; $order_qty = $products["products_quantity"]; #table orders $orders = $class_orders->retrieveDetail($order_id); $order_no = $orders["orders_no"]; $order_date = strtotime($orders["date_purchased"]); $day = date("d", $order_date); $month = date("M", $order_date); $daily_count = $orders["daily_count"]; #format return label >> date;number;orderseq;nametag;kunde;auftragsnr;lieferscheinnr;qty;artikel $label_date = $day . ". " . $month; $label_order_seq = $order_item_count . "/" . $order_item_total; $label_cust_name = $orders["delivery_name"]; $qcountry = "SELECT countries_iso_code_2 FROM countries WHERE countries_name = '{$orders['delivery_country']}'"; $dbqcountry = tep_db_query($qcountry); $rescountry = tep_db_fetch_array($dbqcountry); $label_suffix = $rescountry['countries_iso_code_2'] != '' ? ".{$rescountry['countries_iso_code_2']}" : ""; $label_numtag = "JG" . $label_suffix; $label_auftragsnr = $order_no == '' ? "-" : $order_no; $label_lieferscheinnr = ''; $return_label = $label_date . ";" . $daily_count . ";" . $label_order_seq . ";" . $label_numtag . ";" . $label_cust_name; $return_label .= ";" . $label_auftragsnr . ";" . $label_lieferscheinnr . ";" . $order_qty . ";" . $article_number . ";" . $order_product_id . ";" . $partner_type; $result = $return_label; } else { $result = "no data"; } break; case 'ean13': if (count($products) > 0) { $result = $this->getEANReturnResult($partner_type, $products); } else { $result = "no data"; } break; } break; case 'sp': $oi = $class_jo->retrieveItemDetail($order_product_id); $order_id = $oi["jng_sp_orders_id"]; $o = $class_jo->retrieveDetail($order_id); $sp_id = $o["jng_sp_id"]; #header("Content-Type: text/plain; charset=utf-8"); switch ($barcode_type) { case 'code39': if (count($oi) > 0) { #table jng_sp_orders_items // $order_qty = $oi["order_quantity"] * 1; $article_number = $oi["article_number"]; $order_item_count = $oi["order_item_count"]; $order_item_total = $oi["order_item_total"]; $order_qty = intval($oi["order_quantity"]); #table jng_sp_orders $order_no = $o["order_id"]; $class_ordersrder_date = strtotime($o["order_date"]); $day = date("d", $class_ordersrder_date); $month = date("M", $class_ordersrder_date); $daily_count = $o["daily_count"]; $shipment_id = $o["shipment_id"]; $cust_fname = $o["customer_shipping_firstname"]; $cust_lname = $o["customer_shipping_lastname"]; #table jng_sp $jngsp = $class_sp->retrieveDetail($sp_id); $prefix_num = $jngsp["package_prefix"]; #format return label >> date;number;orderseq;nametag;kunde;auftragsnr;lieferscheinnr;qty;artikel $label_date = $day . ". " . $month; $label_order_seq = $order_item_count . "/" . $order_item_total; $label_cust_name = $cust_fname . " " . $cust_lname; $label_numtag = $prefix_num == '' ? "-" : $prefix_num; $label_auftragsnr = $order_no == '' ? "-" : $order_no; $label_lieferscheinnr = $shipment_id; $return_label = $label_date . ";" . $daily_count . ";" . $label_order_seq . ";" . $label_numtag . ";" . $label_cust_name; $return_label .= ";" . $label_auftragsnr . ";" . $label_lieferscheinnr . ";" . $order_qty . ";" . $article_number . ";" . $order_product_id . ";" . $partner_type; if (in_array($sp_id, $partners_need_ean13)) { if (count($oi) > 0) { $cats = $class_jo->getCategories($order_id); $oi_product_id = $oi["products_id"]; $oi_product_article_id = $oi["products_articles_id"]; $ean = $oi_product_article_id != '' ? $class_pean->getEAN($oi_product_id, $oi_product_article_id) : $class_pean->getEAN($oi_product_id); if ($ean != '') { $label_material = "925er SILBER"; $return_label .= ";" . $ean . ";" . strtoupper($cats['categories_name']) . ";" . $label_material . ";" . $oi['price'] . " EUR;{$order_qty};{$o['jng_sp_id']}"; } } } $result = $return_label; } else { $result = "no data"; } break; case 'ean13': if (count($oi) > 0) { $result = $this->getEANReturnResult($partner_type, $oi, $sp_id); } else { $result = "no data"; } break; } break; case 'dp': //ONLY PRODUCT LABEL / ean13 $do = $class_do->retrieveDetail($order_product_id); switch ($barcode_type) { case 'code39': $article_number = $do["products_ean"]; $order_item_count = '1'; $order_item_total = '1'; $order_qty = intval($do["quantity"]); $daily_count = $order_qty . 'x'; #format return label >> date;number;orderseq;nametag;kunde;auftragsnr;lieferscheinnr;qty;artikel $label_date = "Quantity: "; $label_order_seq = "{$order_item_count}/{$order_item_total}"; $label_cust_name = 'Outsourcing'; $label_numtag = '-'; $label_auftragsnr = '-'; $label_lieferscheinnr = '-'; $return_label = $label_date . ";" . $daily_count . ";" . $label_order_seq . ";" . $label_numtag . ";" . $label_cust_name; $return_label .= ";" . $label_auftragsnr . ";" . $label_lieferscheinnr . ";" . $order_qty . ";" . $article_number . ";" . $order_product_id . ";" . $partner_type; $result = $return_label; break; case 'ean13': default: if (count($do) > 0) { $do['products_articles_id'] = $do['articles_id']; $result = $this->getEANReturnResult($partner_type, $do); } else { $result = "no data"; } } break; } } else { $result = "no data"; } return $result; }
$product = $class_pm->retrieveDetail($do['products_id']); $article = $do['articles_id'] == 0 ? null : $class_pa->retrieveDetail($do['articles_id']); $length = $article == null ? $product['pnc']['products_length'] : $article['length']; $length_text = $length == 0 ? '' : '<tr><td>Product Length</td><td>' . textLength($length) . '</td></tr>'; $group_name = $do['group_name']; if (count($do) == 0) { $content .= '<h3 class="red">Depot Order ' . $order_id . ' is not found in Database'; } else { $statusName = statusNameShort(); $bih_start_date = $do['order_date']; $bih_end_date = null; if ($do['trans_type'] == 'SP') { use_class('jng_sp_orders'); $class_jo = new jng_sp_orders(); $itrans = $class_jo->retrieveItemDetail($do['trans_id']); $otrans = $class_jo->retrieveDetail($itrans['jng_sp_orders_id']); $bih_start_date = $otrans['order_date']; $order_source = $class_do->translateOrderSource($do['trans_type'], $do['trans_id'], false, $itrans['jng_sp_orders_id'], $do['products_id']); } elseif ($do['trans_type'] == 'JG') { use_class('orders'); $class_o = new orders(); $itrans = $class_o->retrieveProductDetail($do['trans_id']); $otrans = $class_o->retrieveDetail($itrans['orders_id']); $bih_start_date = $otrans['date_purchased']; $order_source = $class_do->translateOrderSource($do['trans_type'], $do['trans_id'], false, $itrans['orders_id'], $do['products_id']); } else { $order_source = $class_do->translateOrderSource($do['trans_type'], $do['trans_id'], false, null, $do['products_id']); } $status_date = null; $history = $class_do->retrieveHistory($order_id); $history_prod = retrieveProductionHistory('DP', $order_id);