fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [11764] property: more on project budget


From: Sigurd Nes
Subject: [Fmsystem-commits] [11764] property: more on project budget
Date: Thu, 27 Feb 2014 21:14:45 +0000

Revision: 11764
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=11764
Author:   sigurdne
Date:     2014-02-27 21:14:44 +0000 (Thu, 27 Feb 2014)
Log Message:
-----------
property: more on project budget

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

Modified: trunk/property/inc/class.soproject.inc.php
===================================================================
--- trunk/property/inc/class.soproject.inc.php  2014-02-27 14:04:27 UTC (rev 
11763)
+++ trunk/property/inc/class.soproject.inc.php  2014-02-27 21:14:44 UTC (rev 
11764)
@@ -1710,8 +1710,11 @@
                                $historylog->add('RM', $project['id'], 
$project['remark']);
                        }
 
+                       /**
+                        * Add budget to project if missing.
+                        */
+                       $this->_update_project_budget($project['id']);
 
-
                        $receipt['id']                   = $project['id'];
                        $receipt['message'][]    = array('msg' => lang('project 
%1 has been edited', $project['id']));
 
@@ -3104,6 +3107,8 @@
 
                        if($update)
                        {
+                               $this->db->query("UPDATE fm_project_budget SET 
active = 0 WHERE project_id = {$project_id} AND year != {$current_year}", 
__LINE__, __FILE__);
+
                                $this->db->query("SELECT id, periodization_id 
FROM fm_project WHERE id = {$project_id}", __LINE__, __FILE__);
                                if($this->db->next_record())
                                {
@@ -3114,4 +3119,28 @@
                        }
                }
 
+               /**
+                * Add budget to project if missing.
+                * @param integer $project_id
+                */
+               protected function _update_project_budget($project_id)
+               {
+                       $years  = array();
+                       $ids    = array();
+                       $this->db->query("SELECT id FROM fm_workorder WHERE 
project_id = {$project_id}", __LINE__, __FILE__);
+                       while($this->db->next_record())
+                       {
+                               $ids[] = $this->db->f('id');
+                       }
+                       $this->db->query("SELECT DISTINCT year FROM 
fm_workorder_budget WHERE order_id IN (" . implode(',', $ids) . ')', __LINE__, 
__FILE__);
+                       while ($this->db->next_record())
+                       {
+                               $years[] = $this->db->f('year');
+                       }
+                       foreach($years as $_year)
+                       {
+                               
$this->check_and_update_project_budget($project_id, $_year);
+                       }
+               }
+
        }       
\ No newline at end of file

Modified: trunk/property/inc/class.soworkorder.inc.php
===================================================================
--- trunk/property/inc/class.soworkorder.inc.php        2014-02-27 14:04:27 UTC 
(rev 11763)
+++ trunk/property/inc/class.soworkorder.inc.php        2014-02-27 21:14:44 UTC 
(rev 11764)
@@ -1191,7 +1191,7 @@
                                $this->_update_order_budget($id, 
$workorder['budget_year'], $periodization_id, $workorder['budget'], 
$workorder['contract_sum'], $combined_cost);
                        }
 
-                       $this->_update_project_budget($workorder['project_id'], 
date('Y', $workorder['start_date']));
+                       $this->_update_project_budget($workorder['project_id']);
 
                        /*
                          if($workorder['charge_tenant'])
@@ -1416,7 +1416,7 @@
                                $historylog->add('B', $workorder['id'], 
$new_budget, $old_budget);
                        }
 
-                       $this->_update_project_budget($workorder['project_id'], 
date('Y', $workorder['start_date']));
+                       $this->_update_project_budget($workorder['project_id']);
 
                        /*                      if($workorder['charge_tenant'])
                          {
@@ -2386,9 +2386,8 @@
                /**
                 * Add budget to project if missing.
                 * @param integer $project_id
-                * @param integer $year
                 */
-               protected function _update_project_budget($project_id, $year)
+               protected function _update_project_budget($project_id)
                {
                        $soproject = CreateObject('property.soproject');
 




reply via email to

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