fmsystem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fmsystem-commits] [17103] property: handling tax compensation


From: sigurdne
Subject: [Fmsystem-commits] [17103] property: handling tax compensation
Date: Wed, 20 Sep 2017 15:23:36 -0400 (EDT)

Revision: 17103
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=17103
Author:   sigurdne
Date:     2017-09-20 15:23:36 -0400 (Wed, 20 Sep 2017)
Log Message:
-----------
property: handling tax compensation

Modified Paths:
--------------
    trunk/property/inc/class.sobudget.inc.php
    trunk/property/inc/class.soworkorder.inc.php
    trunk/property/setup/default_records.inc.php
    trunk/property/setup/setup.inc.php
    trunk/property/setup/tables_update.inc.php

Modified: trunk/property/inc/class.sobudget.inc.php
===================================================================
--- trunk/property/inc/class.sobudget.inc.php   2017-09-20 10:27:16 UTC (rev 
17102)
+++ trunk/property/inc/class.sobudget.inc.php   2017-09-20 19:23:36 UTC (rev 
17103)
@@ -638,10 +638,10 @@
                        }
 
                        $this->db->query('SELECT id, percent FROM fm_ecomva', 
__LINE__, __FILE__);
-                       $_taxcode = array(0 => 0);
+                       $tax_codes = array(0 => 0);
                        while ($this->db->next_record())
                        {
-                               $_taxcode[$this->db->f('id')] = 
$this->db->f('percent');
+                               $tax_codes[$this->db->f('id')] = 
$this->db->f('percent');
                        }
 
                        $sql = "SELECT DISTINCT fm_workorder.id AS id, 
fm_location1.mva,fm_workorder.project_id,"
@@ -749,8 +749,7 @@
                                                        break;
                                                }
 
-                                               $_taxfactor = 1 + 
($_taxcode[(int)$order_info['mva']] / 100);
-                                               $_actual_cost = 
round($budget['actual_cost'] / $_taxfactor);
+                                               $_actual_cost = 
round($budget['actual_cost']);
 
                                                //for testing
 //                                             if($budget['actual_cost'] && 
$order_info['b_account'] == '6610')

Modified: trunk/property/inc/class.soworkorder.inc.php
===================================================================
--- trunk/property/inc/class.soworkorder.inc.php        2017-09-20 10:27:16 UTC 
(rev 17102)
+++ trunk/property/inc/class.soworkorder.inc.php        2017-09-20 19:23:36 UTC 
(rev 17103)
@@ -1990,6 +1990,14 @@
                                return $cached_info;
                        }
 
+
+                       $sql = "SELECT id, percent FROM fm_ecomva";
+                       $this->db->query($sql, __LINE__, __FILE__);
+                       $tax_codes = array();
+                       while ($this->db->next_record())
+                       {
+                               $tax_codes[$this->db->f('id')] = 
$this->db->f('percent');
+                       }
                        $closed_period = array();
                        $active_period = array();
 
@@ -2051,7 +2059,7 @@
                                }
                        }
 
-                       $sql = "SELECT periode, amount AS actual_cost, 
periodization, periodization_start"
+                       $sql = "SELECT periode, amount AS actual_cost, 
periodization, periodization_start, mvakode AS tax_code"
                                . " FROM fm_workorder {$this->join} 
fm_orders_paid_or_pending_view ON fm_workorder.id = 
fm_orders_paid_or_pending_view.order_id"
                                . " WHERE order_id = '{$order_id}' ORDER BY 
periode ASC";
                        $this->db->query($sql, __LINE__, __FILE__);
@@ -2061,12 +2069,20 @@
                        while ($this->db->next_record())
                        {
                                $_periode = $this->db->f('periode');
+                               $_tax_code = $this->db->f('tax_code');
+                               $_actual_cost = $this->db->f('actual_cost');
+
+                               if($_tax_code && !empty($tax_codes[$_tax_code]))
+                               {
+                                       $_actual_cost = $_actual_cost / (1 + 
($tax_codes[$_tax_code] / 100));
+                               }
+
                                $periode = $_periode ? $_periode : 'dummy';
 
                                //strange...
                                if ($periode == 'dummy')
                                {
-                                       
$orders_paid_or_pending_temp[date('Ym')]['actual_cost'] += 
$this->db->f('actual_cost');
+                                       
$orders_paid_or_pending_temp[date('Ym')]['actual_cost'] += $_actual_cost;
                                        
$orders_paid_or_pending_temp[date('Ym')]['periode'] = date('Ym');
                                        
$orders_paid_or_pending_temp[date('Ym')]['periodization'] = 
$this->db->f('periodization');
                                        
$orders_paid_or_pending_temp[date('Ym')]['periodization_start'] = 
$this->db->f('periodization_start');
@@ -2079,7 +2095,7 @@
                                                'periodization' => 
(int)$this->db->f('periodization'),
                                                'periodization_start' => 
$this->db->f('periodization_start'),
                                        );
-                                       
$orders_paid_or_pending_temp[$periode]['actual_cost'] += 
$this->db->f('actual_cost');
+                                       
$orders_paid_or_pending_temp[$periode]['actual_cost'] += $_actual_cost;
                                }
                        }
 //     _debug_array($orders_paid_or_pending_temp);die();

