fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [9271] property: actual cost


From: Sigurd Nes
Subject: [Fmsystem-commits] [9271] property: actual cost
Date: Thu, 03 May 2012 20:44:05 +0000

Revision: 9271
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=9271
Author:   sigurdne
Date:     2012-05-03 20:44:04 +0000 (Thu, 03 May 2012)
Log Message:
-----------
property: actual cost

Modified Paths:
--------------
    trunk/property/inc/class.boproject.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
    trunk/property/setup/setup.inc.php
    trunk/property/setup/tables_update.inc.php
    trunk/property/templates/base/workorder.xsl

Modified: trunk/property/inc/class.boproject.inc.php
===================================================================
--- trunk/property/inc/class.boproject.inc.php  2012-05-03 13:24:06 UTC (rev 
9270)
+++ trunk/property/inc/class.boproject.inc.php  2012-05-03 20:44:04 UTC (rev 
9271)
@@ -511,21 +511,22 @@
 
                        for ($i=0;$i<count($workorder_data);$i++)
                        {
-                               $sum_workorder_budget= 
$sum_workorder_budget+$workorder_data[$i]['budget'];
-                               $sum_deviation= 
$sum_deviation+$workorder_data[$i]['deviation'];
-                               $sum_workorder_calculation= 
$sum_workorder_calculation+$workorder_data[$i]['calculation'];
-                               $sum_workorder_actual_cost= 
$sum_workorder_actual_cost+$workorder_data[$i]['act_mtrl_cost']+$workorder_data[$i]['act_vendor_cost'];
+                               $sum_workorder_budget+= 
$workorder_data[$i]['budget'];
+                               $sum_deviation+= 
$workorder_data[$i]['deviation'];
+                               $sum_workorder_calculation+= 
$workorder_data[$i]['calculation'];
+                               $sum_workorder_actual_cost+= 
$workorder_data[$i]['actual_cost'];
 
                                
$values['workorder_budget'][$i]['title']=$workorder_data[$i]['title'];
                                
$values['workorder_budget'][$i]['workorder_id']=$workorder_data[$i]['workorder_id'];
-                               
$values['workorder_budget'][$i]['contract_sum']=number_format($workorder_data[$i]['contract_sum'],
 2, ',', '');
+                               
$values['workorder_budget'][$i]['contract_sum']=number_format($workorder_data[$i]['contract_sum']
 * (1+(((int)$workorder_data[$i]['addition_percentage'])/100)), 2, ',', '');
                                $values['workorder_budget'][$i]['budget']= 
$workorder_data[$i]['budget'];
                                
$values['workorder_budget'][$i]['calculation']=number_format($workorder_data[$i]['calculation']*$tax,
 2, ',', '');
                                
$values['workorder_budget'][$i]['charge_tenant'] = 
$workorder_data[$i]['charge_tenant'];
                                $values['workorder_budget'][$i]['status'] = 
$workorder_data[$i]['status'];
-                               $values['workorder_budget'][$i]['actual_cost'] 
= $workorder_data[$i]['act_mtrl_cost']+$workorder_data[$i]['act_vendor_cost'];
+                               $values['workorder_budget'][$i]['actual_cost'] 
= $workorder_data[$i]['actual_cost'] ? $workorder_data[$i]['actual_cost'] : 0;
                                $values['workorder_budget'][$i]['b_account_id'] 
= $workorder_data[$i]['b_account_id'];
 //                             $values['workorder_budget'][$i]['paid_percent'] 
= (int)$workorder_data[$i]['paid_percent'];
+                               
$values['workorder_budget'][$i]['addition_percentage'] = 
$workorder_data[$i]['addition_percentage'];
 
                                if(isset($workorder_data[$i]['vendor_id']) && 
$workorder_data[$i]['vendor_id'])
                                {

Modified: trunk/property/inc/class.soproject.inc.php
===================================================================
--- trunk/property/inc/class.soproject.inc.php  2012-05-03 13:24:06 UTC (rev 
9270)
+++ trunk/property/inc/class.soproject.inc.php  2012-05-03 20:44:04 UTC (rev 
9271)
@@ -668,7 +668,7 @@
                                        $project['actual_cost']         = 0;
                                        $project['billable_hours']      = 0;
 
-                                       $sql_workder  = 'SELECT contract_sum, 
calculation, budget,'
+                                       $sql_workder  = 'SELECT contract_sum, 
addition, calculation, budget,'
                                        . ' (fm_workorder.act_mtrl_cost + 
fm_workorder.act_vendor_cost) as actual_cost,'
                                        . ' billable_hours,closed'
                                        . " FROM fm_workorder {$this->join} 
fm_workorder_status ON fm_workorder.status  = fm_workorder_status.id"
@@ -685,7 +685,7 @@
                                                }
                                                else 
