X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=inventory%2Finquiry%2Fstock_movements.php;h=e8f6a25778af0558c6660fc9003374e7f62e0b0f;hb=cc9972b02f2bf4ece12da3431266e85e96872fb1;hp=52b2aa1fb7dd75e76f197b8d4e5a21602d444d16;hpb=90ccfadd90aa37c22f88f7bc5628f0ebeec0b29f;p=fa-stable.git diff --git a/inventory/inquiry/stock_movements.php b/inventory/inquiry/stock_movements.php index 52b2aa1f..e8f6a257 100644 --- a/inventory/inquiry/stock_movements.php +++ b/inventory/inquiry/stock_movements.php @@ -1,9 +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"); @@ -17,17 +24,22 @@ if ($use_popup_windows) if ($use_date_picker) $js .= get_js_date_picker(); -page(_("Inventory Item Movement"), false, false, "", $js); +page(_($help_context = "Inventory Item Movement"), false, false, "", $js); //------------------------------------------------------------------------------------------------ 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(); if (!isset($_POST['stock_id'])) $_POST['stock_id'] = get_global_stock_item(); @@ -41,188 +53,132 @@ locations_list_cells(_("From Location:"), 'StockLocation', null); date_cells(_("From:"), 'AfterDate', '', null, -30); date_cells(_("To:"), 'BeforeDate'); -submit_cells('ShowMoves',_("Show Movements"),'',_('Refresh Inquiry'), true); +submit_cells('ShowMoves',_("Show Movements"),'',_('Refresh Inquiry'), 'default'); end_table(); end_form(); set_global_stock_item($_POST['stock_id']); -$item_dec = get_qty_dec($_POST['stock_id']); -// -// Get summary displayed in headewr and footer. -// -function get_summary(&$table) -{ - global $Ajax, $item_dec; - - $sql = "SELECT - Sum(qty) as sum, - Sum(IF(qty>0, qty, 0)) as in_qty, - Sum(IF(qty<0, -qty, 0)) as out_qty - FROM ".TB_PREF."stock_moves - WHERE loc_code='" . $_POST['StockLocation'] . "' - AND tran_date >= '". date2sql($_POST['AfterDate']) . "' - AND tran_date <= '" . date2sql($_POST['BeforeDate']) . "' - AND stock_id = '" . $_POST['stock_id'] . "'"; - " GROUP BY rec"; - $result = db_query($sql, "cannot retrieve stock moves"); - - $qty = db_fetch($result); - - $sum['beg'] = get_qoh_on_date($_POST['stock_id'], $_POST['StockLocation'], - add_days($_POST['AfterDate'], -1)); - $sum['in'] = $qty['in_qty']; - $sum['out'] = $qty['out_qty']; - $sum['end'] = $sum['beg'] + $qty['sum']; - $sum['dec'] = $item_dec = get_qty_dec($_POST['stock_id']); - - $table->sum = $sum; - $Ajax->activate('summary'); - } -//----------------------------------------------------------------------------- - -function systype_name($row) -{ - return systypes::name($row["type"]); -} -function trans_view($row) +$before_date = date2sql($_POST['BeforeDate']); +$after_date = date2sql($_POST['AfterDate']); + +$result = get_stock_movements($_POST['stock_id'], $_POST['StockLocation'], + $_POST['BeforeDate'], $_POST['AfterDate']); + +div_start('doc_tbl'); +start_table($table_style); +$th = array(_("Type"), _("#"), _("Reference"), _("Date"), _("Detail"), + _("Quantity In"), _("Quantity Out"), _("Quantity On Hand")); + +table_header($th); + +$before_qty = get_stock_movements_before($_POST['stock_id'], $_POST['StockLocation'], $_POST['AfterDate']); + +$after_qty = $before_qty; + +/* +if (!isset($before_qty_row[0])) { - return get_trans_view_str($row["type"], $row["trans_no"]); + $after_qty = $before_qty = 0; } +*/ +start_row("class='inquirybg'"); +label_cell(""._("Quantity on hand before") . " " . $_POST['AfterDate']."", "align=center colspan=5"); +label_cell(" ", "colspan=2"); +$dec = get_qty_dec($_POST['stock_id']); +qty_cell($before_qty, false, $dec); +end_row(); + +$j = 1; +$k = 0; //row colour counter + +$total_in = 0; +$total_out = 0; -function show_details($row) +while ($myrow = db_fetch($result)) { - $person = $row["person_id"]; + + alt_table_row_color($k); + + $trandate = sql2date($myrow["tran_date"]); + + $type_name = $systypes_array[$myrow["type"]]; + + if ($myrow["qty"] > 0) + { + $quantity_formatted = number_format2($myrow["qty"], $dec); + $total_in += $myrow["qty"]; + } + else + { + $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"], $myrow["reference"])); + label_cell($trandate); + + $person = $myrow["person_id"]; $gl_posting = ""; - if (($row["type"] == 13) || ($row["type"] == 11)) + if (($myrow["type"] == ST_CUSTDELIVERY) || ($myrow["type"] == ST_CUSTCREDIT)) { - $cust_row = get_customer_details_from_trans($row["type"], $row["trans_no"]); + $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 ($row["type"] == 25 || $row['type'] == 21) + elseif ($myrow["type"] == ST_SUPPRECEIVE || $myrow['type'] == ST_SUPPCREDIT) { // get the supplier name - $sql = "SELECT supp_name FROM ".TB_PREF."suppliers WHERE supplier_id = '" . $row["person_id"] . "'"; - $supp_result = db_query($sql,"check failed"); - - $supp_row = db_fetch($supp_result); + $supp_name = get_supplier_name($myrow["person_id"]); - if (strlen($supp_row['supp_name']) > 0) - $person = $supp_row['supp_name']; + if (strlen($supp_name) > 0) + $person = $supp_name; } - elseif ($row["type"] == systypes::location_transfer() || $row["type"] == systypes::inventory_adjustment()) + elseif ($myrow["type"] == ST_LOCTRANSFER || $myrow["type"] == ST_INVADJUST) { // get the adjustment type - $movement_type = get_movement_type($row["person_id"]); + $movement_type = get_movement_type($myrow["person_id"]); $person = $movement_type["name"]; } - elseif ($row["type"]==systypes::work_order() || $row["type"] == 28 || - $row["type"] == 29) + elseif ($myrow["type"]==ST_WORKORDER || $myrow["type"] == ST_MANUISSUE || + $myrow["type"] == ST_MANURECEIVE) { $person = ""; } - return $person; -} - -$total_out = 0; -$total_in = 0; -function qty_in($row) -{ - $q = $row["qty"]; - return $q <= 0 ? '' : $q; -} - -function qty_out($row) -{ - $q = -$row["qty"]; - return $q <= 0 ? '' : $q; -} -/* -function show_qoh($row) -{ - $qoh =& $_SESSION['qoh']; - $qoh += $row['qty']; - return $qoh; -} -*/ -function before_status($pager) -{ - $r[] = - array( ""._("Quantity on hand before") . " " . $_POST['AfterDate'] - .':'."", "align='right' colspan=5"); - if($pager->sum['beg']>=0) { - $r[] = array (number_format2($pager->sum['beg'], $pager->sum['dec']), - "align='right'"); - $r[] = array(" "); - } else { - $r[] = array(" "); - $r[] = array (number_format2($pager->sum['beg'], $pager->sum['dec']), - "align='right'"); - } - return $r; -} + label_cell($person); -function after_status($pager) -{ - $r[] = - array( ""._("Quantity on hand after") . " " . $_POST['BeforeDate'] - .':'."", "align='right' colspan=5"); - if($pager->sum['end']>=0) { - $r[] = array (number_format2($pager->sum['end'], $pager->sum['dec']), - "align='right'"); - $r[] = array(" ", "colspan=2"); - } else { - $r[] = array(" ", "colspan=2"); - $r[] = array (number_format2($pager->sum['end'], $pager->sum['dec']), - "align='right'"); + label_cell((($myrow["qty"] >= 0) ? $quantity_formatted : ""), "nowrap align=right"); + label_cell((($myrow["qty"] < 0) ? $quantity_formatted : ""), "nowrap align=right"); + qty_cell($after_qty, false, $dec); + end_row(); + $j++; + If ($j == 12) + { + $j = 1; + table_header($th); } - return $r; +//end of page full new headings if } -//----------------------------------------------------------------------------- +//end of while loop -$before_date = date2sql($_POST['BeforeDate']); -$after_date = date2sql($_POST['AfterDate']); - -$sql = "SELECT - type, - trans_no, - reference, - tran_date, - person_id, - qty - 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'] . "'"; - -$cols = array( - _("Type") => array('fun'=>'systype_name' ), - _("#") => array('fun'=>'trans_view' ), - _("Reference"), - _("Date") => array('date', 'ord'=>'desc'), - _("Detail") => array('fun'=>'show_details' ), - _("Quantity In") => array('type'=>'amount', 'dec'=> $item_dec, 'insert'=>true,'fun'=>'qty_in' ), - _("Quantity Out") => array('type'=>'amount', 'dec'=> $item_dec,'insert'=>true,'fun'=>'qty_out' ), -// _("Quantity On Hand") => array('insert'=>true,'type'=>'amount', 'fun'=>'show_qoh' ) -); - -$table =& new_db_pager('doc_tbl', $sql, $cols); -$table->set_header('before_status'); -$table->set_footer('after_status'); - -if (!$table->ready) // new sql query - update summary - get_summary(&$table); - -start_form(); +start_row("class='inquirybg'"); +label_cell(""._("Quantity on hand after") . " " . $_POST['BeforeDate']."", "align=center colspan=5"); +qty_cell($total_in, false, $dec); +qty_cell($total_out, false, $dec); +qty_cell($after_qty, false, $dec); +end_row(); -display_db_pager($table); - -end_form(); +end_table(1); +div_end(); end_page(); + ?>