MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
***********************************************************************/
-//-------------------------------------------------------------------------------------------------------------
-function add_stock_adjustment($items, $location, $date_, $type, $increase, $reference, $memo_)
+function add_stock_adjustment($items, $location, $date_, $reference, $memo_)
{
+ global $SysPrefs, $path_to_root, $Refs;
+
begin_transaction();
+ $args = func_get_args();
+ $args = (object)array_combine(array('items', 'location', 'date_', 'reference', 'memo_'), $args);
+ $args->trans_no = 0;
+ hook_db_prewrite($args, ST_INVADJUST);
- $adj_id = get_next_trans_no(systypes::inventory_adjustment());
+ $adj_id = get_next_trans_no(ST_INVADJUST);
+ if ($SysPrefs->loc_notification() == 1)
+ {
+ include_once($path_to_root . "/inventory/includes/inventory_db.inc");
+ $st_ids = array();
+ $st_names = array();
+ $st_num = array();
+ $st_reorder = array();
+ }
foreach ($items as $line_item)
{
- if (!$increase)
- $line_item->quantity = -$line_item->quantity;
+ if ($SysPrefs->loc_notification() == 1 && $line_item->qty < 0)
+ {
+ $chg = $line; $chg->qty = -$chg->qty; // calculate_reorder_level expect positive qty
+ $loc = calculate_reorder_level($location, $line_item, $st_ids, $st_names, $st_num, $st_reorder);
+ }
- add_stock_adjustment_item($adj_id, $line_item->stock_id, $location, $date_, $type, $reference,
+ add_stock_adjustment_item($adj_id, $line_item->stock_id, $location, $date_, $reference,
$line_item->quantity, $line_item->standard_cost, $memo_);
}
- add_comments(systypes::inventory_adjustment(), $adj_id, $date_, $memo_);
+ add_comments(ST_INVADJUST, $adj_id, $date_, $memo_);
- references::save_last($reference, systypes::inventory_adjustment());
- add_audit_trail(systypes::inventory_adjustment(), $adj_id, $date_);
+ $Refs->save(ST_INVADJUST, $adj_id, $reference);
+ add_audit_trail(ST_INVADJUST, $adj_id, $date_);
+ $args->trans_no = $adj_id;
+ hook_db_postwrite($args, ST_INVADJUST);
commit_transaction();
+ if ($SysPrefs->loc_notification() == 1 && count($st_ids) > 0)
+ send_reorder_email($loc, $st_ids, $st_names, $st_num, $st_reorder);
return $adj_id;
}
function void_stock_adjustment($type_no)
{
- void_gl_trans(systypes::inventory_adjustment(), $type_no);
- void_stock_move(systypes::inventory_adjustment(), $type_no);
+ hook_db_prevoid(ST_INVADJUST, $type_no);
+ void_gl_trans(ST_INVADJUST, $type_no);
+ void_stock_move(ST_INVADJUST, $type_no);
}
//-------------------------------------------------------------------------------------------------------------
function get_stock_adjustment_items($trans_no)
{
- $result = get_stock_moves(systypes::inventory_adjustment(), $trans_no);
+ $result = get_stock_moves(ST_INVADJUST, $trans_no);
if (db_num_rows($result) == 0)
{
//--------------------------------------------------------------------------------------------------
-function add_stock_adjustment_item($adj_id, $stock_id, $location, $date_, $type, $reference,
+function add_stock_adjustment_item($adj_id, $stock_id, $location, $date_, $reference,
$quantity, $standard_cost, $memo_)
{
$mb_flag = get_mb_flag($stock_id);
update_average_material_cost(null, $stock_id, $standard_cost, $quantity, $date_);
- add_stock_move(systypes::inventory_adjustment(), $stock_id, $adj_id, $location,
- $date_, $reference, $quantity, $standard_cost, $type);
+ add_stock_move(ST_INVADJUST, $stock_id, $adj_id, $location,
+ $date_, $reference, $quantity, $standard_cost);
if ($standard_cost > 0)
{
$stock_gl_codes = get_stock_gl_code($stock_id);
- add_gl_trans_std_cost(systypes::inventory_adjustment(), $adj_id, $date_,
+ add_gl_trans_std_cost(ST_INVADJUST, $adj_id, $date_,
$stock_gl_codes['adjustment_account'], $stock_gl_codes['dimension_id'], $stock_gl_codes['dimension2_id'], $memo_, ($standard_cost * -($quantity)));
- add_gl_trans_std_cost(systypes::inventory_adjustment(), $adj_id, $date_, $stock_gl_codes['inventory_account'], 0, 0, $memo_, ($standard_cost * $quantity));
+ add_gl_trans_std_cost(ST_INVADJUST, $adj_id, $date_, $stock_gl_codes['inventory_account'], 0, 0, $memo_, ($standard_cost * $quantity));
}
}
-
-//-------------------------------------------------------------------------------------------------------------
-
-?>
\ No newline at end of file