Add denorm_qoh
[order_line_extra.git] / includes / db_order_lines.inc
index e6a682442aed1323fedba2b9105273b3f91f0be6..f4913bf262c644acc1db814ff99b79d2df724e92 100644 (file)
@@ -73,7 +73,7 @@ function update_queue_quantity_for_item($stock_id) {
 }
 
 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'];
@@ -87,4 +87,33 @@ function update_order_detail_priority($detail_id, $priority) {
                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');
+}
+
 ?>