fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [11652] property: budget handling


From: Sigurd Nes
Subject: [Fmsystem-commits] [11652] property: budget handling
Date: Sun, 02 Feb 2014 19:43:49 +0000

Revision: 11652
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=11652
Author:   sigurdne
Date:     2014-02-02 19:43:49 +0000 (Sun, 02 Feb 2014)
Log Message:
-----------
property: budget handling

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

Modified: trunk/property/inc/class.soworkorder.inc.php
===================================================================
--- trunk/property/inc/class.soworkorder.inc.php        2014-02-02 17:03:26 UTC 
(rev 11651)
+++ trunk/property/inc/class.soworkorder.inc.php        2014-02-02 19:43:49 UTC 
(rev 11652)
@@ -1917,14 +1917,27 @@
                                }
                        }
 
-                       $sql = "SELECT order_id, periode, amount AS actual_cost"
+                       $sql = "SELECT order_id, periode, amount AS 
actual_cost, periodization, periodization_start"
                        . " 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";
 //_debug_array($sql);
                        $this->db->query($sql,__LINE__,__FILE__);
+                       $orders_paid_or_pending = array();
+
                        while ($this->db->next_record())
                        {
-                               $periode = $this->db->f('periode');
+                               $orders_paid_or_pending[] = array
+                               (
+                                       'periode'                               
=> $this->db->f('periode'),
+                                       'actual_cost'                   => 
$this->db->f('actual_cost'),
+                                       'periodization'                 => 
$this->db->f('periodization'),
+                                       'periodization_start'   => 
$this->db->f('periodization_start'),
+                               );
+                       }
+
+                       foreach ( $orders_paid_or_pending as 
$_orders_paid_or_pending)
+                       {
+                               $periode = $_orders_paid_or_pending['periode'];
                                $_dummy_period = $periode ? $periode : 
date('Y') . '00';
 
                                if(!$periode)
@@ -1937,7 +1950,7 @@
                                $_found = false;
                                if(isset($order_budget[$periode]))
                                {
-                                       $order_budget[$periode]['actual_cost'] 
+= $this->db->f('actual_cost');
+                                       $order_budget[$periode]['actual_cost'] 
+= $_orders_paid_or_pending['actual_cost'];
                                        
$order_budget[$periode]['actual_period'] = $periode;
                                        $_found = true;
                                }
@@ -1948,7 +1961,7 @@
                                                $_period = $year . 
sprintf("%02s", $i);
                                                
if(isset($order_budget[$_period]))
                                                {
-                                                       
$order_budget[$_period]['actual_cost'] += $this->db->f('actual_cost');
+                                                       
$order_budget[$_period]['actual_cost'] += 
$_orders_paid_or_pending['actual_cost'];
                                                        
$order_budget[$_period]['actual_period'] = $periode;
                                                        $_found = true;
                                                        break;
@@ -1960,7 +1973,7 @@
                                {
                                        $order_budget[$_dummy_period]['year'] = 
substr( $_dummy_period, 0, 4 );
                                        $order_budget[$_dummy_period]['month'] 
= substr( $_dummy_period, -2);
-                                       
$order_budget[$_dummy_period]['actual_cost'] += $this->db->f('actual_cost');
+                                       
$order_budget[$_dummy_period]['actual_cost'] += 
$_orders_paid_or_pending['actual_cost'];
                                        
$order_budget[$_dummy_period]['actual_period'] = $periode;
                                }
                        }

Modified: trunk/property/setup/default_records.inc.php
===================================================================
--- trunk/property/setup/default_records.inc.php        2014-02-02 17:03:26 UTC 
(rev 11651)
+++ trunk/property/setup/default_records.inc.php        2014-02-02 19:43:49 UTC 
(rev 11652)
@@ -909,15 +909,15 @@
                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
-                                       FROM ( SELECT 
fm_ecobilagoverf.pmwrkord_code AS order_id, fm_ecobilagoverf.periode, 
sum(fm_ecobilagoverf.godkjentbelop) AS amount
-                                          FROM fm_ecobilagoverf
-                                        GROUP BY 
fm_ecobilagoverf.pmwrkord_code, fm_ecobilagoverf.periode
+                               $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
-                                          FROM fm_ecobilag
-                                        GROUP BY fm_ecobilag.pmwrkord_code, 
fm_ecobilag.periode) orders_paid_or_pending';
+                                                 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';
 
                                
$GLOBALS['phpgw_setup']->oProc->query($sql,__LINE__,__FILE__);
                                break;

Modified: trunk/property/setup/tables_update.inc.php
===================================================================
--- trunk/property/setup/tables_update.inc.php  2014-02-02 17:03:26 UTC (rev 
11651)
+++ trunk/property/setup/tables_update.inc.php  2014-02-02 19:43:49 UTC (rev 
11652)
@@ -7864,3 +7864,35 @@
                        return $GLOBALS['setup_info']['property']['currentver'];
                }
        }
+       
+       /**
+       * Update property version from 0.9.17.676 to 0.9.17.677
+       * Add fields to view
+       */
+
+       $test[] = '0.9.17.676';
+       function property_upgrade0_9_17_676()
+       {
+               $GLOBALS['phpgw_setup']->oProc->m_odb->transaction_begin();
+
+               $GLOBALS['phpgw_setup']->oProc->query("DELETE FROM fm_cache");
+
+               $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';
+
+               $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.677';
+                       return $GLOBALS['setup_info']['property']['currentver'];
+               }
+       }
+




reply via email to

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