X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=inventory%2Finquiry%2Fstock_movements.php;h=d6fdce42646bec2abb3d9ea58f7aae8487eacbfa;hb=e01ce098c8862750e2f4f66f255191e83a4ce1d6;hp=a1c22e1eacaf0ed464b11a2f3ec1fe8de255228d;hpb=da8311619dd73feae101d246a1957b972e00cbd2;p=fa-stable.git diff --git a/inventory/inquiry/stock_movements.php b/inventory/inquiry/stock_movements.php index a1c22e1e..d6fdce42 100644 --- a/inventory/inquiry/stock_movements.php +++ b/inventory/inquiry/stock_movements.php @@ -1,8 +1,16 @@ . +***********************************************************************/ +$page_security = 'SA_ITEMSTRANSVIEW'; +$path_to_root = "../.."; include_once($path_to_root . "/includes/session.inc"); include_once($path_to_root . "/includes/date_functions.inc"); @@ -11,30 +19,74 @@ include_once($path_to_root . "/sales/includes/sales_db.inc"); include_once($path_to_root . "/includes/ui.inc"); $js = ""; -if ($use_popup_windows) +if ($SysPrefs->use_popup_windows) $js .= get_js_open_window(800, 500); -page(_("Inventory Item Movement"), false, false, "", $js); +if (user_use_date_picker()) + $js .= get_js_date_picker(); + +if (isset($_GET['FixedAsset'])) { + $page_security = 'SA_ASSETSTRANSVIEW'; + $_POST['fixed_asset'] = 1; + $_SESSION['page_title'] = _($help_context = "Fixed Assets Movement"); +} else { + $_SESSION['page_title'] = _($help_context = "Inventory Item Movement"); +} + +page($_SESSION['page_title'], isset($_GET['stock_id']), false, "", $js); +//------------------------------------------------------------------------------------------------ + +if (get_post('fixed_asset') == 1) + check_db_has_fixed_assets(_("There are no fixed asset defined in the system.")); +else + check_db_has_stock_items(_("There are no items defined in the system.")); + +if(get_post('ShowMoves')) +{ + $Ajax->activate('doc_tbl'); +} if (isset($_GET['stock_id'])) { $_POST['stock_id'] = $_GET['stock_id']; } -start_form(false, true); +start_form(); + +hidden('fixed_asset'); if (!isset($_POST['stock_id'])) $_POST['stock_id'] = get_global_stock_item(); -start_table("class='tablestyle_noborder'"); +start_table(TABLESTYLE_NOBORDER); +start_row(); +if (!$page_nested) +{ + if (get_post('fixed_asset') == 1) { + stock_items_list_cells(_("Item:"), 'stock_id', $_POST['stock_id'], + false, false, check_value('show_inactive'), false, array('fixed_asset' => true)); + check_cells(_("Show inactive:"), 'show_inactive', null, true); + + if (get_post('_show_inactive_update')) { + $Ajax->activate('stock_id'); + set_focus('stock_id'); + } + } else + stock_costable_items_list_cells(_("Item:"), 'stock_id', $_POST['stock_id']); +} + +end_row(); +end_table(); -stock_items_list_cells(_("Item:"), 'stock_id', $_POST['stock_id']); +start_table(TABLESTYLE_NOBORDER); +start_row(); -locations_list_cells(_("From Location:"), 'StockLocation', null); +locations_list_cells(_("From Location:"), 'StockLocation', null, true, false, (get_post('fixed_asset') == 1)); -date_cells(_("From:"), 'AfterDate', null, -30); +date_cells(_("From:"), 'AfterDate', '', null, -user_transaction_days()); date_cells(_("To:"), 'BeforeDate'); -submit_cells('ShowMoves',_("Show Movements")); +submit_cells('ShowMoves',_("Show Movements"),'',_('Refresh Inquiry'), 'default'); +end_row(); end_table(); end_form(); @@ -42,39 +94,32 @@ set_global_stock_item($_POST['stock_id']); $before_date = date2sql($_POST['BeforeDate']); $after_date = date2sql($_POST['AfterDate']); +$display_location = !$_POST['StockLocation']; -$sql = "SELECT type, trans_no, tran_date, person_id, qty, reference - FROM ".TB_PREF."stock_moves - WHERE loc_code='" . $_POST['StockLocation'] . "' - AND tran_date >= '". $after_date . "' - AND tran_date <= '" . $before_date . "' - AND stock_id = '" . $_POST['stock_id'] . "' ORDER BY tran_date,trans_id"; -$result = db_query($sql, "could not query stock moves"); +$result = get_stock_movements($_POST['stock_id'], $_POST['StockLocation'], + $_POST['BeforeDate'], $_POST['AfterDate']); -check_db_error("The stock movements for the selected criteria could not be retrieved",$sql); +div_start('doc_tbl'); +start_table(TABLESTYLE); +$th = array(_("Type"), _("#"), _("Reference")); -start_table("$table_style width=70%"); -$th = array(_("Type"), _("#"), _("Reference"), _("Date"), _("Detail"), - _("Quantity In"), _("Quantity Out"), _("Quantity On Hand")); +if ($display_location) + array_push($th, _("Location")); -table_header($th); +array_push($th, _("Date"), _("Detail"), _("Quantity In"), _("Quantity Out"), _("Quantity On Hand")); -$sql = "SELECT SUM(qty) FROM ".TB_PREF."stock_moves WHERE stock_id='" . $_POST['stock_id'] . "' - AND loc_code='" . $_POST['StockLocation'] . "' - AND tran_date < '" . $after_date . "'"; -$before_qty = db_query($sql, "The starting quantity on hand could not be calculated"); +table_header($th); -$before_qty_row = db_fetch_row($before_qty); -$after_qty = $before_qty = $before_qty_row[0]; +$before_qty = get_qoh_on_date($_POST['stock_id'], $_POST['StockLocation'], add_days($_POST['AfterDate'], -1)); -if (!isset($before_qty_row[0])) -{ - $after_qty = $before_qty = 0; -} +$after_qty = $before_qty; start_row("class='inquirybg'"); -label_cell(""._("Quantity on hand before") . " " . $_POST['AfterDate']."", "align=center colspan=7"); -qty_cell($before_qty); +$header_span = $display_location ? 6 : 5; +label_cell(""._("Quantity on hand before") . " " . $_POST['AfterDate']."", "align=center colspan=$header_span"); +label_cell(" ", "colspan=2"); +$dec = get_qty_dec($_POST['stock_id']); +qty_cell($before_qty, false, $dec); end_row(); $j = 1; @@ -83,95 +128,66 @@ $k = 0; //row colour counter $total_in = 0; $total_out = 0; -while ($myrow = db_fetch($result)) +while ($myrow = db_fetch($result)) { alt_table_row_color($k); $trandate = sql2date($myrow["tran_date"]); - $type_name = systypes::name($myrow["type"]); + if (get_post('fixed_asset') == 1 && isset($fa_systypes_array[$myrow["type"]])) + $type_name = $fa_systypes_array[$myrow["type"]]; + else + $type_name = $systypes_array[$myrow["type"]]; - if ($myrow["qty"] > 0) + if ($myrow["qty"] > 0) { - $quantity_formatted = number_format2($myrow["qty"],user_qty_dec()); + $quantity_formatted = number_format2($myrow["qty"], $dec); $total_in += $myrow["qty"]; } - else + else { - $quantity_formatted = number_format2(-$myrow["qty"],user_qty_dec()); + $quantity_formatted = number_format2(-$myrow["qty"], $dec); $total_out += -$myrow["qty"]; } $after_qty += $myrow["qty"]; label_cell($type_name); - label_cell(get_trans_view_str($myrow["type"], $myrow["trans_no"])); + label_cell(get_trans_view_str($myrow["type"], $myrow["trans_no"]), "nowrap align='right'"); label_cell(get_trans_view_str($myrow["type"], $myrow["trans_no"], $myrow["reference"])); + if($display_location) { + label_cell($myrow['loc_code']); + } label_cell($trandate); - $person = $myrow["person_id"]; $gl_posting = ""; - if (($myrow["type"] == 10) || ($myrow["type"] == 11)) - { - $cust_row = get_customer_details_from_trans($myrow["type"], $myrow["trans_no"]); - - if (strlen($cust_row['name']) > 0) - $person = $cust_row['name'] . " (" . $cust_row['br_name'] . ")"; - - } - elseif ($myrow["type"] == 25) - { - // get the supplier name - $sql = "SELECT supp_name FROM ".TB_PREF."suppliers WHERE supplier_id = '" . $myrow["person_id"] . "'"; - $supp_result = db_query($sql,"check failed"); - - $supp_row = db_fetch($supp_result); - - if (strlen($supp_row['supp_name']) > 0) - $person = $supp_row['supp_name']; - } - elseif ($myrow["type"] == systypes::location_transfer() || $myrow["type"] == systypes::inventory_adjustment()) - { - // get the adjustment type - $movement_type = get_movement_type($myrow["person_id"]); - $person = $movement_type["name"]; - } - elseif ($myrow["type"]==systypes::work_order() || $myrow["type"] == 28 || - $myrow["type"] == 29) - { - $person = ""; - } - - label_cell($person); + label_cell($myrow['name']); label_cell((($myrow["qty"] >= 0) ? $quantity_formatted : ""), "nowrap align=right"); label_cell((($myrow["qty"] < 0) ? $quantity_formatted : ""), "nowrap align=right"); - label_cell(number_format2($after_qty,user_qty_dec()), "nowrap align=right"); + qty_cell($after_qty, false, $dec); end_row(); + $j++; - If ($j == 12) + if ($j == 12) { $j = 1; table_header($th); } -//end of page full new headings if } -//end of while loop -if ($total_in != 0 || $total_out != 0) -{ - start_row("class='inquirybg'"); - label_cell(""._("Quantity on hand after") . " " . $_POST['BeforeDate']."", "align=center colspan=7"); - qty_cell($after_qty); - end_row(); -} +start_row("class='inquirybg'"); +label_cell(""._("Quantity on hand after") . " " . $_POST['BeforeDate']."", "align=center colspan=$header_span"); +qty_cell($total_in, false, $dec); +qty_cell($total_out, false, $dec); +qty_cell($after_qty, false, $dec); +end_row(); end_table(1); - +div_end(); end_page(); -?>