$ypos += (count($values) + 0.5) * $lineheight; $lineheight = 4; $pdf->SetXY($xpos, $ypos); $pdf->setFont('Arial', 'B', '10'); $pdf->Cell(70, $lineheight, 'Artikel:'); //Products $pdf->setFont('Arial', '', '10'); $pmax = 3; $pcol1 = array(); $pcol2 = array(); $item_counter = 0; foreach ($items as $item) { if ($item_counter < 12) { if ($type == 'sp') { //PROCESS ITEMS SP if (!$class_jo->statusIsCancelled($item['status']) && in_array($item['jng_sp_orders_items_id'], $items_array)) { $ptext = intval($item['order_quantity']) . ' x ' . $item['article_number']; //Go to col 2 when total items > pmax //if(count($pcol1)<$pmax) $pcol1[] = $ptext; //else $pcol2[] = $ptext; //Go to col 2 on even counter $item_counter++; if ($item_counter % 2 != 0) { $pcol1[] = $ptext; } else { $pcol2[] = $ptext; } } } else { //PROCESS ITEMS JNG if (!$class_o->productStatusIsCancelled($item['status']) && in_array($item['orders_products_id'], $items_array)) {
$class_payone = new payone(); //SP SETTING salesPartnerCombo(); //AJAX ACTION if (isset($_POST['me_action'])) { if ($_POST['me_action'] == 'LOADUNSUBMITTEDORDERS') { $orders = $class_payone->newSPorders($jng_sp_id); $result = $class_payone->drawListTable($orders); } elseif ($_POST['me_action'] == 'AUTHORIZATION') { $process_method = 'authorization'; $order_id = tep_db_prepare_input($_POST['orders_id']); $order = $class_jo->retrieveDetail($order_id); $items = $class_jo->retrieveItems($order_id); $cust = $class_jcust->retrieveDetail(null, $order['jng_sp_id'], $order['customer_billing_id']); foreach ($items as $key => $i) { if ($class_jo->statusIsCancelled($i['status'])) { unset($items[$key]); } } $payi = new payone_invoice(); $payi->createFromOrderSP($order, $items); if (count($order) == 0 || count($items) == 0 || $payi->detail['invoice_complete_status'] != '0') { $result = "{$order_id},1"; } else { //--PREPARE PARAMETERS $request = array(); //--STANDARD PARAMETERS $request['mid'] = PAYONE_MERCHANT_ID; $request['portalid'] = PAYONE_PORTAL_ID; $request['key'] = md5(PAYONE_PORTAL_KEY); $request['mode'] = PAYONE_MODE;
$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); } elseif ($item['status'] == $old_status) { //If product status is finish //$order = $class_jo->retrieveDetail($item['jng_sp_orders_id']); $order_date = strtotime($order['order_date']); $box_date = date('d. M', $order_date); //Retrieve all products from the order $items = $class_jo->retrieveItems($order['jng_sp_orders_id']); foreach ($items as $key => $i) { //Exclude any canceled products $iscanceled = $class_jo->statusIsCancelled($i['status']); if ($iscanceled) { unset($items[$key]); } } if ($item['order_item_total'] == '1' || count($items) == 1) { //If order only consist of 1 product $packages = $class_jp->getUsablePackages($order['jng_sp_id']); if (count($packages) == 0) { //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
$xml_content .= writeXMLline('NECKERMANN_POS_REF', $i['article_reference_number'], 4); $xml_content .= writeXMLclose('ARTICLE_DATA', 3); //Quantity $xml_content .= writeXMLopen('QUANTITY', 3); if ($i['status'] == '9' || $i['status'] == '11') { if ($i['order_quantity'] > 0) { $items_confirmed[] = $i['jng_sp_orders_items_id']; } $xml_content .= writeXMLline('SHIP_QUANTITY', $i['order_quantity'], 4); if ($i['cancel_quantity'] > 0) { $qty_cancel_confirmed[] = $i['jng_sp_orders_items_id']; $xml_content .= writeXMLline('DIFF_QUANTITY', $i['cancel_quantity'], 4); $cancel_status = $i['cancel_quantity_status'] == 'J' ? 'BST' : 'KDW'; $xml_content .= writeXMLline('DIFF_CAUSE_ID', $cancel_status, 4); } } elseif ($class_jo->statusIsCancelled($i['status'])) { $items_confirmed[] = $i['jng_sp_orders_items_id']; if ($i['cancel_quantity'] > 0) { $qty_cancel_confirmed[] = $i['jng_sp_orders_items_id']; $cancel_quantity = $i['cancel_quantity'] + $i['order_quantity']; } else { $cancel_quantity = $i['order_quantity']; } $xml_content .= writeXMLline('SHIP_QUANTITY', '0', 4); $xml_content .= writeXMLline('DIFF_QUANTITY', $cancel_quantity, 4); $cancel_status = $i['cancel_status'] == 'J' ? 'BST' : 'KDW'; $xml_content .= writeXMLline('DIFF_CAUSE_ID', $cancel_status, 4); } $xml_content .= writeXMLclose('QUANTITY', 3); //ITEMS close $xml_content .= writeXMLclose('ITEMS', 2);
} $ts_counter++; $xml_content = '<?xml version="1.0" encoding="UTF-8"?>' . "\n"; $xml_content .= writeXMLopen('ottopartner', 0, 'xmlns="http://www.ottogroupb2b.com/ottopartner"'); $xml_content .= writeXMLline('LKZ', $sp_data[$jng_sp_id]['jng_id'], 1); $xml_content .= writeXMLopen('OrderStates', 1); $xml_content .= writeXMLopen('OrderState', 2); $xml_content .= writeXMLline('order-no', $o['order_id'], 3); $xml_content .= writeXMLopen('product-line-items', 3); $items = $data_sp['items'][$o['jng_sp_orders_id']]; $items_confirmed = array(); foreach ($items as $i) { $items_confirmed[] = $i['jng_sp_orders_items_id']; $xml_content .= writeXMLopen('product-line-item', 4); $xml_content .= writeXMLline('position', $i['position'], 5); $status = $class_jo->statusIsCancelled($i['status']) ? 'cancel' : 'sent'; $xml_content .= writeXMLline('order-status', $status, 5); $xml_content .= writeXMLline('quantity', intval($i['order_quantity']), 5); $xml_content .= writeXMLline('ModificationDate', ottodeDateFormat($timestamp), 5); $xml_content .= writeXMLclose('product-line-item', 4); } $xml_content .= writeXMLclose('product-line-items', 3); $xml_content .= writeXMLclose('OrderState', 2); $xml_content .= writeXMLclose('OrderStates', 1); $xml_content .= writeXMLclose('ottopartner', 0); //CREATE XML ON SERVER $fn_counter = str_pad($ts_counter, 2, '0', STR_PAD_LEFT); $xml_filename = $sp_data[$jng_sp_id]['jng_id'] . '_orderstatus_' . $ts_period . $fn_counter . '.xml'; $xmlfullpath = SP_OTTODE_UPLOAD_PATH_STATES . $xml_filename; $file = fopen($xmlfullpath, 'w'); $success = fwrite($file, $xml_content) !== false;
$o['status'] = $itemStatus[$row['status']]; $action = ''; if ($row['status'] == '9' || $row['status'] == '11') { $returnable = $row['order_quantity']; $return_data = $class_jo->retrieveReturnItem($row['jng_sp_orders_items_id']); if (!is_null($return_data)) { foreach ($return_data as $rd) { $returnable -= $rd['return_quantity']; } } if ($returnable > 0) { $action .= '<input type="button" class="actbtn" name="return" value="Return" title="Returned by customer" />'; } else { $action .= ' <span class="green">Returned</span> '; } } elseif ($class_jo->statusIsCancelled($row['status'])) { $action .= ' <span class="green">Cancelled</span> '; } else { $action .= '<input type="button" class="actbtn" name="cancel" value="Cancel" title="Cancel this product" />'; } //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'] . '" >'; $action .= '<input type="hidden" name="oi_qty" value="' . $row['order_quantity'] . '" >'; $o['t'] = $action; $orders_result[] = $o; } $result .= '<h3>Search Result:</h3>'; $result .= tep_draw_table('spo sticky-tablehead', $orders_result); //$result .= '<div><input type="button" name="search_more" value="Show More Results" /></div>'; }