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);
             }
         }
     }
 }
예제 #2
0
 /**
  * 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&amp;products_id=' . $_POST['products_id'] . '&amp;hidemenu=true&amp;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 . ');
예제 #4
0
<?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 
예제 #5
0
         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']}");
예제 #6
0
<?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
예제 #8
0
     $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";
예제 #13
0
 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'];
예제 #15
0
    }
}
$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;
예제 #17
0
$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);
예제 #19
0
 */
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";
}
예제 #23
0
    $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);
}
예제 #24
0
<?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;
예제 #29
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;
 }