Replaced the ajax paging in stock movements with the old file.
authorJoe Hunt <joe.hunt.consulting@gmail.com>
Sat, 20 Dec 2008 22:10:52 +0000 (22:10 +0000)
committerJoe Hunt <joe.hunt.consulting@gmail.com>
Sat, 20 Dec 2008 22:10:52 +0000 (22:10 +0000)
CHANGELOG.txt
inventory/inquiry/stock_movements.php

index 6123ac9bfd5a1fc665c79ac67b8e08e0eeadd43f..a0f6baf4c4343052ffda5f01719f4345f65fab28 100644 (file)
@@ -19,6 +19,10 @@ Legend:
 ! -> Note
 $ -> Affected files
 
+20-Dec-2008 Joe Hunt
+! Replaced the ajax paging in stock movements with the old file.
+$ /inventory/inquiry/stock_movements.php
+
 18-Dec-2008 Joe Hunt
 + Added quick entries in supplier invoice/credit note as well. Based on bank payments
 $ /gl/gl_bank.php
index 1731e7bfe911f55ef30794957b1f75749c966af4..161493d5c84dea1d1d4952121e8a0b5f2ad3f16d 100644 (file)
@@ -1,9 +1,16 @@
 <?php
-
-
+/**********************************************************************
+    Copyright (C) FrontAccounting, LLC.
+       Released under the terms of the GNU Affero General Public License,
+       AGPL, as published by the Free Software Foundation, either version 
+       3 of the License, or (at your option) any later version.
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+    See the License here <http://www.gnu.org/licenses/agpl-3.0.html>.
+***********************************************************************/
 $page_security = 2;
 $path_to_root="../..";
-include($path_to_root . "/includes/db_pager.inc");
 include_once($path_to_root . "/includes/session.inc");
 
 include_once($path_to_root . "/includes/date_functions.inc");
@@ -22,6 +29,11 @@ page(_("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'];
@@ -46,66 +58,96 @@ 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
+$before_date = date2sql($_POST['BeforeDate']);
+$after_date = date2sql($_POST['AfterDate']);
+
+$sql = "SELECT type, trans_no, tran_date, person_id, qty, reference
        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;
- }
-//-----------------------------------------------------------------------------
-
-function systype_name($row)
-{
-       return systypes::name($row["type"]);
-}
+       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");
+
+check_db_error("The stock movements for the selected criteria could not be retrieved",$sql);
+
+div_start('doc_tbl');
+start_table("$table_style width=70%");
+$th = array(_("Type"), _("#"), _("Reference"), _("Date"), _("Detail"),
+       _("Quantity In"), _("Quantity Out"), _("Quantity On Hand"));
+
+table_header($th);
 
-function trans_view($row)
+$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");
+
+$before_qty_row = db_fetch_row($before_qty);
+$after_qty = $before_qty = $before_qty_row[0];
+
+if (!isset($before_qty_row[0]))
 {
-       return  get_trans_view_str($row["type"], $row["trans_no"]);
+       $after_qty = $before_qty = 0;
 }
 
-function show_details($row)
+start_row("class='inquirybg'");
+label_cell("<b>"._("Quantity on hand before") . " " . $_POST['AfterDate']."</b>", "align=center colspan=5");
+label_cell("&nbsp;", "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;
+
+while ($myrow = db_fetch($result))
 {
-       $person = $row["person_id"];
+
+       alt_table_row_color($k);
+
+       $trandate = sql2date($myrow["tran_date"]);
+
+       $type_name = systypes::name($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"] == 13) || ($myrow["type"] == 11))
        {
-               $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"] == 25 || $myrow['type'] == 21)
        {
                // get the supplier name
-               $sql = "SELECT supp_name FROM ".TB_PREF."suppliers WHERE supplier_id = '" . $row["person_id"] . "'";
+               $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);
@@ -113,119 +155,43 @@ function show_details($row)
                if (strlen($supp_row['supp_name']) > 0)
                        $person = $supp_row['supp_name'];
        }
-       elseif ($row["type"] == systypes::location_transfer() || $row["type"] == systypes::inventory_adjustment())
+       elseif ($myrow["type"] == systypes::location_transfer() || $myrow["type"] == systypes::inventory_adjustment())
        {
                // 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"]==systypes::work_order() || $myrow["type"] == 28  ||
+               $myrow["type"] == 29)
        {
                $person = "";
        }
-       return $person;
-}
-
-$total_out = 0;
-$total_in = 0;
 
-function qty_in($row)
-{
-       $q = $row["qty"];
-       return $q <= 0 ? '' : $q;
-}
+       label_cell($person);
 
-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( "<b>"._("Quantity on hand before") . " " . $_POST['AfterDate']
-               .':'."</b>", "align='right' colspan=5");
-       if($pager->sum['beg']>=0) {
-               $r[] = array (number_format2($pager->sum['beg'], $pager->sum['dec']),
-                       "align='right'");
-               $r[] = array("&nbsp;");
-       } else {
-               $r[] = array("&nbsp;");
-               $r[] = array (number_format2($pager->sum['beg'], $pager->sum['dec']),
-                       "align='right'");
-       }
-       return $r;
-}
-
-function after_status($pager)
-{
-       $r[] =
-               array( "<b>"._("Quantity on hand after") . " " . $_POST['BeforeDate']
-               .':'."</b>", "align='right' colspan=5");
-       if($pager->sum['end']>=0) {
-               $r[] = array (number_format2($pager->sum['end'], $pager->sum['dec']),
-                       "align='right'");
-               $r[] = array("&nbsp;");
-       } else {
-               $r[] = array("&nbsp;");
-               $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']);
+start_row("class='inquirybg'");
+label_cell("<b>"._("Quantity on hand after") . " " . $_POST['BeforeDate']."</b>", "align=center colspan=5");
+qty_cell($total_in, false, $dec);
+qty_cell($total_out, false, $dec);
+qty_cell($after_qty, false, $dec);
+end_row();
 
-$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'=>'qty', 'dec'=> $item_dec, 'insert'=>true,'fun'=>'qty_in' ),
-       _("Quantity Out") => array('type'=>'qty', '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);
-
-if (get_post('ShowMoves')) {
-       $table->set_sql($sql);
-       $table->set_columns($cols);
-}
-start_form();
-
-display_db_pager($table);
-
-end_form();
+end_table(1);
+div_end();
 end_page();
+
 ?>