Modified: trunk/property/setup/default_records.inc.php
===================================================================
--- trunk/property/setup/default_records.inc.php        2017-09-20 10:27:16 UTC 
(rev 17102)
+++ trunk/property/setup/default_records.inc.php        2017-09-20 19:23:36 UTC 
(rev 17103)
@@ -901,15 +901,31 @@
        switch ($GLOBALS['phpgw_info']['server']['db_type'])
        {
                case 'postgres':
-                       $sql = 'CREATE OR REPLACE VIEW 
fm_orders_paid_or_pending_view AS
-                                SELECT orders_paid_or_pending.order_id, 
orders_paid_or_pending.periode,orders_paid_or_pending.amount,orders_paid_or_pending.periodization,
 orders_paid_or_pending.periodization_start
-                                  FROM ( SELECT fm_ecobilagoverf.pmwrkord_code 
AS order_id, fm_ecobilagoverf.periode, sum(fm_ecobilagoverf.godkjentbelop) AS 
amount, fm_ecobilagoverf.periodization, fm_ecobilagoverf.periodization_start
-                                                  FROM fm_ecobilagoverf
-                                                  GROUP BY 
fm_ecobilagoverf.pmwrkord_code, fm_ecobilagoverf.periode, 
fm_ecobilagoverf.periodization, fm_ecobilagoverf.periodization_start
-                                               UNION ALL 
-                                                 SELECT 
fm_ecobilag.pmwrkord_code AS order_id, fm_ecobilag.periode, 
sum(fm_ecobilag.godkjentbelop) AS amount, fm_ecobilag.periodization, 
fm_ecobilag.periodization_start
-                                                  FROM fm_ecobilag
-                                                  GROUP BY 
fm_ecobilag.pmwrkord_code, fm_ecobilag.periode, fm_ecobilag.periodization, 
fm_ecobilag.periodization_start) orders_paid_or_pending ORDER BY 
orders_paid_or_pending.periode, orders_paid_or_pending.order_id';
+                       $sql = 'CREATE OR REPLACE VIEW 
public.fm_orders_paid_or_pending_view AS
+                               SELECT orders_paid_or_pending.order_id,
+                                  orders_paid_or_pending.periode,
+                                  orders_paid_or_pending.amount,
+                                  orders_paid_or_pending.periodization,
+                                  orders_paid_or_pending.periodization_start,
+                                  orders_paid_or_pending.mvakode
+                                 FROM ( SELECT fm_ecobilagoverf.pmwrkord_code 
AS order_id,
+                                                  fm_ecobilagoverf.periode,
+                                                  
sum(fm_ecobilagoverf.godkjentbelop) AS amount,
+                                                  
fm_ecobilagoverf.periodization,
+                                                  
fm_ecobilagoverf.periodization_start,
+                                                  fm_ecobilagoverf.mvakode
+                                                 FROM fm_ecobilagoverf
+                                                GROUP BY 
fm_ecobilagoverf.pmwrkord_code, fm_ecobilagoverf.periode, 
fm_ecobilagoverf.periodization, 
fm_ecobilagoverf.periodization_start,fm_ecobilagoverf.mvakode
+                                          UNION ALL
+                                               SELECT 
fm_ecobilag.pmwrkord_code AS order_id,
+                                                  fm_ecobilag.periode,
+                                                  
sum(fm_ecobilag.godkjentbelop) AS amount,
+                                                  fm_ecobilag.periodization,
+                                                  
fm_ecobilag.periodization_start,
+                                                  fm_ecobilag.mvakode
+                                                 FROM fm_ecobilag
+                                                GROUP BY 
fm_ecobilag.pmwrkord_code, fm_ecobilag.periode, fm_ecobilag.periodization, 
fm_ecobilag.periodization_start, fm_ecobilag.mvakode) orders_paid_or_pending
+                                ORDER BY orders_paid_or_pending.periode, 
orders_paid_or_pending.order_id';
 
                        $GLOBALS['phpgw_setup']->oProc->query($sql, __LINE__, 
__FILE__);
                        break;

Modified: trunk/property/setup/setup.inc.php
===================================================================
--- trunk/property/setup/setup.inc.php  2017-09-20 10:27:16 UTC (rev 17102)
+++ trunk/property/setup/setup.inc.php  2017-09-20 19:23:36 UTC (rev 17103)
@@ -11,7 +11,7 @@
         * @version $Id$
        */
        $setup_info['property']['name']                 = 'property';
-       $setup_info['property']['version']              = '0.9.17.721';
+       $setup_info['property']['version']              = '0.9.17.722';
        $setup_info['property']['app_order']    = 8;
        $setup_info['property']['enable']               = 1;
        $setup_info['property']['app_group']    = 'office';

Modified: trunk/property/setup/tables_update.inc.php
===================================================================
--- trunk/property/setup/tables_update.inc.php  2017-09-20 10:27:16 UTC (rev 
17102)
+++ trunk/property/setup/tables_update.inc.php  2017-09-20 19:23:36 UTC (rev 
17103)
@@ -9846,4 +9846,55 @@
                        $GLOBALS['setup_info']['property']['currentver'] = 
'0.9.17.721';
                        return $GLOBALS['setup_info']['property']['currentver'];
                }
