Optimizing some reports.
[fa-stable.git] / reporting / rep704.php
index b6b12c38cf9204a65d29038435abb3eb5315375a..f62b2d192bc98d412ce4b2816dda1ba0df19a707 100644 (file)
@@ -19,6 +19,7 @@ $page_security = 'SA_GLREP';
 $path_to_root="..";
 
 include_once($path_to_root . "/includes/session.inc");
+include_once($path_to_root . "/admin/db/fiscalyears_db.inc");
 include_once($path_to_root . "/includes/date_functions.inc");
 include_once($path_to_root . "/includes/data_checks.inc");
 include_once($path_to_root . "/gl/includes/gl_db.inc");
@@ -45,44 +46,56 @@ function print_GL_transactions()
                $dimension = $_POST['PARAM_4'];
                $dimension2 = $_POST['PARAM_5'];
                $comments = $_POST['PARAM_6'];
-               $destination = $_POST['PARAM_7'];
+               $orientation = $_POST['PARAM_7'];
+               $destination = $_POST['PARAM_8'];
        }
-       else if ($dim == 1)
+       elseif ($dim == 1)
        {
                $dimension = $_POST['PARAM_4'];
                $comments = $_POST['PARAM_5'];
-               $destination = $_POST['PARAM_6'];
+               $orientation = $_POST['PARAM_6'];
+               $destination = $_POST['PARAM_7'];
        }
        else
        {
                $comments = $_POST['PARAM_4'];
-               $destination = $_POST['PARAM_5'];
+               $orientation = $_POST['PARAM_5'];
+               $destination = $_POST['PARAM_6'];
        }
        if ($destination)
                include_once($path_to_root . "/reporting/includes/excel_report.inc");
        else
                include_once($path_to_root . "/reporting/includes/pdf_report.inc");
+       $orientation = ($orientation ? 'L' : 'P');
 
-       $rep = new FrontReport(_('GL Account Transactions'), "GLAccountTransactions", user_pagesize());
+       $rep = new FrontReport(_('GL Account Transactions'), "GLAccountTransactions", user_pagesize(), 9, $orientation);
        $dec = user_price_dec();
 
-  //$cols = array(0, 80, 100, 150, 210, 280, 340, 400, 450, 510, 570);
-       $cols = array(0, 65, 105, 125, 175, 230, 290, 345, 405, 465, 525);
-       //------------0--1---2---3----4----5----6----7----8----9----10-------
-       //-----------------------dim1-dim2-----------------------------------
-       //-----------------------dim1----------------------------------------
-       //-------------------------------------------------------------------
-       $aligns = array('left', 'left', 'left', 'left', 'left', 'left', 'left', 'right', 'right', 'right');
-
        if ($dim == 2)
+       {
+               $cols = array(0, 65, 105, 125, 175, 230, 290, 345, 405, 465, 525);
+               //------------0--1---2----3----4----5----6----7----8----9----10-------
+               //------------------------dim1-dim2-----------------------------------
                $headers = array(_('Type'),     _('Ref'), _('#'),       _('Date'), _('Dimension')." 1", _('Dimension')." 2",
                        _('Person/Item'), _('Debit'),   _('Credit'), _('Balance'));
+       }
        elseif ($dim == 1)
+       {
+               $cols = array(0, 65, 105, 125, 175, 260, 260, 345, 405, 465, 525);
+               //------------0--1---2----3----4----5----6----7----8----9----10-------
+               //------------------------dim1----------------------------------------
                $headers = array(_('Type'),     _('Ref'), _('#'),       _('Date'), _('Dimension'), "", _('Person/Item'),
                        _('Debit'),     _('Credit'), _('Balance'));
+       }
        else
+       {
+               $cols = array(0, 65, 105, 125, 175, 175, 175, 345, 405, 465, 525);
+               //------------0--1---2----3----4----5----6----7----8----9----10-------
+               //--------------------------------------------------------------------
                $headers = array(_('Type'),     _('Ref'), _('#'),       _('Date'), "", "", _('Person/Item'),
                        _('Debit'),     _('Credit'), _('Balance'));
+       }
+       $aligns = array('left', 'left', 'left', 'left', 'left', 'left', 'left', 'right', 'right', 'right');
 
        if ($dim == 2)
        {
@@ -94,7 +107,7 @@ function print_GL_transactions()
                        4 => array('text' => _('Dimension')." 2", 'from' => get_dimension_string($dimension2),
                             'to' => ''));
     }
-    else if ($dim == 1)
+    elseif ($dim == 1)
     {
        $params =   array(      0 => $comments,
                                    1 => array('text' => _('Period'), 'from' => $from, 'to' => $to),
@@ -108,10 +121,12 @@ function print_GL_transactions()
                                    1 => array('text' => _('Period'), 'from' => $from, 'to' => $to),
                                    2 => array('text' => _('Accounts'),'from' => $fromacc,'to' => $toacc));
     }
+    if ($orientation == 'L')
+       recalculate_cols($cols);
 
        $rep->Font();
        $rep->Info($params, $cols, $headers, $aligns);
-       $rep->Header();
+       $rep->NewPage();
 
        $accounts = get_gl_accounts($fromacc, $toacc);
 
@@ -121,7 +136,7 @@ function print_GL_transactions()
                        $begin = "";
                else
                {
-                       $begin = begin_fiscalyear();
+                       $begin = get_fiscalyear_begin_for_date($from);
                        if (date1_greater_date2($begin, $from))
                                $begin = $from;
                        $begin = add_days($begin, -1);
@@ -157,7 +172,16 @@ function print_GL_transactions()
                                        $rep->TextCol(4, 5,     get_dimension_string($myrow['dimension_id']));
                                if ($dim > 1)
                                        $rep->TextCol(5, 6,     get_dimension_string($myrow['dimension2_id']));
-                               $rep->TextCol(6, 7,     payment_person_name($myrow["person_type_id"],$myrow["person_id"], false));
+                               $txt = payment_person_name($myrow["person_type_id"],$myrow["person_id"], false);
+                               $memo = $myrow['memo_'];
+                               if ($txt != "")
+                               {
+                                       if ($memo != "")
+                                               $txt = $txt."/".$memo;
+                               }
+                               else
+                                       $txt = $memo;
+                               $rep->TextCol(6, 7,     $txt, -2);
                                if ($myrow['amount'] > 0.0)
                                        $rep->AmountCol(7, 8, abs($myrow['amount']), $dec);
                                else
@@ -167,7 +191,7 @@ function print_GL_transactions()
                                if ($rep->row < $rep->bottomMargin + $rep->lineHeight)
                                {
                                        $rep->Line($rep->row - 2);
-                                       $rep->Header();
+                                       $rep->NewPage();
                                }
                        }
                        $rep->NewLine();
@@ -185,4 +209,3 @@ function print_GL_transactions()
        $rep->End();
 }
 
-?>
\ No newline at end of file