function setParams($products_id, $param_code) { use_class('products_minierp'); $class_pm = new products_minierp(); if ($param_code == 'M') { $param_id_arrays = $class_pm->loadProductMaterials($products_id); $field_name = 'material'; } elseif ($param_code == 'C') { $param_id_arrays = $class_pm->loadColorPattern($products_id); $field_name = 'color'; } else { $param_id_arrays = array(); $field_name = ''; } if ($field_name != '') { if (count($param_id_arrays) == 0) { $sda = array($field_name => ''); tep_db_perform('jng_sp_catalog', $sda, 'update', "products_id = {$products_id}"); } else { use_class('jng_sp_catalog'); $class_jc = new jng_sp_catalog(); $q = tep_db_query("SELECT jng_sp_catalog_id, jng_sp_id FROM jng_sp_catalog WHERE products_id = {$products_id}"); $sp_list = array(); while ($row = tep_db_fetch_array($q)) { $sp_list[$row['jng_sp_catalog_id']] = $row['jng_sp_id']; } foreach ($sp_list as $catalog_id => $jng_sp_id) { $sp_params_raw = $this->load($jng_sp_id, $param_code); $sp_params = array(); foreach ($sp_params_raw as $spr) { if (in_array($spr['param_id'], $param_id_arrays)) { $sp_params[] = $spr['param_value']; } } $sda = array($field_name => implode(', ', $sp_params)); $class_jc->updateField($catalog_id, $sda); } } } }
/** * Set brand status as deleted and kill all active products of the brand * @param Int $brand_id Brand ID to delete * @param String $username Username trigger the function * @param Boolean $use_echo When set to true will echo "." dot during the looping of products killing */ function killBrand($brand_id, $username, $use_echo = false) { use_class('products_minierp'); $class_pm = new products_minierp(); $q = tep_db_query("SELECT products_id FROM products WHERE products_brand_id={$brand_id} AND active_status='1'"); while ($row = tep_db_fetch_array($q)) { if ($use_echo) { echo '. '; } $class_pm->killProduct($row['products_id'], $username); } $this->delete($brand_id); }
<?php ######################################### # Author : D3W4 & SAHAT # # Created : Jan 3, 2012 10:59:04 PM # ######################################### use_class('products_minierp'); $class_pm = new products_minierp(); $products_id = tep_db_prepare_input($_GET['products_id']); $designs_id = tep_db_prepare_input($_GET['designs_id']); $accessed = strpos($_SERVER['HTTP_REFERER'], 'designs-manage') !== false || !empty($designs_id) ? CONST_ACCESS_DESIGNS_MANAGEMENT : ''; if (isset($_POST['me_action'])) { if ($_POST['me_action'] == 'PRODUCTELUSED') { $result = $class_pm->templateElementsUsed('?open=designs-products-elements-used&products_id=' . $_POST['products_id'] . '&hidemenu=true&designs_id=' . $designs_id); echo $result; exit; } elseif ($_POST['me_action'] == 'ELEMENTSUSEDADD') { $class_pm->templateAddElementsUsed(); } elseif ($_POST['me_action'] == 'ELEMENTSUSEDUPDATE') { $class_pm->templateUpdateElementsUsed(); } elseif ($_POST['me_action'] == 'ELEMENTSUSEDOVR') { $class_pm->templateOverrideElementsUsed(); } } $content = '<div id="area-el-used"></div>'; $title = "Product {$products_id} - Manage Elements Used"; $javascript = ' var accessed = "' . $accessed . '"; var designs_id = "' . $designs_id . '"; document.reloadFocusedTab = function(){ if(accessed != "undefined" && accessed == "' . CONST_ACCESS_DESIGNS_MANAGEMENT . '") window.parent.document.reloadFocusedTab(' . $designs_id . ');
<?php global $db; require_once '../confy.php'; require_once '../functions.php'; require_once '../functions-2.php'; require_once DIR_WS_FUNCTIONS . 'html_output.php'; tep_db_connect(); use_class('products_minierp'); $class_pm = new products_minierp(); $pids = tep_db_prepare_input($_POST['products_id']); $group = tep_db_prepare_input($_POST['group']); $group_name = tep_db_prepare_input($_POST['group_name']); $npids = explode(',', $pids); $n = count($npids); $title = "<h1>List products of - {$group}: {$group_name} ({$n} total)</h1>"; ?> <html> <head> <title>Products List</title> <link rel="stylesheet" type="text/css" href="../templates/default.css" /> </head> <body> <div id="area-result"> <div><?php echo $title; ?> </div> <div class="display-area ui-corner-all" style="margin-top:10px; display: block; width: 1000px;"> <?php
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']}"); } } } } header("Location: ?open=rack-info&id={$rack_id}&reloadsegment=true" . ($hidemenuscript != '' ? '&hidemenu=true' : '')); exit; } elseif ($_POST['me_action'] == 'CLEARRACKNBS') { $logger = new logger('modules', 'rack-info'); use_class('products_minierp'); $class_pm = new products_minierp(); $segment = $class_bin->retrieveSegmentDetail($rack['segment_id']); $jng_warehouses_id = $segment['warehouses_id']; $rack_bins = $class_bin->retrieveBins($rack['segment_id'], $rack_id); $bins_cleared = array(); $logger->write('Clearing NBS for Rack ' . $rack_no); foreach ($rack_bins as $bin) { if ($bin['is_bestselling'] != '1') { $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 NBS RACK by {$session_userinfo['username']}");
<?php global $db; require_once '../confy.php'; require_once '../functions.php'; require_once '../functions-2.php'; tep_db_connect(); use_class('PHPExcel/PHPExcel'); use_class('Product'); use_class('depot_orders'); use_class('products_minierp'); use_class('elements_suppliers'); $class_do = new depot_orders(); $class_pm = new products_minierp(); $order_date = $_GET['date']; $order_date_ts = strtotime($order_date); $supplier_id = $_GET['supplier_id']; $supplier = new elements_suppliers($supplier_id); $filename = date('Ymd', $order_date_ts) . '-OutsourcingPO-' . $supplier->getCleanName() . '-' . time() . '.xls'; $order_date_nice = date('d.m.Y', $order_date_ts); $po_number_sample = date('ymd', $order_date_ts) . '/' . $supplier->id . '/001'; $date_filter_start = $order_date . ' 00:00:00'; $date_filter_end = $order_date . ' 23:59:59'; $jng_company_name = utf8_encode(JNG_ADDRESS_NAME . ' - ' . JNG_COMPANY_SUFFIX); $jng_address = utf8_encode(JNG_ADDRESS_STREET); $jng_shipto_recepient = utf8_encode('Ms. Julia Schüssel'); $orders_items = array(); if (isset($_GET['type']) && $_GET['type'] == 'non-refill') { $trans_type = depot_orders::TRANS_TYPE_NON_REFILL; $trans_id = depot_orders::NONREFILL_OUTSOURCED_ID; } else {
// BEWARE NOTE!!! // PLEASE PAY ATTENTION TO SP PRODUCTS ACTIVE AGE // THIS DATA CALC ACTIVE DAY OF PRODUCTS // AND SHOULD ONLY BE RUN ONCE PER DAY set_time_limit(0); global $db; require_once '../confy.php'; require_once '../functions.php'; require_once '../functions-2.php'; tep_db_connect(); use_class('logger'); $logger = new logger('cron', 'daily-counter-products'); use_class('forecasting'); use_class('product'); use_class('products_minierp'); $class_pm = new products_minierp(); //////////////////////////////////// // SP PRODUCTS ACTIVE AGE COUNTER // //////////////////////////////////// tep_db_query("UPDATE jng_sp_catalog SET active_age=active_age+1 WHERE last_active_status='1'"); $logger->write("DONE - SP PRODUCTS ACTIVE AGE COUNTER"); /////////////////////// // MATERIAL EXPENSES // /////////////////////// // MOVED TO cron/daily-counter-products-matexp.php /////////////////////// ////////////////////////////// // PRODUCT LOG DATA COUNTER // ////////////////////////////// //MONTHLY VIEWED //Data is never used, stop querying it
$result .= '<tr><td class="label">PICKED FROM BIN</td><td>= Total products picked from Bin</td></tr>'; //$result .= '<tr><td class="label">PRODUCTS SENT</td><td>= Total products sent</td></tr>'; $result .= '<tr><td class="label">SENT B2B</td><td>= Total products sent to Business Partner</td></tr>'; $result .= '<tr><td class="label">SENT B2C</td><td>= Total products sent to Customer</td></tr>'; $result .= '<tr><td class="label">SENT FULL DSO</td><td>= Total products sent from Depo/Full DSO (Excluding MO)</td></tr>'; $result .= '<tr><td class="label">SENT FULL MTO</td><td>= Total products sent directly from Bali (Full MTO)</td></tr>'; $result .= '<tr><td class="label">SENT MO</td><td>= Total products sent from MO (WMO and MMO)</td></tr>'; $result .= '</table>'; $result .= '</div>'; //.ibox $result .= '</div>'; //end .kpi-infobox $result .= '<div style="padding-bottom:10px;"><strong>Query Date </strong><input type="text" id="kpilog" title="select date to load statistic on graph" class="date_picker input" readonly="readonly" value="' . $date_id_userformat . '"/></div>'; $result .= '<div id="kpi-log-content"></div>'; } elseif ($_GET['week-sum'] == 'KPI-COMP') { $class_pm = new products_minierp(); $bgst = $class_pm->retrieveBestGoodSettings(); $kpi_config = load_config('kpi-settings'); $filterdate_start = date('Y-m-d', strtotime('-7 days')); $filterdate_end = date('Y-m-d'); $q = " SELECT * FROM ("; $q .= " SELECT DATE(jo.order_date) rowdate, joi.products_id, joi.order_quantity quantity, p.complexity"; $q .= " FROM jng_sp_orders jo"; $q .= " INNER JOIN jng_sp_orders_items joi ON joi.jng_sp_orders_id = jo.jng_sp_orders_id AND joi.status NOT IN ('10', '12')"; $q .= " LEFT JOIN products p ON p.products_id = joi.products_id"; //$q .= " WHERE DATE(jo.order_date)>DATE('$filterdate_start') AND DATE(jo.order_date)<=DATE('$filterdate_end')"; $q .= " WHERE jo.order_date>'{$filterdate_start}' AND jo.order_date<='{$filterdate_end}'"; $q .= " AND joi.mode IN (2, 4)"; $q .= " UNION ALL"; $q .= " SELECT DATE(o.date_purchased) rowdate, op.products_id, op.products_quantity quantity, p.complexity"; $q .= " FROM orders o";
require_once '../confy.php'; require_once '../functions.php'; require_once '../functions-2.php'; tep_db_connect(); use_class('logger'); $logger = new logger('cron', 'tradebyte-catalog-updater'); use_class('jng_sp'); use_class('jng_sp_catalog'); use_class('jng_sp_upload'); use_class('products_minierp'); use_class('products_articles'); use_class('tradebyte'); use_class('xml_tools'); $class_sp = new jng_sp(); $class_jc = new jng_sp_catalog(); $class_pm = new products_minierp(); function getANR($pcode, $length) { $a_nr = $pcode; if ($length > 0) { $a_nr .= '_' . textLength($length, false); } return $a_nr; } function getStock($stock, $stock_booked) { $stock = $stock - $stock_booked; if ($stock < 0) { $stock = 0; } return $stock;
<?php ######################################### # Author : D3W4 & SAHAT # # Created : Nov 23, 2010 11:07:08 AM # ######################################### use_class('sendback'); use_class('products_minierp'); use_class('products_ean'); $class_sendback = new sendback(); $class_pm = new products_minierp(); $class_pean = new products_ean(); if (isset($_POST['me_action']) && $_POST['me_action'] != '') { $post_result = ''; if ($_POST['me_action'] == 'SHOWBIN') { $type = $_POST['type']; if ($type == 'bin_in') { list($products_id, $products_articles_id) = split("-", $_POST['ids']); $query = "SELECT * FROM sendback "; $query .= " WHERE products_id = '{$products_id}' AND products_articles_id = '{$products_articles_id}'"; $query .= " AND status = '16' AND type='D' AND quantity_actual > 0 LIMIT 1"; $dbq = tep_db_query($query); if (tep_db_num_rows($dbq) > 0) { $r = tep_db_fetch_array($dbq); if ($r['quantity_actual'] > 1) { tep_db_query("UPDATE sendback SET quantity_actual = " . ($r['quantity_actual'] - 1) . " WHERE sendback_id = '{$r['sendback_id']}'"); } else { tep_db_query("DELETE FROM sendback_package_contents WHERE sendback_id = '{$r['sendback_id']}'"); tep_db_query("DELETE FROM sendback WHERE sendback_id = '{$r['sendback_id']}'"); } } else {
<?php set_time_limit(0); global $db; require_once '../confy.php'; require_once '../functions.php'; require_once '../functions-2.php'; tep_db_connect(); use_class('logger'); $logger = new logger('cron', 'daily-counter-products-matexp'); use_class("products_minierp"); $class_pm = new products_minierp(); $products = array(); $products = $class_pm->retrieveList("active_status=1"); $pcount = 0; foreach ($products as $p) { $pcount++; $class_pm->calculateMaterialExpenses($p['products_id']); $logger->write("{$pcount} - PID: " . $p['products_id'] . ' - TS: ' . time()); echo '. '; } $logger->close(); echo 'Done!'; tep_db_close();
<?php use_class('element'); use_class('products_minierp'); use_class('elements_stock'); use_class('elements_order'); $class_pm = new products_minierp(); $class_es = new elements_stock(); //WAREHOUSE OPTIONS $session_page = 'elements-stock'; $wo = warehouse_options($session_page); $whid = $_SESSION[$session_page]['whid']; if (isset($_POST['me_action'])) { if ($_POST['me_action'] == 'SEARCHFILTER') { $days = $_POST['days']; $day_filter = date('Y-m-d', strtotime("-{$days} days")); $q = "SELECT * FROM ("; $q .= " SELECT joi.jng_sp_orders_items_id, joi.leadtime_start_date, joi.products_id, joi.products_articles_id as articles_id, joi.stock_status, FLOOR(joi.order_quantity) as quantity"; $q .= " FROM jng_sp_orders jo"; $q .= " INNER JOIN jng_sp_orders_items joi ON joi.jng_sp_orders_id = jo.jng_sp_orders_id"; $q .= " WHERE joi.leadtime_start_date IS NOT NULL"; $q .= " AND joi.leadtime_start_date < '{$day_filter}' AND joi.status = 2"; $q .= " UNION"; $q .= " SELECT op.orders_products_id, op.leadtime_start_date, op.products_id, op.products_articles_id as articles_id, op.stock_status, FLOOR(op.products_quantity) as quantity"; $q .= " FROM orders o"; $q .= " INNER JOIN orders_products op ON op.orders_id = o.orders_id"; $q .= " WHERE op.leadtime_start_date IS NOT NULL"; $q .= " AND op.leadtime_start_date < '{$day_filter}' AND op.status = 2"; $q .= " UNION"; $q .= " SELECT do.depot_orders_id, do.leadtime_start_date, do.products_id, do.articles_id as articles_id, do.stock_status, FLOOR(do.quantity) as quantity"; $q .= " FROM depot_orders do";
function isPhotoProductComplete($products = array()) { use_class('products_minierp'); $class_pm = new products_minierp(); if (count($products) == 0) { $products = $this->retrieveProducts(); } $photos_is_complete = count($products) > 0 ? true : false; foreach ($products as $p) { $dt_p = $class_pm->retrieveDetail($p['products_id'], 'p'); if ($dt_p['p']['products_image'] == '') { $photos_is_complete = false; break; } } return $photos_is_complete; }
require_once '../functions-xml.php'; require_once DIR_WS_FUNCTIONS . 'html_output.php'; use_class('design'); use_class('products_brand'); use_class('styles'); use_class('products_minierp'); use_class('products_family'); use_class('jng_sp_catalog'); use_class('Product'); use_class('Order'); use_class('depot_orders'); use_class('ProductCOGS'); tep_db_connect(); $class_s = new styles(); $class_pb = new products_brand(); $class_pm = new products_minierp(); $class_jc = new jng_sp_catalog(); $class_do = new depot_orders(); $pid_array = array(24072, 25467, 48792, 51556, 51557, 51572, 58013, 60749, 60836, 60872, 64643, 64668, 65804, 66250, 66775, 67450, 68262, 68611, 70142, 71771, 72667, 72996, 73126, 73185, 73186, 73321, 73603, 73658, 73660, 73685, 74005, 74016, 74070, 74123, 74211, 74324, 74395, 74452, 74721, 74759, 74761, 74771, 74793, 74794, 74804, 74836, 74838, 74842, 74844, 74847, 74850, 74851, 74853, 74854, 74857, 74859, 74861, 74862, 74865, 74869, 74874, 74879, 74882, 74884, 74898, 74899, 74901, 74902, 74903, 74907, 74908, 74933, 74946, 74949, 74955, 74957, 74959, 74963, 74967, 74970, 74971, 74972, 74976, 74977, 74980, 74981, 74982, 74983, 74984, 74989, 74995, 74996, 75003, 75006, 75008, 75009, 75016, 75018, 75019, 75022, 75024, 75025, 75032, 75033, 75035, 75058, 75060, 75062, 75072, 75081, 75085, 75097, 75098, 75116, 75118, 75120, 75122, 75123, 75128, 75129, 75130, 75131, 75133, 75135, 75137, 75149, 75150, 75151, 75153, 75172, 75182, 75186, 75191, 75193, 75198, 75200, 75203, 75205, 75207, 75222, 75232, 75238, 75241, 75244, 75245, 75246, 75247, 75249); //var_dump($pid_array); //die(); $p = array(); $p['pid'] = 'Product ID'; $p['name'] = 'Product Name'; $p['desc'] = 'Product Description'; $p['keywords w200'] = 'Product Keyword'; $p['cogs'] = 'Product COGS'; $table_product[] = $p; foreach ($pid_array as $pid) { $product_data = $class_pm->retrieveDetail($pid, 'p,pd'); $product_name = $product_data['pd'][2]['products_name'];
} } $dest['bank_name_short'] = substr($dest['bank_name'], 0, strpos($dest['bank_name'], ' ')); $dest['account_no2'] = JNG_BANK_ACCOUNT_PAYONE; $dest2 = array(); foreach ($dest as $key => $d) { if ($key == 'account_no' || $key == 'account_no2' || $key == 'bank_no') { $d = str_replace(' ', '', $d); } $dest2[$key] = insertSpacePerChar($d); } use_class('orders'); use_class('products_minierp'); use_class('payone_invoice'); $class_o = new orders(); $class_pm = new products_minierp(); //if(isset($_GET['id'])) { // $orders = tep_db_prepare_input($_GET['id']); // $orders_array = explode(',', $orders); //} elseif(isset($_GET['pid'])) { // use_class("minierp_packages"); // $class_mp = new minierp_packages; // $orders_array = $class_mp->getOrders($package_id); // $items_array = $class_mp->getProducts($package_id); //} class PDF extends FPDF { var $using_logo; var $doc_type; //Page header function Header()
<?php /* * Count Total COGS products sent to HH per certain period */ global $db; require_once '../confy.php'; require_once '../functions.php'; require_once '../functions-2.php'; tep_db_connect(); use_class('ProductCOGS'); use_class('products_minierp'); $class_pm = new products_minierp(); $year = '2014'; $date_ranges = array(); $date_ranges['Jan'] = "'{$year}-01-01 00:00:00' AND '{$year}-01-31 23:59:59'"; $date_ranges['Feb'] = "'{$year}-02-01 00:00:00' AND '{$year}-02-28 23:59:59'"; $date_ranges['Mar'] = "'{$year}-03-01 00:00:00' AND '{$year}-03-31 23:59:59'"; $bgst = $class_pm->retrieveBestGoodSettings(); echo "<h3>Total COGS Products Sent to HH {$year}</h3>"; foreach ($date_ranges as $m => $date_range) { echo "{$m}: "; $q = "SELECT op.products_id, opsh.status_quantity qty FROM orders_products op\r\n INNER JOIN `orders_products_status_history` opsh ON opsh.orders_products_id = op.orders_products_id\r\n WHERE opsh.status = 7 AND opsh.status_date BETWEEN {$date_range}\r\n UNION ALL\r\n SELECT joi.products_id, status_quantity qty FROM jng_sp_orders_items joi\r\n INNER JOIN `jng_sp_orders_items_status_history` joish ON joish.jng_sp_orders_items_id = joi.jng_sp_orders_items_id\r\n WHERE joish.status = 7 AND joish.status_date BETWEEN {$date_range}\r\n UNION ALL\r\n SELECT do.products_id, quantity qty FROM depot_orders do\r\n INNER JOIN depot_orders_status_history dosh ON dosh.depot_orders_id = do.depot_orders_id AND dosh.status = 7\r\n WHERE dosh.update_time BETWEEN {$date_range}\r\n "; $dbq = tep_db_query($q); $total_cogs = 0; while ($r = tep_db_fetch_array($dbq)) { $pid = $r['products_id']; $qty = $r['qty']; $products = $class_pm->retrieveDetail($pid, 'p'); $cogs = new ProductCOGS($products['p']['material_expenses'], $products['p']['complexity']); $total_cogs += $cogs->value * $qty;
$eanlist[]='4050878240257'; $eanlist[]='4050878314194'; $eanlist[]='4050878342357'; $eanlist[]='4050878126858'; $eanlist[]='4050878373382'; $eanlist[]='4050878456580'; $eanlist[]='4050878469740'; $eanlist[]='4050878047429'; $eanlist[]='4050878145514'; */ $sp_specsets = load_config('sp-specific-settings'); use_class('products_ean'); use_class('products_minierp'); use_class('jng_sp_orders'); $class_pe = new products_ean(); $class_pm = new products_minierp(); $class_jo = new jng_sp_orders(); $ean_pid = array(); $orders = array(); $products = array(); foreach ($eanlist as $ean) { $p_info = $class_pe->getProductArticle($ean); $pid = $p_info['products_id']; $ean_pid[$ean] = $pid; if (!isset($products[$pid])) { $pdata = $class_pm->retrieveDetail($pid, 'sp'); $products[$pid] = $pdata['sp']['5']; } } $ean_detail_info = $class_jo->getAMVD_AutoCancelSupportingData($ean_pid); echo "<table id='ean_table' border='1'>";
<?php global $db; require_once '../confy.php'; require_once '../functions.php'; require_once '../functions-2.php'; require_once DIR_WS_FUNCTIONS . 'html_output.php'; tep_db_connect(); use_class('jng_sp_catalog_params'); use_class('products_minierp'); $class_jcp = new jng_sp_catalog_params(); $class_pm = new products_minierp(); set_time_limit(0); /* CASE 1 $el_used = '1291'; $el_added = '4495'; $query = "SELECT * FROM products_use_elements WHERE products_id IN (SELECT products_id FROM products_use_elements WHERE elements_id = '$el_used' ORDER BY products_id)"; $dbq = tep_db_query($query); $products = array(); while($r = tep_db_fetch_array($dbq)) { $products[$r['products_id']]['elements'][] = $r['elements_id']; $products[$r['products_id']][$r['elements_id']]['qty'] = $r['quantity']; } foreach ($products as $products_id=>$elements){ // echo"<pre>";var_dump($elements['elements']);die(); if(!in_array($el_added, $elements['elements'])){ $qty_added = $elements[$el_used]['qty']; $pue_sda = array('products_id'=>$products_id, 'elements_id'=>$el_added, 'quantity'=>$qty_added); tep_db_perform('products_use_elements', $pue_sda);
*/ set_time_limit(0); global $db; require_once '../confy.php'; require_once '../functions.php'; require_once '../functions-2.php'; tep_db_connect(); use_class('logger'); $logger = new logger('cron', 'depot-refill'); //$logger->write('SIMULATION'); //Include Required Classes (and create object when necessary) use_class('Product'); use_class('products_minierp'); use_class('depot_orders'); use_class('styles'); $class_pm = new products_minierp(); $class_do = new depot_orders(); $class_s = new styles(); $whid = WAREHOUSE_ID_FOR_HANDLING_ORDERS; $segment_id = SEGMENT_ID_DEFAULT; //Grab all data that can be retrieved collectively for the whole products //stock from below function already exclude active booking $products_stock = $class_pm->stockRetrieveAll($whid, '', true); //Grab all required Settings Product::loadDIOHsettings(); //For now we can not run auto cancel in Manobo Local due to the //sync issues of Depot Orders with Manobo Central if (!SERVER_IS_LOCAL) { //query all auto refill orders currently open //and can still be canceled(grouped by article) $logger->write('1) AUTO CANCEL');
global $db; require_once '../confy.php'; require_once '../functions.php'; require_once '../functions-2.php'; require_once DIR_WS_FUNCTIONS . 'html_output.php'; tep_db_connect(); $eao = 2; //element adjust order use_class('design'); use_class('elements_preorder'); use_class('elements_order'); use_class('elements_stock'); use_class('products_articles'); use_class('products_minierp'); $class_es = new elements_stock(); $class_pm = new products_minierp(); $class_pa = new products_articles(); $ean_eu_collection = array(); $max_el_per_article = 0; $use_elements = array(); $class_d = new design($_GET['d']); $products = $class_d->retrieveProducts(); foreach ($products as $p) { $query_products_categories = "SELECT * FROM products_to_categories ptc WHERE products_id={$p['products_id']}"; $tpdbq_products_categories = tep_db_query($query_products_categories); $products_categories = tep_db_fetch_array($tpdbq_products_categories); // find what use element in this product $ean_eu_collection[$p['products_id'] . '-0'] = ''; $tpdbq_products_use_elements = $class_pm->retrieveElementsUsage($p[products_id]); foreach ($tpdbq_products_use_elements as $row_pue) { $use_elements[] = array('elements_id' => $row_pue['elements_id'], 'quantity' => (int) $row_pue['quantity'] * $eao);
$logpart = tep_db_prepare_input($_POST['lpart']); $ldate = explode('.', tep_db_prepare_input($_POST['ldate'])); $logistic_date = date('Y-m-d', strtotime($ldate[2] . '-' . $ldate[1] . '-' . $ldate[0])); $logistic_code = strtolower($logpart) == 'dhl' ? 'DHL' . date('ymd', strtotime($logistic_date)) : tep_db_prepare_input($_POST['lcode']); $logistic_weight = tep_db_prepare_input($_POST['lweight']); $logistic_price = tep_db_prepare_input($_POST['lprice']); $currency = tep_db_prepare_input($_POST['currency']); $currency_value = calculateCurrency(1, $currency); $awb_no = tep_db_prepare_input($_POST['awb_no']); $cogs_purchase_price_multiplier = $bgst['cogs_purchase_price_multiplier']; $use_cogs = $logistic_id > $last_logistic_id_without_cogs ? 1 : 0; $logistic_id = $class_ml->createUpdate($logistic_id, $logistic_date, $logistic_code, $logistic_weight, $logistic_price, $currency, $currency_value, $awb_no, $cogs_purchase_price_multiplier, $use_cogs); echo utf8_encode($logistic_id); } elseif ($_POST['me_action'] == 'ADDPACKAGE') { use_class('products_minierp'); $class_pm = new products_minierp(); $bgst = $class_pm->retrieveBestGoodSettings(); $logistic_id = tep_db_prepare_input($_POST['logistic_id']); $logistic_partner = tep_db_prepare_input($_POST['logistic_partner']); $package_type = tep_db_prepare_input($_POST['package_type']); $package_id = tep_db_prepare_input($_POST['package_id']); $class_ml->addPackage($logistic_id, $package_type, $package_id, $logistic_partner); } elseif ($_POST['me_action'] == 'REMOVEPACKAGE') { $logistic_id = tep_db_prepare_input($_POST['logistic_id']); $logistic_partner = tep_db_prepare_input($_POST['logistic_partner']); $package_type = tep_db_prepare_input($_POST['package_type']); $package_id = tep_db_prepare_input($_POST['package_id']); $class_ml->removePackage($logistic_id, $package_type, $package_id, $logistic_partner); } elseif ($_POST['me_action'] == 'SAVEDATA') { $logistic_id = tep_db_prepare_input($_POST['logistic_id']); $data = array();
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ /** * Description of temp-updates-desc2-clasp * * @author IT TEAM BONOFACTUM * @created Apr 16, 2014 5:51:39 PM */ global $db; require_once '../confy.php'; require_once '../functions.php'; require_once '../functions-2.php'; tep_db_connect(); use_class('products_minierp'); $class_pm = new products_minierp(); $query = 'SELECT DISTINCT p.products_id FROM products p'; $query .= ' INNER JOIN products_to_categories ptc ON ptc.products_id = p.products_id'; $query .= ' INNER JOIN products_description2 pd2 ON pd2.products_id = p.products_id'; $query .= ' INNER JOIN products_use_elements pue ON pue.products_id = p.products_id'; $query .= ' WHERE pd2.clasp_type = "0" AND ptc.categories_id = "2" AND p.active_status = "1" AND pue.elements_id IN (2615,4365,5597,650,675,3183,5559,1149,7101,1239,1240,652,653,732,1146)'; $result = tep_db_query($query); if (tep_db_num_rows($result) > 0) { while ($row = tep_db_fetch_array($result)) { $class_pm->setProductDescription2($row['products_id'], 'c'); echo "{$row['products_id']} OK <br>"; } echo "DONE"; }
$articles_id = $i['products_id'].'-'.$i['products_articles_id']; if(!isset($items_array[$articles_id])) { $desc = $class_pm->retrieveCategoryName($i['categories_id'], '1'); $items_array[$articles_id]['desc'] = $desc; $items_array[$articles_id]['code'] = $i['products_model']; $items_array[$articles_id]['pri'] = 0; $items_array[$articles_id]['qty'] = 0; } $items_array[$articles_id]['qty'] += $i['products_quantity']; $items_array[$articles_id]['pri'] += $i['products_quantity'] * (calculateCurrency($i['material_expenses'], 'USD')/4); } */ use_class("sendback"); use_class("products_minierp"); $class_sendback = new sendback(); $class_pm = new products_minierp(); $items = $class_sendback->retrieveList('16'); $items_array = array(); foreach ($items as $i) { $articles_id = $i['products_id'] . '-' . $i['products_articles_id']; if (!isset($items_array[$articles_id])) { $desc = $class_pm->retrieveCategoryName($i['categories_id'], '1'); $items_array[$articles_id]['desc'] = $desc; $items_array[$articles_id]['code'] = $i['products_model']; $items_array[$articles_id]['pri'] = 0; $items_array[$articles_id]['qty'] = 0; } $qty = $i['type'] == 'R' ? $i['quantity_stock'] : $i['quantity_actual']; $items_array[$articles_id]['qty'] += $qty; $items_array[$articles_id]['pri'] += $qty * (calculateCurrency($i['material_expenses'], 'USD') / 4); }
<?php use_class('jng_sp'); $class_sp = new jng_sp(); use_class('jng_sp_catalog'); $class_jc = new jng_sp_catalog(); use_class('products_minierp'); $class_pm = new products_minierp(); use_class('products_brand'); $class_pb = new products_brand(); use_class('products_articles'); $class_pa = new products_articles(); //SP SETTING salesPartnerCombo(); $url_link_path = "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; if (isset($_GET['id'])) { $product_id = tep_db_prepare_input($_GET['id']); } elseif (isset($_POST['product_id'])) { $product_id = tep_db_prepare_input($_POST['product_id']); } //SUBMIT ACTION if (isset($_POST['me_action'])) { if ($_POST['me_action'] == 'ADDTOCATALOGUE') { $suppliers_products_id = tep_db_prepare_input($_POST['suppliers_products_id']); //sp_addProductToCatalog($jng_sp_id, $product_id, $suppliers_products_id); $class_jc->addProduct($jng_sp_id, $product_id, $suppliers_products_id); header("Location: ?open=sp-product&id={$product_id}"); exit; } elseif ($_POST['me_action'] == 'UPDATECATALOG') { $field_id = null; $catalog_id = tep_db_prepare_input($_POST['jng_sp_catalog_id']);
/** * This module will replace 2 previous modules: * - products-stock-update.php * - bin-info.php * * @author IT TEAM BONOFACTUM * @created Apr 12, 2013 6:20:18 PM */ use_class('products_minierp'); use_class('products_articles'); use_class('products_ean'); use_class("bins"); use_class("stock_booking"); $class_bin = new bins(); $class_pm = new products_minierp(); $class_pa = new products_articles(); $class_ean = new products_ean(); //GET PAGE & WAREHOUSE OPTIONS warehouseFGCombo(); $psid = null; $bin_id = null; $pid = null; $aid = null; $history_options = array(); $history_options[0] = '2 Weeks'; $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';
<?php use_class('products_minierp'); $class_pm = new products_minierp(); $bgst = $class_pm->retrieveBestGoodSettings(); $pi_settings = load_config('production-instruction-settings'); $sp_using_red_paper = explode(',', $pi_settings['red-paper-sp-id']); $brand_using_red_paper = explode(',', $pi_settings['red-paper-brand-id']); if (isset($_POST['me_action'])) { if ($_POST['me_action'] == 'SAVESETTINGS') { $type = tep_db_prepare_input($_POST['type']); $value = tep_db_prepare_input($_POST['value']); $value = str_replace(',', '.', $value); $result = array(); if (stripos($type, 'set-pi-red-sp-') !== false) { $tmp = explode('-', $type); $sp_id = end($tmp); $is_added = $value == 1; if ($is_added && !in_array($sp_id, $sp_using_red_paper)) { $sp_using_red_paper[] = $sp_id; sort($sp_using_red_paper); $pi_settings['red-paper-sp-id'] = implode(',', $sp_using_red_paper); save_config('production-instruction-settings', $pi_settings); } elseif (!$is_added && in_array($sp_id, $sp_using_red_paper)) { $key = array_search($sp_id, $sp_using_red_paper); unset($sp_using_red_paper[$key]); sort($sp_using_red_paper); $pi_settings['red-paper-sp-id'] = implode(',', $sp_using_red_paper); save_config('production-instruction-settings', $pi_settings); } $value = $sp_id;
<?php ######################################### # Author : D3W4 & SAHAT # # Created : Mar 10, 2011 3:40:53 PM # ######################################### use_class('elements_search'); use_class('products_minierp'); use_class('element'); $class_es = new elements_search(); $class_pm = new products_minierp(); $products_id = tep_db_prepare_input($_GET['pid']); $is_accessed_from_design_mgmt = strpos($_SERVER['HTTP_REFERER'], 'designs-products-elements-used') !== false ? true : false; if (isset($_POST['me_action'])) { $class_es->postProcess($_POST); if ($_POST['me_action'] == 'ELEMENTSUSEDADD') { $pid = tep_db_prepare_input($_POST['pid']); $elid = tep_db_prepare_input($_POST['elid']); $elqty = tep_db_prepare_input($_POST['elqty']); $el_added = $class_pm->addElementToProducts($pid, $elid, $elqty); $result = array(); $result['eladded'] = $el_added; ajaxReturn($result); exit; } elseif ($_POST['me_action'] == 'ELEMENTSUSEDADDDIRECT') { $pid = tep_db_prepare_input($_POST['pid']); $elid = tep_db_prepare_input($_POST['elid']); $elqty = tep_db_prepare_input($_POST['elqty']); $el_added = $class_pm->addElementToProducts($pid, $elid, $elqty); $result = array(); $result['eladded'] = $el_added;
<?php global $db; require_once '../confy.php'; require_once '../functions.php'; require_once '../functions-2.php'; tep_db_connect(); use_class('products_minierp'); $class_pm = new products_minierp(); use_class('elements_stock'); $class_es = new elements_stock(); use_class('minierp_stock'); $class_ms = new minierp_stock(); $period = date('Ym'); //PRODUCTS $total_products = array(); foreach ($class_ms->whid_by_status as $status => $jng_warehouses_id) { if ($status != '20') { if (!isset($total_products[$jng_warehouses_id])) { $total_products[$jng_warehouses_id] = array(); } //JNG $q = tep_db_query("SELECT products_id, products_articles_id, products_quantity FROM orders_products WHERE status={$status}"); while ($row = tep_db_fetch_array($q)) { $products_id = $row['products_id']; $articles_id = $row['products_articles_id']; if (!isset($total_products[$jng_warehouses_id][$products_id])) { $total_products[$jng_warehouses_id][$products_id] = array(); } if (!isset($total_products[$jng_warehouses_id][$products_id][$articles_id])) { $total_products[$jng_warehouses_id][$products_id][$articles_id] = 0;
/** * Set flag tb_status as need reupload to tradebyte (3) * @param int or array $products_id */ function setTradebyteNeedReupload($products_id) { use_class('products_minierp'); $class_pm = new products_minierp(); $class_pm->setTBStatus($products_id, 3, "tb_status = 1"); }
/** * get products based on filter (family, main element, symbol, color, and brand) * @param Int $product_id Products ID * @return Array Array of products ID */ function getProductsCrossSelling($product_id) { use_class('products_brand'); use_class('styles_php4'); use_class('products_minierp'); use_class('products_family_php4'); $class_s = new styles(); $class_pb = new products_brand(); $class_pm = new products_minierp(); $max_products = 50; $max_products_by_family = 20; $max_products_by_main_element = 10; $max_products_by_symbol = 30; // $max_products_by_color = 5; // $max_products_by_brand = 5; $max_products_by_category = 40; $pids = array(); $p_data = $class_pm->retrieveDetail($product_id, 'p,cat'); //FAMILY $family_id = $p_data['p']['family_id']; $obj_family = new products_family(null, $product_id); $pid_family = $obj_family->retrieveMembers(); $pid_family_exclude_kill_prod = $class_pm->filterExcludeKilledProducts($pid_family); $pid_similar = $obj_family->getSimilarProducts($product_id, false, false); $pids = array_merge($pid_family_exclude_kill_prod, $pid_similar); $key = array_search($product_id, $pids); unset($pids[$key]); $pids = array_slice($pids, 0, 20); //MAIN ELEMENT $pid_family_filter = implode(",", $pids); if ($pid_family_filter == '') { if ($p_data['p']['products_brand_id'] == 14) { $pid_family_filters = "AND pue.products_id NOT IN ({$product_id}) AND p.products_brand_id = 14 "; } else { $pid_family_filters = "AND pue.products_id NOT IN ({$product_id})"; } } else { if ($p_data['p']['products_brand_id'] == 14) { $pid_family_filters = "AND pue.products_id NOT IN ({$pid_family_filter}, {$product_id}) AND p.products_brand_id = 14 "; } else { $pid_family_filters = "AND pue.products_id NOT IN ({$pid_family_filter}, {$product_id})"; } } $main_element_id = $class_pm->getMainElement($product_id); if ($main_element_id != NULL) { $pid_main_element = $class_pm->getProductsByMainElement($main_element_id, false, $pid_family_filters, "ORDER BY pl.sold_monthly_3 DESC LIMIT {$max_products_by_main_element}"); $pids = array_merge($pids, $pid_main_element); } //SYMBOL $symbol_id = $class_s->getProductStyle($product_id); $pid_main_element_filter = implode(",", $pids); if ($pid_main_element_filter == '') { if ($p_data['p']['products_brand_id'] == 14) { $pid_main_element_filters = "AND shp.products_id NOT IN ({$product_id}) AND p.products_brand_id = 14 "; } else { $pid_main_element_filters = "AND shp.products_id NOT IN ({$product_id})"; } } else { if ($p_data['p']['products_brand_id'] == 14) { $pid_main_element_filters = "AND shp.products_id NOT IN ({$pid_main_element_filter}, {$product_id}) AND p.products_brand_id = 14 "; } else { $pid_main_element_filters = "AND shp.products_id NOT IN ({$pid_main_element_filter}, {$product_id})"; } } if ($symbol_id['Symbol'] != '') { $pid_symbol = array_keys($class_s->retrieveProducts($symbol_id['Symbol'], false, $pid_main_element_filters, "ORDER BY pl.sold_monthly_3 DESC LIMIT {$max_products_by_symbol}")); $pids = array_merge($pids, $pid_symbol); } //COLOR // $color_id = $class_pm->loadColorPattern($product_id); // if ($color_id) { // $pids_symbol_filter = implode(",", $pids); // if ($pids_symbol_filter == '') { // $pid_symbol_filters = "AND ptcp.products_id NOT IN ($product_id)"; // } else { // $pid_symbol_filters = "AND ptcp.products_id NOT IN ($pids_symbol_filter, $product_id)"; // } // $pid_color = $class_pm->getProductsByColor( // $color_id[0], // false, // $pid_symbol_filters, // "ORDER BY pl.sold_monthly_3 DESC LIMIT $max_products_by_color"); // $pids = array_merge($pids, $pid_color); // } //BRAND // $brand_id = $p_data['p']['products_brand_id']; // if ($brand_id) { // $pids_color_filter = implode(",", $pids); // if ($pids_color_filter == '') { // $pid_color_filters = "AND p.products_id NOT IN ($product_id)"; // } else { // $pid_color_filters = "AND p.products_id NOT IN ($pids_color_filter, $product_id)"; // } // $pid_brand = $class_pb->getProducts( // $brand_id, // false, // $pid_color_filters, // "ORDER BY pl.sold_monthly_3 DESC LIMIT $max_products_by_brand"); // $pids = array_merge($pids, $pid_brand); // } //CATEGORY $cat_id = $p_data['categories_id']; $pids_color_filter = implode(",", $pids); if ($pids_color_filter == '') { if ($p_data['p']['products_brand_id'] == 14) { $pid_color_filters = "AND p.products_id NOT IN ({$product_id}) AND p.products_brand_id = 14 "; } else { $pid_color_filters = "AND p.products_id NOT IN ({$product_id})"; } } else { if ($p_data['p']['products_brand_id'] == 14) { $pid_color_filters = "AND p.products_id NOT IN ({$pids_color_filter}, {$product_id}) AND p.products_brand_id = 14 "; } else { $pid_color_filters = "AND p.products_id NOT IN ({$pids_color_filter}, {$product_id})"; } } $pid_cat = $class_pm->getProductsByCategory($cat_id, false, $pid_color_filters, "ORDER BY pl.sold_monthly_3 DESC LIMIT {$max_products_by_category}"); $pids = array_merge($pids, $pid_cat); //LIMIT ALL PRODUCTS BY 50 $pids = array_slice($pids, 0, $max_products); $pids_implode = implode(",", $pids); if ($p_data['p']['products_brand_id'] == 14) { $pids = $class_pb->getProducts($p_data['p']['products_brand_id'], false, "AND p.products_id IN ({$pids_implode})", "ORDER BY pl.sold_monthly_3 DESC LIMIT {$max_products}"); } return $pids; }