function getElementStock($jng_warehouses_id, $elements_id) { global $history_options, $history_options_2, $reduce_reason; $element_query = "SELECT es.qty_type, pieces_per_qty_type, es.stock"; $element_query .= ", e.elements_id, e.elements_image AS image, e.elements_name AS name, e.stars, e.elements_description"; $element_query .= " FROM element e"; // $element_query .= " LEFT JOIN elements_description ed ON ed.elements_id=e.elements_id AND ed.languages_id=1"; $element_query .= " LEFT JOIN elements_stock es ON es.elements_id=e.elements_id AND es.jng_warehouses_id={$jng_warehouses_id}"; $msg_filter_type = 'ID'; $element_query .= " WHERE e.elements_id='{$elements_id}'"; $element_result = tep_db_query($element_query); if (tep_db_num_rows($element_result) > 0) { $element = tep_db_fetch_array($element_result); if ($element['qty_type'] == '') { $defstock_query = "SELECT price_quantity_type, pieces_per_qty_type FROM elements_to_elements_suppliers"; $defstock_query .= " WHERE elements_id={$element['elements_id']} AND is_default='1'"; $defstock_result = tep_db_query($defstock_query); $defstock = tep_db_fetch_array($defstock_result); $element_qty_type = $defstock['price_quantity_type']; $element_ppqt = $defstock['pieces_per_qty_type']; } else { $element_qty_type = $element['qty_type']; $element_ppqt = $element['pieces_per_qty_type']; } $qty_unit = 'qty'; if ($element_qty_type == 'meter') { $qty_unit = 'cm'; } //if($element_qty_type=='bottle') $qty_unit = 'gr'; $eqto = array(); //HIDE option to update by unit, must use qty //$eqto['unit'] = $element_qty_type; //if($eqto['unit']!='pieces') $eqto['qty'] = $qty_unit; $eqto['qty'] = $qty_unit; $element_qty_type_options = '<select name="eqt">'; $element_qty_type_options .= loadComboListFromArray($eqto, null, null, false); $element_qty_type_options .= '</select>'; if ($element_ppqt == 0) { $element_ppqt = 1; global $messagebox; $messagebox->add('<strong>Qty/Unit</strong> for default supplier is unset, please <a href="?open=elements-suppliers&id=' . $elements_id . '&hidemenu=true" class="view_webpage">click here to update</a>.'); } $element_stock = $element['stock'] == '' ? '0' : round($element['stock'] / $element_ppqt, 2); $result = ''; if ($messagebox->counter > 0) { $result .= $messagebox->build(); } $stock_booked = elements_minierp::elementsBookedCount($jng_warehouses_id, $elements_id); $stock_booked_unit = round($stock_booked / $element_ppqt, 2); $stock_total = $element['stock'] + $stock_booked; $stock_total_unit = $element_stock + $stock_booked_unit; $orders_in_sourcing = elements_preorder::totalNeededForSourcingTab($elements_id); $orders_in_sourcing_unit = round($orders_in_sourcing / $element_ppqt, 2); $elname = 'Element ' . $element['elements_id'] . ($element['elements_description'] != '' ? ' ⋅ ' . $element['elements_description'] : ''); $result .= '<h2>' . $elname . '</h2>'; $result .= '<div style="float:left;">' . webImageWithDetailLinkStars($element['image'], IMAGE_SIZE_THUMBNAIL_2, IMAGE_SIZE_THUMBNAIL_2, "Element {$element['elements_id']}", 'img-border img-padding', 'Click to view larger image', IMAGE_SIZE_BIG_1, IMAGE_SIZE_BIG_1, $element['stars']) . '</div>'; $result .= '<div class="form" style="margin-left:170px;">'; //$result .= '<form name="element-stock-update" action="?open=elements-stock-update" method="post">'; //$result .= '<input type="hidden" name="me_action" value="UPDATEELEMENTSTOCK" />'; $result .= '<input type="hidden" id="elements_id" name="elements_id" value="' . $element['elements_id'] . '" />'; $result .= '<input type="hidden" id="jng_warehouses_id" name="jng_warehouses_id" value="' . $jng_warehouses_id . '" />'; $result .= '<input type="hidden" id="stock" value="' . $element_stock . '" />'; $result .= '<input type="hidden" id="qty_type" value="' . $element_qty_type . '" />'; $result .= '<input type="hidden" id="qty_unit" value="' . $qty_unit . '" />'; $result .= '<input type="hidden" id="pieces_per_qty_type" value="' . $element_ppqt . '" />'; $result .= '<table border="0" cellpadding="0" cellspacing="0">'; //$result .= '<tr><td>Pieces per Unit Type</td><td><input type="text" readonly="readonly" class="disabled" value="'.$ppqt_text.'" /></td></tr>'; $result .= '<tr><td>Pieces per Unit Type</td><td><input type="text" value="' . "1 {$element_qty_type}" . '" class="esi readonly" /></td><td class="notice">=</td><td><input type="text" value="' . "{$element_ppqt} {$qty_unit}" . '" class="esi readonly" /></td></tr>'; //$result .= '<tr><td width="150">Stock Available</td><td><input type="text" readonly="readonly" class="disabled" value="'."$element_stock $element_qty_type".' ≈ '."$element[stock] $qty_unit".'" /></td></tr>'; $result .= '<tr><td>Stock Total</td><td><input type="text" value="' . "{$stock_total_unit} {$element_qty_type}" . '" class="esi" style="color:#000;" /></td><td>≈</td><td><input type="text" value="' . "{$stock_total} {$qty_unit}" . '" class="esi" style="color:#000;" /></td></tr>'; $result .= '<tr><td>Stock Booked</td><td><input type="text" value="' . "{$stock_booked_unit} {$element_qty_type}" . '" class="esi" style="color:#000;" /></td><td>≈</td><td><input type="text" value="' . "{$stock_booked} {$qty_unit}" . '" class="esi" style="color:#000;" /></td></tr>'; $result .= '<tr><td width="150" class="bold">Stock Available</td><td><input id="cs-unit" type="text" value="' . "{$element_stock} {$element_qty_type}" . '" class="esi bold" style="color:#000;" /></td><td>≈</td><td><input id="cs-qty" type="text" value="' . "{$element['stock']} {$qty_unit}" . '" class="esi bold" style="color:#000;" /></td></tr>'; $result .= '<tr><td width="150" class="notice">Orders in Sourcing Tab</td><td><input type="text" value="' . "{$orders_in_sourcing_unit} {$element_qty_type}" . '" class="esi" /></td><td>≈</td><td><input type="text" value="' . "{$orders_in_sourcing} {$qty_unit}" . '" class="esi" /></td></tr>'; $result .= '<tr><td colspan="4">'; $result .= '<div id="stock-buttons">'; $result .= '<input type="button" id="stock-add" value="Add" class="button" />'; $result .= '<input type="button" id="stock-adj" value="Adjust" class="button" />'; $result .= '<input type="button" id="stock-red" value="Reduce" class="red button" />'; $result .= '</div>'; $result .= '<div id="stock-forms" style="margin-top:10px;">'; $result .= '<div id="form-add" class="float-box ui-corner-all" style="display:none;">'; $result .= '<input type="text" id="stock-add-value" value="" style="width:50px" />'; $result .= ' ' . $element_qty_type_options . ' '; $result .= ' <input type="button" value="Add" class="action-btn" id="action-add" />'; $result .= ' <input type="button" name="cancel" value="Cancel" />'; $result .= '</div>'; $result .= '<div id="form-adj" class="float-box ui-corner-all" style="display:none;">'; $result .= '<input type="text" id="stock-adj-value" value="' . $element_stock . '" style="width:50px" />'; $result .= ' ' . str_replace('<select', '<select id="eqt-adj"', $element_qty_type_options) . ' '; $result .= ' <input type="button" value="Update" class="action-btn" id="action-adj" />'; $result .= ' <input type="button" name="cancel" value="Cancel" />'; $result .= '</div>'; $result .= '<div id="form-red" class="float-box ui-corner-all" style="display:none;">'; $result .= '<strong>Reduce Reason</strong><br /><select id="reduce_reason" class="input">' . loadComboListFromArray($reduce_reason) . '</select><br /><br />'; $result .= '<input type="text" id="stock-red-value" value="" style="width:50px" />'; $result .= ' ' . $element_qty_type_options . ' '; $result .= ' <input type="button" value="Reduce" class="red action-btn" id="action-red" />'; $result .= ' <input type="button" name="cancel" value="Cancel" />'; $result .= '</div>'; $result .= '</div>'; $result .= '</td></tr>'; $result .= '</table>'; //$result .= '</form>'; $result .= '</div>'; $result .= '<h2 style="margin:20px 0;">Show Historical data for '; $result .= '<select id="euhperiod">' . loadComboListFromArray($history_options, null, null, false) . '</select>'; $result .= '<select id="euhdaisum">' . loadComboListFromArray($history_options_2, null, null, false) . '</select>'; $result .= '</h2>'; $result .= '<div id="euhdata">'; $result .= getElementStockHistory($jng_warehouses_id, $elements_id, 0, 0, $element['stock']); $result .= '</div>'; } else { $result = '<span class="red">Can not find Element ' . $msg_filter_type . ' <strong>' . $elements_id . '</strong> in database.</red>'; } return $result; }
$elements_counter = 0; $total_value = 0; $total_missing = 0; while ($r = tep_db_fetch_array($dbq)) { $include = false; $elid = $r['elements_id']; $current_stock = $r['stock_actual']; $qty_ordered = elements_order::openOrdersQuantity($elid); $qty_requested = elements_preorder::openOrdersQuantity($elid); $e = new element($elid); $dioh = $e->getDIOH($current_stock); $dioh2 = $e->getDIOH($current_stock + $qty_ordered); $dioh_text = $e->displayDIOH($current_stock); $dioh2_text = $e->displayDIOH($current_stock + $qty_ordered); $target_stock = $e->getDIOHstockTarget(); $orders_in_sourcing = elements_preorder::totalNeededForSourcingTab($elid); $missing = $target_stock + $orders_in_sourcing - ($current_stock + $qty_ordered); if ($missing < 0) { $missing = 0; } $refill = $e->calcRefillQuantity($current_stock, $qty_ordered, 1); if (!$need_php_filtered) { $include = true; } else { switch ($filter_refill) { case 'ON': if ($refill > 0) { $include = true; } break; case 'OFF':
public function retreiveNeededInSourcingQuantity() { use_class('elements_preorder'); return elements_preorder::totalNeededForSourcingTab($this->id); }