fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [9708] property: calculation


From: Sigurd Nes
Subject: [Fmsystem-commits] [9708] property: calculation
Date: Tue, 03 Jul 2012 10:22:25 +0000

Revision: 9708
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=9708
Author:   sigurdne
Date:     2012-07-03 10:22:25 +0000 (Tue, 03 Jul 2012)
Log Message:
-----------
property: calculation

Modified Paths:
--------------
    trunk/property/inc/class.boworkorder.inc.php
    trunk/property/inc/class.soproject.inc.php
    trunk/property/inc/class.soworkorder.inc.php
    trunk/property/inc/class.uiproject.inc.php
    trunk/property/js/yahoo/project.edit.js

Modified: trunk/property/inc/class.boworkorder.inc.php
===================================================================
--- trunk/property/inc/class.boworkorder.inc.php        2012-07-03 10:02:54 UTC 
(rev 9707)
+++ trunk/property/inc/class.boworkorder.inc.php        2012-07-03 10:22:25 UTC 
(rev 9708)
@@ -531,7 +531,7 @@
                        $config->read();
                        $tax = 1+($config->config_data['fm_tax'])/100;
                        $workorder['calculation']       = 
$workorder['calculation'] * $tax;
-                       $workorder['actual_cost']       = 
$workorder['act_mtrl_cost'] + $workorder['act_vendor_cost'];
+       //              $workorder['actual_cost']       = 
$workorder['act_mtrl_cost'] + $workorder['act_vendor_cost'];
 
                        $vfs = CreateObject('phpgwapi.vfs');
                        $vfs->override_acl = 1;

Modified: trunk/property/inc/class.soproject.inc.php
===================================================================
--- trunk/property/inc/class.soproject.inc.php  2012-07-03 10:02:54 UTC (rev 
9707)
+++ trunk/property/inc/class.soproject.inc.php  2012-07-03 10:22:25 UTC (rev 
9708)
@@ -231,7 +231,7 @@
                                $cols_return[]                          = 
'budget';
                                $uicols['input_type'][]         = 'text';
                                $uicols['name'][]                       = 
'budget';
-                               $uicols['descr'][]                      = 
lang('Project budget');
+                               $uicols['descr'][]                      = 
lang('budget');
                                $uicols['statustext'][]         = lang('Project 
budget');
                                $uicols['exchange'][]           = false;
                                $uicols['align'][]                      = '';
@@ -244,7 +244,7 @@
 //                             $cols_return[] = 'combined_cost';
                                $uicols['input_type'][]         = 'text';
                                $uicols['name'][]                       = 
'combined_cost';
-                               $uicols['descr'][]                      = 
lang('Sum workorder');
+                               $uicols['descr'][]                      = 
lang('sum orders');
                                $uicols['statustext'][]         = lang('Cost - 
either budget or calculation');
                                $uicols['exchange'][]           = false;
                                $uicols['align'][]                      = '';
@@ -266,18 +266,18 @@
 
 //                             $cols .= ',planned_cost';
 //                             $cols_return[] = 'planned_cost';
-/*
+
                                $uicols['input_type'][]         = 'text';
-                               $uicols['name'][]                       = 
'planned_cost';
-                               $uicols['descr'][]                      = 
lang('planned cost');
-                               $uicols['statustext'][]         = lang('ordered 
minus paid');
+                               $uicols['name'][]                       = 
'diff';
+                               $uicols['descr'][]                      = 
lang('difference');
+                               $uicols['statustext'][]         = 
lang('difference');
                                $uicols['exchange'][]           = false;
                                $uicols['align'][]                      = '';
                                $uicols['datatype'][]           = '';
                                $uicols['formatter'][]          = 
'myFormatCount2';
                                $uicols['classname'][]          = 'rightClasss';
                                $uicols['sortable'][]           = '';
-*/
+
                                $cols.= ",$entity_table.user_id";
 
 //                             $cols .= ',sum(fm_workorder.billable_hours) as 
billable_hours';
@@ -677,15 +677,15 @@
                                                        $_sum = 0;
                                                        $closed = true;
                                                }
-                                               else 
if($this->db->f('contract_sum') > 0)
+                                               else 
if(abs($this->db->f('contract_sum')) > 0)
                                                {
                                                        $_sum = 
$this->db->f('contract_sum') * ( 1 + ((int)$this->db->f('addition')/100));
                                                }
-                                               else 
if($this->db->f('calculation') > 0)
+                                               else 
if(abs($this->db->f('calculation')) > 0)
                                                {
                                                        $_sum = 
$this->db->f('calculation');
                                                }
-                                               else if($this->db->f('budget') 
> 0)
+                                               else 
if(abs($this->db->f('budget')) > 0)
                                                {
                                                        $_sum = 
$this->db->f('budget');
                                                }
@@ -722,11 +722,24 @@
                                                $project['actual_cost']         
+= $_actual_cost;
                                        }
 
-                                       if($project['combined_cost'] < 0)
+                                       if($project['budget'] > 0)
                                        {
-                                               $project['combined_cost'] = 0;
+                                               if($project['combined_cost'] < 
0)
+                                               {
+                                                       
$project['combined_cost'] = 0;
+                                               }
                                        }
+                                       else
+                                       {
+                                               if($project['combined_cost'] > 
0)
+                                               {
+                                                       
$project['combined_cost'] = 0;
+                                               }
+                                       }
+
+                                       $project['diff'] =  $project['budget'] 
- $project['combined_cost'] - $project['actual_cost'];
                                }
+
                                unset($project);
 
                                $_datatype = array();
