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&amp;id=' . $elements_id . '&amp;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'] != '' ? ' &sdot; ' . $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".' &asymp; '."$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>&asymp;</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>&asymp;</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>&asymp;</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>&asymp;</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 . ' &nbsp; ';
        $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) . ' &nbsp; ';
        $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 . ' &nbsp; ';
        $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 &nbsp;';
        $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':
Exemple #3
0
 public function retreiveNeededInSourcingQuantity()
 {
     use_class('elements_preorder');
     return elements_preorder::totalNeededForSourcingTab($this->id);
 }