if($this->db->f('contract_sum') > 0)
                                                {
-                                                       $_sum = 
$this->db->f('contract_sum');
+                                                       $_sum = 
$this->db->f('contract_sum') * ( 1 + ((int)$this->db->f('addition')/100));
                                                }
                                                else 
if($this->db->f('calculation') > 0)
                                                {
@@ -850,9 +850,13 @@
                {
                        $project_id = (int) $project_id;
                        $budget = array();
-                       $this->db->query("SELECT fm_workorder.title, 
act_mtrl_cost, act_vendor_cost, budget, fm_workorder.id as 
workorder_id,contract_sum,"
-                               ." vendor_id, 
calculation,rig_addition,addition,deviation,charge_tenant,fm_workorder_status.descr
 as status, fm_workorder.account_id as b_account_id"
-                               ." FROM fm_workorder {$this->join} 
fm_workorder_status ON fm_workorder.status = fm_workorder_status.id WHERE 
project_id={$project_id}");
+                       $this->db->query("SELECT fm_workorder.title, 
fm_orders_actual_cost_view.actual_cost, fm_workorder.budget, fm_workorder.id as 
workorder_id,fm_workorder.contract_sum,"
+                               . " fm_workorder.vendor_id, 
fm_workorder.calculation,fm_workorder.rig_addition,fm_workorder.addition,fm_workorder.deviation,fm_workorder.charge_tenant,"
+                               . " fm_workorder_status.descr as status, 
fm_workorder.account_id as b_account_id"
+                               . " FROM fm_workorder {$this->join} 
fm_workorder_status ON fm_workorder.status = fm_workorder_status.id"
+                               . " {$this->left_join} 
fm_orders_actual_cost_view ON fm_workorder.id = 
fm_orders_actual_cost_view.order_id"
+                               . " WHERE project_id={$project_id}");
+
                        while ($this->db->next_record())
                        {
                                $budget[] = array(
@@ -861,13 +865,13 @@
                                        'budget'                        => 
(int)$this->db->f('budget'),
                                        'deviation'                     => 
$this->db->f('deviation'),
                                        'calculation'           => 
$this->db->f('calculation'),
+                                       'actual_cost'           => 
$this->db->f('actual_cost'),
                                        'vendor_id'                     => 
$this->db->f('vendor_id'),
-                                       'act_mtrl_cost'         => 
$this->db->f('act_mtrl_cost'),
-                                       'act_vendor_cost'       => 
$this->db->f('act_vendor_cost'),
                                        'charge_tenant'         => 
$this->db->f('charge_tenant'),
                                        'status'                        => 
$this->db->f('status'),
                                        'b_account_id'          => 
$this->db->f('b_account_id'),
-                                       'contract_sum'          => 
(int)$this->db->f('contract_sum')
+                                       'contract_sum'          => 
(int)$this->db->f('contract_sum'),
+                                       'addition_percentage'   => 
(int)$this->db->f('addition')
                                );
                        }
                        return $budget;
@@ -1552,7 +1556,7 @@
                        $config->read();
                        $tax = 1+(($config->config_data['fm_tax'])/100);
 
-                       $sql = "SELECT fm_workorder.id, EXTRACT(YEAR from 
to_timestamp(start_date) ) as year, sum(calculation) as calculation, 
sum(budget) as budget, sum(contract_sum) as contract_sum"
+                       $sql = "SELECT fm_workorder.id, EXTRACT(YEAR from 
to_timestamp(start_date) ) as year, sum(calculation) as calculation, 
sum(budget) as budget, sum(contract_sum) as contract_sum, fm_workorder.addition"
                        . " FROM fm_workorder"
                        . " {$this->join} fm_workorder_status ON 
fm_workorder.status  = fm_workorder_status.id"
                        . " WHERE project_id = {$project_id} AND 
(fm_workorder_status.closed IS NULL OR fm_workorder_status.closed != 1)"
@@ -1567,7 +1571,7 @@
 
                                if($this->db->f('contract_sum') > 0)
                                {
-                                       $_amount = $this->db->f('contract_sum');
+                                       $_amount = $this->db->f('contract_sum') 
* ( 1 + ((int)$this->db->f('addition')/100));
                                }
                                else if($this->db->f('calculation') > 0)
                                {

Modified: trunk/property/inc/class.soworkorder.inc.php
===================================================================
--- trunk/property/inc/class.soworkorder.inc.php        2012-05-03 13:24:06 UTC 
(rev 9270)
+++ trunk/property/inc/class.soworkorder.inc.php        2012-05-03 20:44:04 UTC 
(rev 9271)
@@ -1119,7 +1119,8 @@
 
                        if ( abs((int)$workorder['contract_sum']) > 0)
                        {
-                               $combined_cost = 
(int)$workorder['contract_sum'];
+                               $addition = 1 + 
((int)$workorder['addition_percentage']/100);
+                               $combined_cost = 
(int)$workorder['contract_sum'] * $addition;
                        }
                        else if ($this->db->f('calculation') > 0)
                        {

Modified: trunk/property/inc/class.uiproject.inc.php
===================================================================
--- trunk/property/inc/class.uiproject.inc.php  2012-05-03 13:24:06 UTC (rev 
9270)
+++ trunk/property/inc/class.uiproject.inc.php  2012-05-03 20:44:04 UTC (rev 
9271)
@@ -1680,6 +1680,7 @@
                                                                                
                                array('key' => 
'budget','label'=>lang('Budget'),'sortable'=>true,'resizeable'=>true,'formatter'=>'FormatterAmount0'),
                                                                                
                                array('key' => 
'calculation','label'=>lang('Calculation'),'sortable'=>true,'resizeable'=>true,'formatter'=>'FormatterRight'),
                                                                                
                                array('key' => 
'contract_sum','label'=>lang('contract 
sum'),'sortable'=>true,'resizeable'=>true,'formatter'=>'FormatterRight'),
+                                                                               
                                array('key' => 'addition_percentage','label'=> 
'%','sortable'=>false,'resizeable'=>true,'formatter'=>'FormatterRight'),
                                                                                
                                array('key' => 
'actual_cost','label'=>lang('actual 
cost'),'sortable'=>true,'resizeable'=>true,'formatter'=>'FormatterAmount2'),
                                                                                
                //              array('key' => 
'charge_tenant','label'=>lang('charge 
tenant'),'sortable'=>true,'resizeable'=>true),
                                                                                
                                array('key' => 
'vendor_name','label'=>lang('Vendor'),'sortable'=>true,'resizeable'=>true),

Modified: trunk/property/js/yahoo/project.edit.js
===================================================================
--- trunk/property/js/yahoo/project.edit.js     2012-05-03 13:24:06 UTC (rev 
9270)
+++ trunk/property/js/yahoo/project.edit.js     2012-05-03 20:44:04 UTC (rev 
9271)
@@ -147,6 +147,7 @@
                td_sum(tmp_sum1);
                td_sum(tmp_sum2);
                td_sum(tmp_sum3);
+               td_empty(1);
                td_sum(tmp_sum4);
                td_empty(5);
 

Modified: trunk/property/setup/setup.inc.php
===================================================================
--- trunk/property/setup/setup.inc.php  2012-05-03 13:24:06 UTC (rev 9270)
+++ trunk/property/setup/setup.inc.php  2012-05-03 20:44:04 UTC (rev 9271)
@@ -12,7 +12,7 @@
        */
 
        $setup_info['property']['name']                 = 'property';
-       $setup_info['property']['version']              = '0.9.17.643';
+       $setup_info['property']['version']              = '0.9.17.644';
        $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  2012-05-03 13:24:06 UTC (rev 
9270)
+++ trunk/property/setup/tables_update.inc.php  2012-05-03 20:44:04 UTC (rev 
9271)
@@ -6326,3 +6326,26 @@
                        return $GLOBALS['setup_info']['property']['currentver'];
                }
        }
+
+       /**
+       * Update property version from 0.9.17.643 to 0.9.17.644
+       * Add view on fm_ecobilag
+       */
+       $test[] = '0.9.17.643';
+       function property_upgrade0_9_17_643()
+       {
+               $GLOBALS['phpgw_setup']->oProc->m_odb->transaction_begin();
+               $GLOBALS['phpgw_setup']->oProc->query("DELETE FROM fm_cache");
+
+               $sql = 'CREATE OR REPLACE VIEW fm_orders_actual_cost_view AS'
+                       . ' SELECT fm_orders.id as order_id, sum(godkjentbelop) 
AS actual_cost FROM fm_ecobilagoverf join fm_orders ON 
fm_ecobilagoverf.pmwrkord_code = fm_orders.id GROUP BY fm_orders.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.644';
+                       return $GLOBALS['setup_info']['property']['currentver'];
+               }
+       }
+

Modified: trunk/property/templates/base/workorder.xsl
===================================================================
--- trunk/property/templates/base/workorder.xsl 2012-05-03 13:24:06 UTC (rev 
9270)
+++ trunk/property/templates/base/workorder.xsl 2012-05-03 20:44:04 UTC (rev 
9271)
@@ -535,26 +535,31 @@
                                                        </tr>
                                                        <tr>
                                                                <td 
valign="top">
-                                                                       
<xsl:value-of select="lang_budget"/>
+                                                                       
<xsl:value-of select="lang_addition_percentage"/>
                                                                </td>
                                                                <td>
-                                                                       <input 
type="text" name="values[budget]" value="{value_budget}" 
onMouseout="window.status='';return true;"><xsl:attribute 
name="title"><xsl:value-of 
select="lang_budget_statustext"/></xsl:attribute></input><xsl:text> </xsl:text> 
[ <xsl:value-of select="currency"/> ]
+                                                                       <input 
type="text" name="values[addition_percentage]" 
value="{value_addition_percentage}" >
+                                                                               
<xsl:attribute name="title">
+                                                                               
        <xsl:value-of select="lang_addition_percentage_statustext"/>
+                                                                               
</xsl:attribute>
+                                                                       </input>
+                                                                       
<xsl:text> </xsl:text> [ % ]
                                                                </td>
                                                        </tr>
                                                        <tr>
                                                                <td 
valign="top">
-                                                                       
<xsl:value-of select="lang_addition_rs"/>
+                                                                       
<xsl:value-of select="lang_budget"/>
                                                                </td>
                                                                <td>
-                                                                       <input 
type="text" name="values[addition_rs]" value="{value_addition_rs}" 
onMouseout="window.status='';return true;"><xsl:attribute 
name="title"><xsl:value-of 
select="lang_addition_rs_statustext"/></xsl:attribute></input><xsl:text> 
</xsl:text> [ <xsl:value-of select="currency"/> ]
+                                                                       <input 
type="text" name="values[budget]" value="{value_budget}" 
onMouseout="window.status='';return true;"><xsl:attribute 
name="title"><xsl:value-of 
select="lang_budget_statustext"/></xsl:attribute></input><xsl:text> </xsl:text> 
[ <xsl:value-of select="currency"/> ]
                                                                </td>
                                                        </tr>
                                                        <tr>
                                                                <td 
valign="top">
-                                                                       
<xsl:value-of select="lang_addition_percentage"/>
+                                                                       
<xsl:value-of select="lang_addition_rs"/>
                                                                </td>
                                                                <td>
-                                                                       <input 
type="text" name="values[addition_percentage]" 
value="{value_addition_percentage}" onMouseout="window.status='';return 
true;"><xsl:attribute name="title"><xsl:value-of 
select="lang_addition_percentage_statustext"/></xsl:attribute></input><xsl:text>
 </xsl:text> [ % ]
+                                                                       <input 
type="text" name="values[addition_rs]" value="{value_addition_rs}" 
onMouseout="window.status='';return true;"><xsl:attribute 
name="title"><xsl:value-of 
select="lang_addition_rs_statustext"/></xsl:attribute></input><xsl:text> 
</xsl:text> [ <xsl:value-of select="currency"/> ]
                                                                </td>
                                                        </tr>
                                                        <tr>




reply via email to

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