@@ -1704,6 +1717,12 @@
                                array_multisort($sort_year, SORT_ASC, $values);
                        }
 
+
+                       foreach ($values as &$entry)
+                       {
+                               $entry['diff'] = $entry['budget'] - 
$entry['sum_orders'] - $entry['actual_cost'];
+                       }
+
 //_debug_array( $values);die();
                        return $values;
                }

Modified: trunk/property/inc/class.soworkorder.inc.php
===================================================================
--- trunk/property/inc/class.soworkorder.inc.php        2012-07-03 10:02:54 UTC 
(rev 9707)
+++ trunk/property/inc/class.soworkorder.inc.php        2012-07-03 10:22:25 UTC 
(rev 9708)
@@ -326,6 +326,17 @@
                                $uicols['classname'][]          = 'rightClasss';
                                $uicols['sortable'][]           = true;
 
+                               $uicols['input_type'][]         = 'text';
+                               $uicols['name'][]                       = 
'diff';
+                               $uicols['descr'][]                      = 
lang('difference');
+                               $uicols['statustext'][]         = 
lang('difference');
+                               $uicols['exchange'][]           = false;
+                               $uicols['align'][]                      = '';
+                               $uicols['datatype'][]           = '';
+                               $uicols['formatter'][]          = 
'myFormatCount2';
+                               $uicols['classname'][]          = 'rightClasss';
+                               $uicols['sortable'][]           = '';
+
                                $joinmethod .= " {$this->left_join} fm_vendor 
ON (fm_workorder.vendor_id = fm_vendor.id))";
                                $paranthesis .='(';
 
@@ -700,6 +711,8 @@
                                {
                                        $workorder[$cols_return[$i]] = 
$this->db->f($cols_return[$i]);
                                }
+                               $workorder['budget'] = 
$workorder['combined_cost'];
+                               $workorder['combined_cost'] = 
$workorder['combined_cost'] - $workorder['actual_cost'];
                                $workorder['grants'] = 
(int)$this->grants[$this->db->f('project_owner')];
 
                                $location_code= $this->db->f('location_code');
@@ -723,10 +736,24 @@
                                        $workorder['actual_cost']       += 
$_actual_cost;
                                }
 
-                               if($workorder['combined_cost'] < 0)
+
+
+                               if($workorder['budget'] > 0)
                                {
-                                       $workorder['combined_cost'] = 0;
+                                       if($workorder['combined_cost'] < 0)
+                                       {
+                                               $workorder['combined_cost'] = 0;
+                                       }
                                }
+                               else
+                               {
+                                       if($workorder['combined_cost'] > 0)
+                                       {
+                                               $workorder['combined_cost'] = 0;
+                                       }
+                               }
+
+                               $workorder['diff'] =  $workorder['budget'] - 
$workorder['combined_cost'] - $workorder['actual_cost'];
                        }
 
                        return $workorder_list;
@@ -794,6 +821,7 @@
                                                'contract_sum'                  
=> $this->db->f('contract_sum'),
                                                'approved'                      
        => $this->db->f('approved'),
                                                'mail_recipients'               
=> explode(',', trim($this->db->f('mail_recipients'),',')),
+                                               'actual_cost'                   
=> $this->db->f('actual_cost')
                                        );
                        }
 

Modified: trunk/property/inc/class.uiproject.inc.php
===================================================================
--- trunk/property/inc/class.uiproject.inc.php  2012-07-03 10:02:54 UTC (rev 
9707)
+++ trunk/property/inc/class.uiproject.inc.php  2012-07-03 10:22:25 UTC (rev 
9708)
@@ -1712,6 +1712,7 @@
                                                                                
                                array('key' => 
'budget','label'=>lang('budget'),'sortable'=>false,'resizeable'=>true,'formatter'=>'FormatterAmount0'),
                                                                                
                                array('key' => 'sum_orders','label'=>lang('sum 
orders'),'sortable'=>false,'resizeable'=>true,'formatter'=>'FormatterAmount0'),
                                                                                
                                array('key' => 
'actual_cost','label'=>lang('actual 
cost'),'sortable'=>false,'resizeable'=>true,'formatter'=>'FormatterAmount2'),
+                                                                               
                                array('key' => 
'diff','label'=>lang('difference'),'sortable'=>false,'resizeable'=>true,'formatter'=>'FormatterAmount2'),
                                                                                
                                array('key' => 
'delete_year','label'=>lang('Delete'),'sortable'=>false,'resizeable'=>true,'formatter'=>'FormatterCenter')))
                                );
 

Modified: trunk/property/js/yahoo/project.edit.js
===================================================================
--- trunk/property/js/yahoo/project.edit.js     2012-07-03 10:02:54 UTC (rev 
9707)
+++ trunk/property/js/yahoo/project.edit.js     2012-07-03 10:22:25 UTC (rev 
9708)
@@ -96,6 +96,7 @@
                tmp_sum1 = getTotalSum('budget',0,paginator,datatable);
                tmp_sum2 = getTotalSum('sum_orders',0,paginator,datatable);
                tmp_sum3 = getTotalSum('actual_cost',2,paginator,datatable);
+               tmp_sum4 = getTotalSum('diff',2,paginator,datatable);
 
                if(typeof(tableYUI0)=='undefined')
                {
@@ -114,6 +115,7 @@
                td_sum(tmp_sum1);
                td_sum(tmp_sum2);
                td_sum(tmp_sum3);
+               td_sum(tmp_sum4);
                td_empty(1);
 
                myfoot = tableYUI0.createTFoot();




reply via email to

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