X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fdb_order_lines.inc;h=a0675f47b62f928e18567817e7f3ee29116afb83;hb=ee3469d3ffd74d2a6be87d3dd0a9541a14bcdfde;hp=6d3b235207f34ca49804e8e4ba5607774a604583;hpb=7a4c7c9512eb74d2f91ef7939cd435cb98b8114c;p=order_line_extra.git diff --git a/includes/db_order_lines.inc b/includes/db_order_lines.inc index 6d3b235..a0675f4 100644 --- a/includes/db_order_lines.inc +++ b/includes/db_order_lines.inc @@ -69,21 +69,75 @@ function update_queue_quantity_for_item($stock_id) { clear_queue_quantity_for_item($stock_id); insert_item_into_queue($stock_id); commit_transaction(); + return true; } function update_queue_quantities() { - $sql = "SELECT DISTINCT stk_code from 0_sales_order_details WHERE quantity > qty_sent"; + $sql = "SELECT DISTINCT stk_code from ".TB_PREF."sales_order_details WHERE quantity > qty_sent"; $result = db_query($sql); while($row=db_fetch($result)) { $stock_id = $row['stk_code']; update_queue_quantity_for_item($stock_id); } + return true; } function update_order_detail_priority($detail_id, $priority) { $sql = "UPDATE ".TB_PREF."sales_order_details SET priority='".$priority."' WHERE id = $detail_id "; - print($sql); db_query($sql, "can't set priorti to order details $detail_id"); } +function update_qoh_for_item($stock_id=null) { + clear_qoh_for_item($stock_id); + $sql = "INSERT INTO ".TB_PREF."denorm_qoh(stock_id, loc_code, quantity) + SELECT + stock_id + ,loc_code + ,sum(qty) as quantity + FROM ".TB_PREF."stock_moves + WHERE tran_date <= NOW()"; + if(isset($stock_id)) $sql.= " AND stock_id = '$stock_id'"; + $sql .= " GROUP BY stock_id, loc_code"; + + + return db_query($sql, $sql); + +} +function clear_qoh_for_item($stock_id=null) { + if(isset($stock_id)) { + $sql = "DELETE FROM ".TB_PREF."denorm_qoh + WHERE stock_id = \"$stock_id\" +"; + } + else { + $sql = "TRUNCATE TABLE ".TB_PREF."denorm_qoh"; + } + + return db_query($sql, 'Error when trying to clean ".TB_PREF."denorm_qoh'); +} + +function update_order_detail_defaults() { + // Set priority to current time. + $sql = "UPDATE ".TB_PREF."sales_order_details + SET priority = now() + WHERE priority is null"; + db_query($sql); + // Set hold_until_date to delivery_date + $sql = "UPDATE ".TB_PREF."sales_order_details + NATURAL JOIN 0_sales_orders + SET hold_until_date = delivery_date + WHERE hold_until_date is null"; + db_query($sql); + + // Set expiry date to 6 weeks + delivery date + // or 2 weeks + required date. Stuff with an + // explicit required date should expire quickly the + // required date has been missed. + $sql = "UPDATE ".TB_PREF."sales_order_details + SET expiry_date = if(required_date is null, hold_until_date + INTERVAL 6 WEEK, + required_date + INTERVAL 2 WEEK) + WHERE expiry_date is null"; + db_query($sql); +} + ?>