$logger = new logger('cron', 'elements-sourcing'); //$logger->write('SIMULATION'); //Include Required Classes (and create object when necessary) use_class('products_minierp'); use_class('element'); use_class('elements_stock'); use_class('elements_preorder'); use_class('elements_order'); $class_es = new elements_stock(); $class_pm = new products_minierp(); //Grab all required Settings //Send email notification if missing quantity is > 0.2 * target stock $tolerance_email_notification = 0.2; $bgst = $class_pm->retrieveBestGoodSettings(); //REMOVE ANY OPEN EXISTING SUGGESTIONS BEFORE MAKING NEW ONES 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();