-       }
\ No newline at end of file
+       }
+
+       /**
+       * Update property version from 0.9.17.721 to 0.9.17.722
+       *
+       */
+       $test[] = '0.9.17.721';
+
+       function property_upgrade0_9_17_721()
+       {
+               $GLOBALS['phpgw_setup']->oProc->m_odb->transaction_begin();
+
+               $GLOBALS['phpgw_setup']->oProc->query("DELETE FROM fm_cache");
+
+               $GLOBALS['phpgw_setup']->oProc->query("DROP VIEW 
fm_orders_paid_or_pending_view");
+
+               $sql = 'CREATE OR REPLACE VIEW 
public.fm_orders_paid_or_pending_view AS
+                       SELECT orders_paid_or_pending.order_id,
+                          orders_paid_or_pending.periode,
+                          orders_paid_or_pending.amount,
+                          orders_paid_or_pending.periodization,
+                          orders_paid_or_pending.periodization_start,
+                          orders_paid_or_pending.mvakode
+                         FROM ( SELECT fm_ecobilagoverf.pmwrkord_code AS 
order_id,
+                                          fm_ecobilagoverf.periode,
+                                          sum(fm_ecobilagoverf.godkjentbelop) 
AS amount,
+                                          fm_ecobilagoverf.periodization,
+                                          fm_ecobilagoverf.periodization_start,
+                                          fm_ecobilagoverf.mvakode
+                                         FROM fm_ecobilagoverf
+                                        GROUP BY 
fm_ecobilagoverf.pmwrkord_code, fm_ecobilagoverf.periode, 
fm_ecobilagoverf.periodization, 
fm_ecobilagoverf.periodization_start,fm_ecobilagoverf.mvakode
+                                  UNION ALL
+                                       SELECT fm_ecobilag.pmwrkord_code AS 
order_id,
+                                          fm_ecobilag.periode,
+                                          sum(fm_ecobilag.godkjentbelop) AS 
amount,
+                                          fm_ecobilag.periodization,
+                                          fm_ecobilag.periodization_start,
+                                          fm_ecobilag.mvakode
+                                         FROM fm_ecobilag
+                                        GROUP BY fm_ecobilag.pmwrkord_code, 
fm_ecobilag.periode, fm_ecobilag.periodization, 
fm_ecobilag.periodization_start, fm_ecobilag.mvakode) orders_paid_or_pending
+                        ORDER BY orders_paid_or_pending.periode, 
orders_paid_or_pending.order_id';
+
+               $GLOBALS['phpgw_setup']->oProc->query($sql, __LINE__, __FILE__);
+
+               if($GLOBALS['phpgw_setup']->oProc->m_odb->transaction_commit())
+               {
+                       $GLOBALS['setup_info']['property']['currentver'] = 
'0.9.17.722';
+                       return $GLOBALS['setup_info']['property']['currentver'];
+               }
+       }
+
+       
\ No newline at end of file




reply via email to

[Prev in Thread] Current Thread [Next in Thread]