$q .= " LIMIT {$maxelements}"; } // echo $q; $dbq = tep_db_query($q); $elements = array(); $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 ($total_elements_with_missing_qty > 0) { $elements_exclude_filter = implode(',', $elements_with_missing_qty); $q .= " AND e.elements_id NOT IN ({$elements_exclude_filter})"; } $r = tep_db_query($q); while ($row = tep_db_fetch_array($r)) { $eid = $row['elements_id']; $sdt = $row['sdt']; $elements_with_dioh_le_sdt[] = $eid; $need_in_sourcing_tab = $elements_need_in_sourcing_tab[$eid]; $current_stock = intval($elements_stock[$eid]); $already_ordered = intval($elements_open_po[$eid]); $already_preordered = 0; $valid_stock = $current_stock + $already_ordered + $already_preordered - $need_in_sourcing_tab; $element = new element($eid); $dioh = $element->getDIOH($valid_stock); if ($dioh <= $sdt) { $epo = new elements_preorder($eid); $epo->addOrder($sdt_min_order_qty, null, 'Daily Cron (SDT)'); $logger->write("Found DIOH ({$dioh}) ≤ SDT ({$sdt}) : {$eid} " . ' - Preorders created'); } } $total_elements_with_dioh_le_sdt = count($elements_with_dioh_le_sdt); if ($total_elements_with_dioh_le_sdt == 0) { $logger->write('No scheduled Elements with DIOH ≤ SDT found!'); } else { $logger->write('Successfully generated preorders for TOTAL ' . $total_elements_with_dioh_le_sdt . ' Elements'); } $logger->close(); echo 'Done!'; tep_db_close();