fmsystem-commits
[Top][All Lists]
Advanced

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

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


From: Sigurd Nes
Subject: [Fmsystem-commits] [9272] property: actual cost
Date: Fri, 04 May 2012 08:29:39 +0000

Revision: 9272
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=9272
Author:   sigurdne
Date:     2012-05-04 08:29:38 +0000 (Fri, 04 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/setup/tables_update.inc.php

Modified: trunk/property/inc/class.boproject.inc.php
===================================================================
--- trunk/property/inc/class.boproject.inc.php  2012-05-03 20:44:04 UTC (rev 
9271)
+++ trunk/property/inc/class.boproject.inc.php  2012-05-04 08:29:38 UTC (rev 
9272)
@@ -518,12 +518,12 @@
 
                                
$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']
 * (1+(((int)$workorder_data[$i]['addition_percentage'])/100)), 2, ',', '');
+                               
$values['workorder_budget'][$i]['contract_sum']=(float)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]['calculation']=(float)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]['actual_cost'] ? $workorder_data[$i]['actual_cost'] : 0;
+                               $values['workorder_budget'][$i]['actual_cost'] 
= (float)number_format($workorder_data[$i]['actual_cost'] ? 
$workorder_data[$i]['actual_cost'] : 0, 2, ',', '');
                                $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'];

Modified: trunk/property/inc/class.soproject.inc.php
===================================================================
--- trunk/property/inc/class.soproject.inc.php  2012-05-03 20:44:04 UTC (rev 
9271)
+++ trunk/property/inc/class.soproject.inc.php  2012-05-04 08:29:38 UTC (rev 
9272)
@@ -253,8 +253,6 @@
                                $uicols['classname'][]          = 'rightClasss';
                                $uicols['sortable'][]           = '';
 
-//                             $cols .= ',(sum(fm_workorder.act_mtrl_cost) + 
sum(fm_workorder.act_vendor_cost)) as actual_cost';
-//                             $cols_return[] = 'actual_cost';
                                $uicols['input_type'][]         = 'text';
                                $uicols['name'][]                       = 
'actual_cost';
                                $uicols['descr'][]                      = 
lang('Actual cost');
@@ -386,9 +384,6 @@
                                        case 'project_id':
                                                $ordermethod = "ORDER BY 
fm_project.id {$sort}";
                                                break;
-                                       case 'actual_cost':
-                                               $order_field = 
',fm_workorder.act_mtrl_cost + fm_workorder.act_vendor_cost as actual_cost';
-                                               break;
                                        case 'combined_cost':
                                                $order_field = 
',sum(fm_workorder.combined_cost) as combined_cost';
                                                break;
@@ -669,9 +664,10 @@
                                        $project['billable_hours']      = 0;
 
                                        $sql_workder  = 'SELECT contract_sum, 
addition, calculation, budget,'
-                                       . ' (fm_workorder.act_mtrl_cost + 
fm_workorder.act_vendor_cost) as actual_cost,'
+                                       . ' 
fm_orders_actual_cost_view.actual_cost,'
                                        . ' billable_hours,closed'
                                        . " 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['project_id']}'";
 
                                        $this->db->query($sql_workder);
@@ -1832,18 +1828,26 @@
 
                                        break;
                                case 'workorder':
+                                       
+                                       $table = 'fm_workorder';
+                                       $status_table = 'fm_workorder_status';
+                                       $title_field = 'fm_workorder.title';
+
+                                       $join_method = "{$this->join} 
{$status_table} ON  {$table}.status = {$status_table}.id";
                                        if($paid)
                                        {
-                                               $filter .= " AND (act_mtrl_cost 
> 0 OR act_vendor_cost > 0)";
+                                               $join_method .=  " 
{$this->join} fm_orders_actual_cost_view ON fm_workorder.id = 
fm_orders_actual_cost_view.order_id";
                                        }
+                                       else
+                                       {
+                                               $join_method .=  " 
{$this->left_join} fm_orders_actual_cost_view ON fm_workorder.id = 
fm_orders_actual_cost_view.order_id";
+                                       }
 
