fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [9740] property: calculation


From: Sigurd Nes
Subject: [Fmsystem-commits] [9740] property: calculation
Date: Wed, 04 Jul 2012 15:31:23 +0000

Revision: 9740
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=9740
Author:   sigurdne
Date:     2012-07-04 15:31:22 +0000 (Wed, 04 Jul 2012)
Log Message:
-----------
property: calculation

Modified Paths:
--------------
    trunk/property/inc/class.soproject.inc.php

Modified: trunk/property/inc/class.soproject.inc.php
===================================================================
--- trunk/property/inc/class.soproject.inc.php  2012-07-04 15:25:48 UTC (rev 
9739)
+++ trunk/property/inc/class.soproject.inc.php  2012-07-04 15:31:22 UTC (rev 
9740)
@@ -1555,24 +1555,28 @@
 
                        $sql = "SELECT id AS order_id FROM fm_workorder WHERE 
project_id = {$project_id}";
                        $this->db->query($sql,__LINE__,__FILE__);
-                       $orders = array();
+
                        $_orders = array();
                        while ($this->db->next_record())
                        {
                                $_orders[] = $this->db->f('order_id');
                        }
 
-                       foreach($_orders as $_order)
+
+                       $orders = array();
+                       if($_orders)
                        {
-                               $sql = "SELECT sum(godkjentbelop) AS 
actual_cost, periode FROM fm_ecobilagoverf WHERE pmwrkord_code = '{$_order}' 
GROUP BY periode ORDER BY periode ASC ";
+                               $_order_filter = implode(',', $_orders);
+                               $sql = "SELECT sum(godkjentbelop) AS 
actual_cost, pmwrkord_code AS order, periode FROM fm_ecobilagoverf WHERE 
pmwrkord_code IN ({$_order_filter}) GROUP BY pmwrkord_code, periode ORDER BY 
periode ASC ";
+
                                $this->db->query($sql,__LINE__,__FILE__);
                                while ($this->db->next_record())
                                {
                                        $year = substr( 
$this->db->f('periode'), 0, 4 );
-                                       $orders[$year][$_order]['actual_cost'] 
+= $this->db->f('actual_cost');
+                                       
$orders[$year][$this->db->f('order')]['actual_cost'] += 
$this->db->f('actual_cost');
                                }
 
-                               $sql = "SELECT sum(godkjentbelop) AS 
actual_cost, periode FROM fm_ecobilag WHERE pmwrkord_code = '{$_order}' GROUP 
BY periode ORDER BY periode ASC ";
+                               $sql = "SELECT sum(godkjentbelop) AS 
actual_cost, pmwrkord_code AS order, periode FROM fm_ecobilag WHERE 
pmwrkord_code IN ({$_order_filter}) GROUP BY pmwrkord_code, periode ORDER BY 
pmwrkord_code, periode ASC ";
                                $this->db->query($sql,__LINE__,__FILE__);
                                while ($this->db->next_record())
                                {
@@ -1581,7 +1585,7 @@
                                        {
                                                $year = date('Y');
                                        }
-                                       $orders[$year][$_order]['actual_cost'] 
+= $this->db->f('actual_cost');
+                                       
$orders[$year][$this->db->f('order')]['actual_cost'] += 
$this->db->f('actual_cost');
                                }
                        }
 
@@ -1633,7 +1637,6 @@
                                $project_budget[$this->db->f('year')] = 
(int)$this->db->f('budget');
                        }
                        
-//_debug_array($orders);die();
                        foreach ($project_budget as $year => $budget)
                        {
                                $_sum_orders = 0;
@@ -1661,6 +1664,15 @@
                                                }
                                                else // income
                                                {
+                                                       
if($order['actual_cost'] > 0)
+                                                       {
+                                                               $_sum_orders += 
$order['actual_cost'];
+                                                       }
+                                                       else
+                                                       {
+                                                               $_sum_orders -= 
$order['actual_cost'];                                                  
+                                                       }
+
                                                        $_sum_orders = 
$_sum_orders < 0 ? $_sum_orders : 0;                                            
 
                                                }
                                                




reply via email to

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