[Top][All Lists]
[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;
+ }
+
}
?>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] property/inc/class.soinvoice.inc.php, 1.4.2.5,
nomail <=