-                                       $table = 'fm_workorder';
-                                       $status_table = 'fm_workorder_status';
-                                       $title_field = 'fm_workorder.title';
-                                       $actual_cost = ',(act_mtrl_cost + 
act_vendor_cost) as actual_cost';
+                                       $actual_cost = 
',fm_orders_actual_cost_view.actual_cost';
                                        
$this->_update_status_workorder($execute, $status_new, $ids);
                                        $sql = "SELECT {$table}.id, 
$status_table.descr as status ,{$title_field},start_date {$actual_cost} FROM 
{$table}"
-                                       . " {$this->join} {$status_table} ON  
{$table}.status = {$status_table}.id  WHERE ({$table}.start_date > 
{$start_date} AND {$table}.start_date < {$end_date} {$filter}) OR start_date is 
NULL"
+                                       . " {$join_method}"
+                                       . " WHERE ({$table}.start_date > 
{$start_date} AND {$table}.start_date < {$end_date} {$filter}) OR start_date is 
NULL"
                                        . " ORDER BY {$table}.id DESC";
                                        break;
                                default:
@@ -1861,7 +1865,7 @@
                                        'id'                    => 
$this->db->f('id'),
                                        'title'                 => 
htmlspecialchars_decode($this->db->f('title',true)),
                                        'status'                => 
$this->db->f('status',true),
-                                       'actual_cost'   => 
$this->db->f('actual_cost'),
+                                       'actual_cost'   => 
(float)$this->db->f('actual_cost'),
                                        'start_date'    => 
$GLOBALS['phpgw']->common->show_date($this->db->f('start_date'),$dateformat),
                                        'num_open'              => 
(int)$this->db->f('num_open'),
                                );

Modified: trunk/property/inc/class.soworkorder.inc.php
===================================================================
--- trunk/property/inc/class.soworkorder.inc.php        2012-05-03 20:44:04 UTC 
(rev 9271)
+++ trunk/property/inc/class.soworkorder.inc.php        2012-05-04 08:29:38 UTC 
(rev 9272)
@@ -274,6 +274,9 @@
                                $joinmethod .= " {$this->join} 
fm_workorder_status ON (fm_workorder.status = fm_workorder_status.id))";
                                $paranthesis .='(';
 
+                               $joinmethod .= " {$this->left_join} 
fm_orders_actual_cost_view ON (fm_workorder.id = 
fm_orders_actual_cost_view.order_id))";
+                               $paranthesis .='(';
+
                                $cols .= ',fm_vendor.org_name';
                                $cols_return[] = 'org_name';
                                $uicols['input_type'][]         = 'hidden';
@@ -300,7 +303,8 @@
                                $uicols['classname'][]          = 'rightClasss';
                                $uicols['sortable'][]           = true;
 
-                               $cols .= ',fm_workorder.act_mtrl_cost + 
fm_workorder.act_vendor_cost as actual_cost';
+//                             $cols .= ',fm_workorder.act_mtrl_cost + 
fm_workorder.act_vendor_cost as actual_cost';
+//                             $cols .= 
',fm_orders_actual_cost_view.actual_cost';
                                $cols_return[] = 'actual_cost';
                                $uicols['input_type'][]         = 'text';
                                $uicols['name'][]                       = 
'actual_cost';
@@ -311,7 +315,7 @@
                                $uicols['datatype'][]           = '';
                                $uicols['formatter'][]          = 
'myFormatCount2';
                                $uicols['classname'][]          = 'rightClasss';
-                               $uicols['sortable'][]           = true;
+                               $uicols['sortable'][]           = false;
 
                                $joinmethod .= " {$this->left_join} fm_vendor 
ON (fm_workorder.vendor_id = fm_vendor.id))";
                                $paranthesis .='(';
@@ -414,7 +418,7 @@
                                                $ordermethod = " ORDER BY 
fm_workorder.id {$sort}";
                                                break;
                                        case 'actual_cost':
-                                               $order_field = 
',fm_workorder.act_mtrl_cost + fm_workorder.act_vendor_cost as actual_cost';
+                                               $order_field = 
',fm_orders_actual_cost_view.actual_cost';
                                                break;
                                        case 'address':
                                                
