function processXMLFile($xml_file) { global $timestamp, $logger; $xmlt = new xml_tools(); $xml = $xmlt->loadFile($xml_file); $order_date = $timestamp; $segments_id = (int) $xml->LOCAL_INFO->SEGMENT_ID; $group_name = (string) $xml->LOCAL_INFO->GROUP_NAME; $refill_orders = $xml->REFILL_ORDERS->ORDER; $counter = 0; foreach ($refill_orders as $ro) { $products_id = (int) $ro->PRODUCTS_ID; $articles_id = (int) $ro->ARTICLES_ID; $products_ean = $ro->PRODUCTS_EAN; $quantity = (int) $ro->QUANTITY; $trans_type = (string) (strtoupper($ro->TRANS_TYPE) == 'NULL' ? '' : $ro->TRANS_TYPE); $trans_id = (int) $ro->TRANS_ID; //CREATE DEPOT ORDERS $q_check = "SELECT depot_orders_id FROM depot_orders " . " WHERE segments_id = {$segments_id}" . " AND trans_type = '' AND trans_id = {$trans_id}"; $r_check = tep_db_query($q_check); //ONLY CREATE ORDER WHICH NOT IMPORTED if (tep_db_num_rows($r_check) == 0) { $class_do = new depot_orders(); $class_do->newOrder($segments_id, $products_id, $articles_id, $products_ean, $quantity, $order_date, $trans_type, $trans_id, $group_name); $counter++; } } $logger->write("{$counter} orders imported"); unlink($xml_file); $logger->write("xml deleted"); return $counter; }
//Get all known SP with connection to Tradebyte $sp_list = $class_sp->retrieveList("tb_used = 1"); $sp_tradebyte_id = array(); foreach ($sp_list as $sp) { $sp_tradebyte_id[$sp['tb_channel']] = $sp['jng_sp_id']; } $file_counter = 0; $daily_counter = array(); foreach ($order_files as $o_file) { $file_counter++; logThis('- Processing file ' . $file_counter . ': ' . $o_file['filename']); $xml_filename = TRADEBYTE_DOWNLOAD_ORDERS_PATH . $o_file['filename']; if (is_file($xml_filename)) { $import_date = date('Y-m-d H:i:s'); $leadtime_start_date = $import_date; $xml = $xmlt->loadFile($xml_filename); $orders = $xml->ORDER; $orders_total = count($orders); logThis('- ' . $orders_total . ' order(s) found'); $order_counter = 0; foreach ($orders as $order) { $order_counter++; logThis(' = Processing order ' . $order_counter); //ORDER $order_data = $order->ORDER_DATA; $order_date = $order_data->ORDER_DATE; $channel_sign = strval($order_data->CHANNEL_SIGN); $jng_sp_id = $sp_tradebyte_id[$channel_sign]; $is_approved = $order_data->APPROVED == 1; //Build data array $o = array();
require_once '../functions-2.php'; require_once DIR_WS_FUNCTIONS . 'html_output.php'; tep_db_connect(); use_class('xml_tools'); $xmlt = new xml_tools(); $otto_local_path = 'D:/Data Dewa/Data Kantor/Bonofactum/otto/'; $tb_local_path = 'D:/Data Dewa/Data Kantor/Bonofactum/Tradebyte/'; $exchange_local_open_folder = EXCHANGE_LOCAL_OPEN_PATH; $exchange_local_arch_folder = EXCHANGE_LOCAL_ARCHIVE_PATH; $exchange_central_open_folder = EXCHANGE_CENTRAL_OPEN_PATH; $exchange_central_arch_folder = EXCHANGE_CENTRAL_ARCHIVE_PATH; $xmlfiles[] = $exchange_local_arch_folder . '2015/DEPOT_REFILL_LOCAL_ID_20150129_161425.xml'; //CAT foreach ($xmlfiles as $xmlfile) { echo "<h3>{$xmlfile}</h3>"; $xml = $xmlt->loadFile($xmlfile); $orders = $xml->REFILL_ORDERS->ORDER; echo "<table>"; echo "<tr>"; echo "<th>No</th>"; echo "<th>Products ID</th>"; echo "<th>EAN</th>"; echo "<th>Quantity</th>"; echo "</tr>"; foreach ($orders as $o) { $counter++; echo "<tr>"; echo "<td>{$counter}</td>"; echo "<td>{$o->PRODUCTS_ID}</td>"; echo "<td>{$o->PRODUCTS_EAN}</td>"; echo "<td>{$o->QUANTITY}</td>";