- $sql = "SELECT ".TB_PREF."stock_master.category_id,
- ".TB_PREF."stock_category.description AS cat_description,
- ".TB_PREF."stock_master.stock_id,
- ".TB_PREF."stock_master.description,
- ".TB_PREF."stock_moves.loc_code,
- SUM(".TB_PREF."stock_moves.qty) AS QtyOnHand,
- ".TB_PREF."stock_master.material_cost + ".TB_PREF."stock_master.labour_cost + ".TB_PREF."stock_master.overhead_cost AS UnitCost,
- SUM(".TB_PREF."stock_moves.qty) *(".TB_PREF."stock_master.material_cost + ".TB_PREF."stock_master.labour_cost + ".TB_PREF."stock_master.overhead_cost) AS ItemTotal
- FROM ".TB_PREF."stock_master,
- ".TB_PREF."stock_category,
- ".TB_PREF."stock_moves
- WHERE ".TB_PREF."stock_master.stock_id=".TB_PREF."stock_moves.stock_id
- AND ".TB_PREF."stock_master.category_id=".TB_PREF."stock_category.category_id
- GROUP BY ".TB_PREF."stock_master.category_id,
- ".TB_PREF."stock_category.description, ";
+ if ($to_date == null)
+ $to_date = Today();
+
+ $to_date = date2sql($to_date);
+
+ $sql = "SELECT standard_cost, qty FROM ".TB_PREF."stock_moves
+ WHERE stock_id=".db_escape($stock_id)."
+ AND tran_date <= '$to_date' AND standard_cost > 0.001 AND qty <> 0 AND type <> ".ST_LOCTRANSFER;
+
+ $sql .= " ORDER BY tran_date";
+
+ $result = db_query($sql, "No standard cost transactions were returned");
+ if ($result == false)
+ return 0;
+ $qty = $old_qty = $count = $old_std_cost = $tot_cost = 0;
+ while ($row=db_fetch($result))
+ {
+ $qty += $row['qty'];
+
+ $price = get_domestic_price($row, $stock_id, $qty, $old_std_cost, $old_qty);
+
+ $old_std_cost = $row['standard_cost'];
+ $tot_cost += $price;
+ $count++;
+ $old_qty = $qty;
+ }
+ if ($count == 0)
+ return 0;
+ return $tot_cost / $count;
+}
+
+function getTransactions($category, $location, $date)
+{
+ $date = date2sql($date);
+
+ $sql = "SELECT item.category_id,
+ category.description AS cat_description,
+ item.stock_id,
+ item.units,
+ item.description, item.inactive,
+ move.loc_code,
+ SUM(move.qty) AS QtyOnHand,
+ item.material_cost AS UnitCost,
+ SUM(move.qty) * item.material_cost AS ItemTotal
+ FROM "
+ .TB_PREF."stock_master item,"
+ .TB_PREF."stock_category category,"
+ .TB_PREF."stock_moves move
+ WHERE item.stock_id=move.stock_id
+ AND item.category_id=category.category_id
+ AND item.mb_flag<>'D' AND mb_flag <> 'F'
+ AND move.tran_date <= '$date'
+ GROUP BY item.category_id,
+ category.description, ";