if(isset($GLOBALS['phpgw']->config->config_data['location_at_workorder']) && 
$GLOBALS['phpgw']->config->config_data['location_at_workorder'])
@@ -504,7 +508,7 @@
                        {
                                $filtermethod .= " $where 
fm_wo_hours_category.id=$wo_hour_cat_id ";
                                $where= 'AND';
-                               $group_method = " group by 
fm_project.id,{$location_table}.location_code,fm_workorder.id,workorder_id,title,fm_workorder.status,fm_workorder.entry_date,user_lid,fm_workorder.vendor_id,project_owner,{$location_table}.address,fm_vendor.org_name,fm_workorder.combined_cost,fm_workorder.act_mtrl_cost,fm_workorder.act_vendor_cost";
+                               $group_method = " group by 
fm_project.id,{$location_table}.location_code,fm_workorder.id,workorder_id,title,fm_workorder.status,fm_workorder.entry_date,user_lid,fm_workorder.vendor_id,project_owner,{$location_table}.address,fm_vendor.org_name,fm_workorder.combined_cost,fm_orders_actual_cost_view.actual_cost,fm_workorder.act_vendor_cost";
                        }
 
                        if ($b_group)
@@ -752,8 +756,8 @@
                                                'b_account_id'                  
=> (int)$this->db->f('account_id'),
                                                'addition_percentage'   => 
(int)$this->db->f('addition'),
                                                'addition_rs'                   
=> (int)$this->db->f('rig_addition'),
-                                               'act_mtrl_cost'                 
=> $this->db->f('act_mtrl_cost'),
-                                               'act_vendor_cost'               
=> $this->db->f('act_vendor_cost'),
+                       //                      'act_mtrl_cost'                 
=> $this->db->f('act_mtrl_cost'),
+                       //                      'act_vendor_cost'               
=> $this->db->f('act_vendor_cost'),
                                                'user_id'                       
        => $this->db->f('user_id'),
                                                'vendor_id'                     
        => $this->db->f('vendor_id'),
                        //                      'coordinator'                   
=> $this->db->f('coordinator'),
@@ -1132,7 +1136,7 @@
                        }
                        else
                        {
-                               $combined_cost = $workorder['budget'];
+                               $combined_cost = (int)$workorder['budget'];
                        }
 
                        $this->db->query("SELECT bilagsnr FROM fm_ecobilag 
WHERE pmwrkord_code ='{$workorder['id']}'",__LINE__,__FILE__);

Modified: trunk/property/inc/class.uiproject.inc.php
===================================================================
--- trunk/property/inc/class.uiproject.inc.php  2012-05-03 20:44:04 UTC (rev 
9271)
+++ trunk/property/inc/class.uiproject.inc.php  2012-05-04 08:29:38 UTC (rev 
9272)
@@ -1661,6 +1661,7 @@
                                                                                
                                array('key' => 
'delete_year','label'=>lang('Delete'),'sortable'=>false,'resizeable'=>true,'formatter'=>'FormatterCenter')))
                                );
 
+//_debug_array($values['workorder_budget']);die();
                        $datavalues[1] = array
                                (
                                        'name'                                  
=> "1",
@@ -1679,7 +1680,7 @@
                                                                                
                                array('key' => 
'b_account_id','label'=>lang('Budget 
account'),'sortable'=>true,'resizeable'=>true,'formatter'=>'FormatterRight'),
                                                                                
                                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' => 
'contract_sum','label'=>lang('contract 
sum'),'sortable'=>true,'resizeable'=>true,'formatter'=>'FormatterAmount2'),
                                                                                
                                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),

Modified: trunk/property/setup/tables_update.inc.php
===================================================================
--- trunk/property/setup/tables_update.inc.php  2012-05-03 20:44:04 UTC (rev 
9271)
+++ trunk/property/setup/tables_update.inc.php  2012-05-04 08:29:38 UTC (rev 
9272)
@@ -6336,6 +6336,7 @@
        {
                $GLOBALS['phpgw_setup']->oProc->m_odb->transaction_begin();
                $GLOBALS['phpgw_setup']->oProc->query("DELETE FROM fm_cache");
+               $GLOBALS['phpgw_setup']->oProc->query("UPDATE fm_workorder SET 
combined_cost = 0 WHERE combined_cost IS NULL");
 
                $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';




reply via email to

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