phpgroupware-cvs
[Top][All Lists]
Advanced

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

[Phpgroupware-cvs] property/inc/class.soinvoice.inc.php, 1.4.2.5


From: nomail
Subject: [Phpgroupware-cvs] property/inc/class.soinvoice.inc.php, 1.4.2.5
Date: Mon, 6 Dec 2004 16:01:22 +0100

Update of /property/inc
Modified Files:
        Branch: proposed-0_9_18-branch
          class.soinvoice.inc.php

date: 2004/12/06 15:01:22;  author: sigurdne;  state: Exp;  lines: +223 -1

Log Message:
no message
=====================================================================
Index: property/inc/class.soinvoice.inc.php
diff -u property/inc/class.soinvoice.inc.php:1.4.2.4 
property/inc/class.soinvoice.inc.php:1.4.2.5
--- property/inc/class.soinvoice.inc.php:1.4.2.4        Thu Nov 18 22:12:08 2004
+++ property/inc/class.soinvoice.inc.php        Mon Dec  6 15:01:22 2004
@@ -909,5 +909,227 @@
                }
 
 
+               function update_invoice($values)
+               {
+
+//_debug_array($values);
+                       foreach($values['counter'] as $n)
+                       {
+                               $local_error='';
+
+                               if($values['voucher_id'][$n])
+                               {
+                                       $voucher_id=$values['voucher_id'][$n];
+
+                                       
$check_value=array('voucher_id'=>$voucher_id,
+                                                       'sign_orig'             
=> $values['sign_orig'][$n],
+                                                       'sign'                  
=> $values['sign'][$n],
+                                                       'transfer'              
=> $values['transfer'][$n],
+                                                       'kreditnota'    => 
$values['kreditnota'][$n],
+                                                       'num_days'              
=> $values['num_days'][$n]);
+
+                                       
if($this->check_for_updates($check_value))
+                                       {
+
+                                               $check_count = 
$this->check_count($voucher_id);
+
+                                               if 
(!($check_count['dima_count'] == $values['invoice_count'][$n]))
+                                               {
+                                                       $receipt['error'][] = 
array('msg'=>lang('Dima is missing from sub invoice in:'). " 
".$values['voucher_id'][$n]);
+                                                       $local_error= true;
+                                               }
+
+
+
+                                               if 
(!($check_count['spbudact_code_count'] == $values['invoice_count'][$n]))
+                                               {
+                                                       $receipt['error'][] = 
array('msg'=>lang('Budget code is missing from sub invoice in :'). " 
".$values['voucher_id'][$n]);
+                                                       $local_error= true;
+                                               }
+
+                                               if 
(!($check_count['kostra_count'] == $values['invoice_count'][$n]))
+                                               {
+                                                       $receipt['error'][] = 
array('msg'=>'Tjenestekode mangler for undebilag: ' . " 
".$values['voucher_id'][$n]);
+                                                       $local_error= true;
+                                               }
+
+                                               $blank_date = '';
+                                               $sign_field='';
+                                               $sign_id='';
+                                               $sign_date_field='';
+                                               $sign_date='';
+                                               $kommma='';
+                                               $wait_for_kreditnota='';
+                                               $user_lid       
=strtoupper($GLOBALS['phpgw_info']['user']['account_lid']);
+
+                                               if 
(($values['sign'][$n]=='sign_none') && 
($values['sign_orig'][$n]=='sign_janitor')):
+                                                       $blank_date = 
'oppsynsigndato= NULL';
+                                                       $sign_field='';
+                                                       $sign_id='';
+                                                       $sign_date_field='';
+                                                       $sign_date='';
+                                                       $kommma='';
+                                               elseif 
(($values['sign'][$n]=='sign_none') && 
($values['sign_orig'][$n]=='sign_supervisor')):
+                                                       $blank_date = 
'saksigndato= NULL';
+                                                       $sign_field='';
+                                                       $sign_id='';
+                                                       $sign_date_field='';
+                                                       $sign_date='';
+                                                       $kommma='';
+                                               elseif 
(($values['sign'][$n]=='sign_none') && 
($values['sign_orig'][$n]=='sign_budget_responsible')):
+                                                       $blank_date = 
'budsjettsigndato= NULL';
+                                                       $sign_field='';
+                                                       $sign_id='';
+                                                       $sign_date_field='';
+                                                       $sign_date='';
+                                                       $kommma='';
+                                               elseif 
($values['sign'][$n]=='sign_janitor' && !$values['sign_orig'][$n]):
+                                                       $blank_date = '';
+                                                       $sign_field = 
'oppsynsmannid=';
+                                                       $sign_id = 
"'$user_lid'";
+                                                       $sign_date_field = 
'oppsynsigndato=';
+                                                       $sign_date="'" . 
date($this->bocommon->datetimeformat) . "'";
+                                                       $kommma=",";
+                                               elseif 
($values['sign'][$n]=='sign_janitor' && 
$values['sign_orig'][$n]=='sign_supervisor'):
+                                                       $blank_date = 
'saksigndato= NULL';
+                                                       $sign_field = 
'oppsynsmannid=';
+                                                       $sign_id = 
"'$user_lid'";
+                                                       $sign_date_field = 
'oppsynsigndato=';
+                                                       $sign_date="'" . 
date($this->bocommon->datetimeformat) . "'";
+                                                       $kommma=",";
+                                               elseif 
($values['sign'][$n]=='sign_janitor' && 
$values['sign_orig'][$n]=='sign_budget_responsible'):
+                                                       $blank_date = 
'budsjettsigndato= NULL';
+                                                       $sign_field = 
'oppsynsmannid=';
+                                                       $sign_id = 
"'$user_lid'";
+                                                       $sign_date_field = 
'oppsynsigndato=';
+                                                       $sign_date="'" . 
date($this->bocommon->datetimeformat) . "'";
+                                                       $kommma=",";
+                                               elseif 
($values['sign'][$n]=='sign_supervisor' && !$values['sign_orig'][$n]):
+                                                       $blank_date = '';
+                                                       $sign_field = 
'saksbehandlerid=';
+                                                       $sign_id = 
"'$user_lid'";
+                                                       $sign_date_field = 
'saksigndato=';
+                                                       $sign_date="'" . 
date($this->bocommon->datetimeformat) . "'";
+                                                       $kommma=",";
+                                               elseif 
($values['sign'][$n]=='sign_supervisor' && 
$values['sign_orig'][$n]=='sign_janitor'):
+                                                       $blank_date = 
'oppsynsigndato= NULL';
+                                                       $sign_field = 
'saksbehandlerid=';
+                                                       $sign_id = 
"'$user_lid'";
+                                                       $sign_date_field = 
'saksigndato=';
+                                                       $sign_date="'" . 
date($this->bocommon->datetimeformat) . "'";
+                                                       $kommma=",";
+                                               elseif 
($values['sign'][$n]=='sign_supervisor' && 
$values['sign_orig'][$n]=='sign_budget_responsible'):
+                                                       $blank_date = 
'budsjettsigndato= NULL';
+                                                       $sign_field = 
'saksbehandlerid=';
+                                                       $sign_id = 
"'$user_lid'";
+                                                       $sign_date_field = 
'saksigndato=';
+                                                       $sign_date="'" . 
date($this->bocommon->datetimeformat) . "'";
+                                                       $kommma=",";
+                                               elseif 
($values['sign'][$n]=='sign_budget_responsible' && 
$values['sign_orig'][$n]=='sign_janitor'):
+                                                       $blank_date = 
'oppsynsigndato= NULL';
+                                                       $sign_field = 
'budsjettansvarligid=';
+                                                       $sign_id = 
"'$user_lid'";
+                                                       $sign_date_field = 
'budsjettsigndato=';
+                                                       $sign_date="'" . 
date($this->bocommon->datetimeformat) . "'";
+                                                       $kommma=",";
+                                               elseif 
($values['sign'][$n]=='sign_budget_responsible' && 
$values['sign_orig'][$n]=='sign_supervisor'):
+                                                       $blank_date = 
'saksigndato= NULL';
+                                                       $sign_field = 
'budsjettansvarligid=';
+                                                       $sign_id = 
"'$user_lid'";
+                                                       $sign_date_field = 
'budsjettsigndato=';
+                                                       $sign_date="'" . 
date($this->bocommon->datetimeformat) . "'";
+                                                       $kommma=",";
+                                               elseif 
($values['sign'][$n]=='sign_budget_responsible' && !$values['sign_orig'][$n]):
+                                                       $blank_date = '';
+                                                       $sign_field = 
'budsjettansvarligid=';
+                                                       $sign_id = 
"'$user_lid'";
+                                                       $sign_date_field = 
'budsjettsigndato=';
+                                                       $sign_date="'" . 
date($this->bocommon->datetimeformat) . "'";
+                                                       $kommma=",";
+                                               endif;
+
+
+                                               if($blank_date )
+                                               {
+                                                       $kommma_blank=",";
+                                               }
+                                               else
+                                               {
+                                                       $kommma_blank='';
+                                               }
+
+                                               
$transfer_sign_field='utbetalingid=';
+                                               
$transfer_date_field='utbetalingsigndato=';
+
+                                               if 
(!($values['num_days_orig'][$n]==$values['num_days'][$n]))
+                                               {
+                                                       $payment_date = 
date($this->bocommon->dateformat,$values['timestamp_voucher_date'][$n]+(24*3600*$values['num_days'][$n]));
+                                                       
$GLOBALS['phpgw']->db->query("update fm_ecobilag set forfallsdato= 
'$payment_date' where bilagsnr='$voucher_id'");
+                                               }
+
+                                               $transfer_id="Null".",";
+                                               $transfer_date="Null";
+
+                                               if ($values['transfer'][$n])
+                                               {
+                                                       if 
($this->check_for_transfer($voucher_id))
+                                                       {
+                                                               
$transfer_id="'$user_lid',";
+                                                               
$transfer_date="'" . date($this->bocommon->datetimeformat) . "'";
+                                                       }
+                                                       else
+                                                       {
+                                                               
$receipt['error'][] = array('msg'=>'Dette bilaget er ikkje godkjent: ' . " 
".$voucher_id);
+                                                               $local_error= 
true;
+                                                       }
+
+                                               }
+
+                                               if ($values['kreditnota'][$n])
+                                               {
+                                                       $wait_for_kreditnota=1;
+                                                       $transfer_date="Null";
+                                               }
+                                               else
+                                               {
+                                                       
$wait_for_kreditnota='NULL';
+                                               }
+
+                                               if (! $local_error)
+                                               {
+                                                       $sql= "update 
fm_ecobilag set $blank_date $kommma_blank $sign_field $sign_id $kommma 
$sign_date_field $sign_date $kommma $transfer_sign_field $transfer_id 
$transfer_date_field $transfer_date ,kreditnota=$wait_for_kreditnota  where 
bilagsnr='$voucher_id'";
+                                                       $sql2= "update 
fm_ecobilag set utbetalingid = NULL, utbetalingsigndato = NULL WHERE 
budsjettsigndato IS NULL";
+                                                       $sql3= "update 
fm_ecobilag set utbetalingid = NULL, utbetalingsigndato = NULL WHERE 
oppsynsigndato IS NULL AND saksigndato IS NULL";
+                                                       
$GLOBALS['phpgw']->db->transaction_begin();
+                                                       
$GLOBALS['phpgw']->db->query($sql);
+                                                       
$GLOBALS['phpgw']->db->query($sql2);
+                                                       
$GLOBALS['phpgw']->db->query($sql3);
+                                                       
$GLOBALS['phpgw']->db->transaction_commit();
+
+                                                       $receipt['message'][] = 
array('msg'=> lang('voucher is updated: ') . $voucher_id);
+                                               }
+                                       }
+                               }
+                       }
+                       return $receipt;
+               }
+
+               function check_for_transfer($voucher_id='')
+               {
+                       $allow_transfer=False;
+
+                       $sql = "SELECT * FROM fm_ecobilag WHERE 
bilagsnr='$voucher_id'";
+                       $this->db->limit_query($sql,0,__LINE__,__FILE__,1);
+
+                       $this->db->next_record();
+
+                       if ($this->db->f('budsjettsigndato') && 
($this->db->f('oppsynsigndato') || $this->db->f('saksigndato')))
+                       {
+                               $allow_transfer=True;
+                       }
+
+                       return $allow_transfer;
+               }
+
        }
 ?>




reply via email to

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