elements_preorder::clearAllExistingOpenedSuggestion(); $logger->write('Existing Opened Suggestion is cleared!'); elements_preorder::clearPreordersTemp(); $logger->write('Existing Preorders temporary data is cleared!'); //Grab all existing elements, let's grab the data per element as an object $r = tep_db_query("SELECT e.elements_id FROM element e " . "WHERE e.is_finalized='1' ORDER BY elements_id"); $elements = array(); while ($row = tep_db_fetch_array($r)) { $elements[] = $row['elements_id']; } $total_elements = count($elements); $logger->write("Found {$total_elements} element(s) to process"); //COLLECTIVE QUERY //Grab all data that can be retrieved collectively for the whole elements $elements_stock = $class_es->retrieveAll(WAREHOUSE_ID_ELEMENTS); $elements_open_po = elements_order::openOrdersQuantityAllElements(); $elements_need_in_sourcing_tab = elements_preorder::totalNeededForSourcingTabAllElements(); //Clean all existing opened suggested //Loop through each element $elements_with_missing_qty = array(); foreach ($elements as $eid) { $e = new element($eid); //Grab all needed data $target_stock = $e->getDIOHstockTarget(); $need_in_sourcing_tab = $elements_need_in_sourcing_tab[$eid]; $current_stock = intval($elements_stock[$eid]); $already_ordered = intval($elements_open_po[$eid]); //ANY EXISTING SUGGESTIONS/PREORDERS IS DELETED IN PREVIOUS SCRIPT $already_preordered = 0; //Check if new preorder is needed (calc missing quantity) $missing_quantity = $target_stock + $need_in_sourcing_tab - ($current_stock + $already_ordered + $already_preordered);