//$result .= $result2.$result3.$resultCloser; //$result .= $result2; $result .= '</div>'; //#kpi-sourcing-content $result .= '<div style="clear:both;"> </div>'; } elseif ($_GET['week-sum'] == 'KPI-PROD') { $class_pm = new products_minierp(); $kpi_prod_config = load_config('kpi-settings'); $bgst = $class_pm->retrieveBestGoodSettings(); $atmu = $bgst['antitarnishmaxusage']; $atmul = $bgst['antitarnishmaxusageliters']; $daily_capacity = '2x Daily Capacity'; //we no longer use backlog limit settings //$backlog_limit = 'Min Backlog to Skip Refill'; $antitarnish_usage = 'Max Antitarnish Liquid Usage'; $backlog = queryCurrentBacklog($kpi_prod_config['kpi-production-daily-capacity']); $refresh_kpi_tables = tep_db_prepare_input($_POST['refresh_kt']); if (isset($_POST['seldate'])) { $seldate = tep_db_prepare_input($_POST['seldate']); $seldate_ts = strtotime($seldate); $seldate_ts_start = $seldate_ts - 7 * 86400; $filterdate_start = date('Y-m-d', $seldate_ts_start); $filterdate_end = date('Y-m-d', $seldate_ts); } else { $filterdate_start = date('Y-m-d', strtotime('-7 days')); $filterdate_end = date('Y-m-d'); } $update_ss_log = isset($_POST['update_ss_log']) ? tep_db_prepare_input($_POST['update_ss_log']) : ''; $update_ss_val = isset($_POST['update_ss_val']) ? tep_db_prepare_input($_POST['update_ss_val']) : ''; if ($update_ss_log != '' && $update_ss_val >= 0) { tep_db_perform('production_target', array($update_ss_log => $update_ss_val), 'update', "date_id = '{$seldate}'");
function expectedShippingDateFromHH($lowest_status, $lowest_status_date, $depot_print_confirmed = false) { $final_date_format = 'd.m.Y'; $final_date_prefix = 'Expected Shipment Date from HH is on'; $final_date_suffix = ''; $ISTODAY = false; $ISTOMORROW = false; $DATE_START_DAY = date('N', $lowest_status_date); $DATE_TODAY = date($final_date_format); $DATE_TOMORROW = date($final_date_format, strtotime("+1 day")); $status_add_backlog = array('2', '3', '4'); //orders in this status will be added with production backlog calculation $days_to_add_config = array('1' => -1, '2' => 8, '3' => 5, '4' => 4, '5' => 3, '6' => 3, '7' => 2, '8' => 0, '9' => -1, '10' => -1, '11' => -1, '12' => -1); $days_to_add = $days_to_add_config[$lowest_status]; if ($days_to_add < 0) { $class = 'notice'; $result = 'N/A'; } else { $class = ''; //Backlog Adjustment if (in_array($lowest_status, $status_add_backlog)) { $days_to_add += queryCurrentBacklog(); } //Weekend Adjustment (2 days = saturday, sunday) if ($days_to_add > 5) { $days_to_add += floor($days_to_add / 5) * 2; } else { if ($DATE_START_DAY == 7) { $days_to_add += 1; } elseif ($DATE_START_DAY + $days_to_add > 5) { $days_to_add += 2; } } $result_ts = strtotime(date('Y-m-d H:i:s', $lowest_status_date) . " +{$days_to_add} days"); $dayfall = date('N', $result_ts); if ($dayfall == 6 || $dayfall == 7) { //if still fall on saturday (6), add 2 days //if still fall on sunday (7), add 1 day $dayfall_add = $dayfall == 6 ? 2 : 1; $result_ts = strtotime(date('Y-m-d H:i:s', $result_ts) . " +{$dayfall_add} days"); } if ($result_ts < time()) { $final_date_prefix = '!!! Order should have been sent on'; $final_date_suffix = ' ⋅ <span class="notice">Please check late reason with related Team based on latest status!</span>'; $class = 'red'; } $result = date($final_date_format, $result_ts); if ($result == $DATE_TODAY) { $ISTODAY = true; } elseif ($result == $DATE_TOMORROW) { $ISTOMORROW = true; } } if ($ISTODAY || $ISTOMORROW) { $final_date_prefix = 'Expected Shipment Date from HH is'; $final_date_suffix = ''; $class = ''; $result = date('G') >= 14 && !$depot_print_confirmed || $ISTOMORROW ? 'Tomorrow (' . $DATE_TOMORROW . ')' : 'Today (' . $DATE_TODAY . ')'; } if ($class != '') { $class = ' class="' . $class . '"'; } return '<span' . $class . '>' . $final_date_prefix . ' ' . $result . '</span>' . $final_date_suffix; }
use_class('orders'); use_class('jng_sp_orders'); $class_o = new orders(); $class_jo = new jng_sp_orders(); $default_late_days = 2; $late_days = array(); $late_days[1] = $default_late_days + 2; $late_days[2] = $default_late_days + 1; $late_days[3] = $default_late_days; $late_days[4] = $default_late_days; $late_days[5] = $default_late_days; $sp_tograb = array('2' => 'Otto'); $sp_idlist = implode(',', array_keys($sp_tograb)); $late_days_used = $late_days[$today_day]; $order_status_limit = date('Y-m-d', strtotime("-{$late_days_used} days")); $backlog = queryCurrentBacklog(); $q = "("; $q .= "SELECT 'JG' AS type, 0 AS jng_sp_id, o.orders_id, o.date_purchased AS order_date, o.customers_name, o.customers_email_address AS customers_email"; $q .= ", op.orders_products_id AS items_id, op.order_item_count, IFNULL(do.status, op.status) AS status, MAX(IFNULL(dosh.update_time, opsh.status_date)) AS status_date, op.products_model AS product_id, op.products_name AS product_name"; $q .= " FROM orders o"; $q .= " INNER JOIN orders_products op ON op.orders_id=o.orders_id AND (op.status IN (2,3,4) OR (op.status=8 AND op.stock_status!='D')) AND op.products_name NOT LIKE '%\"%'"; $q .= " LEFT JOIN orders_products_delay_notification opdn ON opdn.orders_products_id=op.orders_products_id"; $q .= " LEFT JOIN orders_products_status_history opsh ON opsh.orders_products_id=op.orders_products_id AND opsh.status=op.status"; $q .= " LEFT JOIN depot_orders do ON do.trans_type='JG' AND do.trans_id=op.orders_products_id AND op.status=8 AND do.status IN (2,3,4)"; $q .= " LEFT JOIN depot_orders_status_history dosh ON dosh.depot_orders_id=do.depot_orders_id AND dosh.status=do.status"; $q .= " WHERE opdn.orders_products_id IS NULL"; $q .= " AND (op.status IN (2,3,4) OR (op.status=8 AND do.depot_orders_id IS NOT NULL))"; $q .= " AND IF(op.status=8, DATE(dosh.update_time)<=DATE('{$order_status_limit}'), DATE(opsh.status_date)<=DATE('{$order_status_limit}'))"; $q .= " GROUP BY op.orders_products_id"; $q .= " ORDER BY o.orders_id, op.order_item_count"; $q .= ") UNION (";