[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [9229] property: invoice: handle partially approved v
From: |
Sigurd Nes |
Subject: |
[Fmsystem-commits] [9229] property: invoice: handle partially approved vouchers ( transfer and list in selectbox) |
Date: |
Sat, 28 Apr 2012 07:50:55 +0000 |
Revision: 9229
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=9229
Author: sigurdne
Date: 2012-04-28 07:50:54 +0000 (Sat, 28 Apr 2012)
Log Message:
-----------
property: invoice: handle partially approved vouchers (transfer and list in
selectbox)
Modified Paths:
--------------
trunk/property/inc/class.soinvoice.inc.php
trunk/property/inc/export/default/Basware_X114
Modified: trunk/property/inc/class.soinvoice.inc.php
===================================================================
--- trunk/property/inc/class.soinvoice.inc.php 2012-04-25 19:02:56 UTC (rev
9228)
+++ trunk/property/inc/class.soinvoice.inc.php 2012-04-28 07:50:54 UTC (rev
9229)
@@ -441,18 +441,18 @@
$invoice = array();
while ($this->db->next_record())
{
- $status_line = 'O';
+ $status_line = 0;
if($this->db->f('budsjettsigndato'))
{
- $status_line = 'C';
+ $status_line = 3;
}
else if($this->db->f('saksigndato'))
{
- $status_line = 'B';
+ $status_line = 2;
}
else if($this->db->f('oppsynsigndato'))
{
- $status_line = 'A';
+ $status_line = 1;
}
$invoice[] = array
@@ -2072,12 +2072,11 @@
$where = 'AND';
}
- $sql = "SELECT DISTINCT bilagsnr,bilagsnr_ut, org_name,
currency, kreditnota, fm_ecoart.descr as type, sum(godkjentbelop) as
godkjentbelop, oppsynsigndato, saksigndato,budsjettsigndato"
+ $sql = "SELECT bilagsnr,bilagsnr_ut, org_name,
currency, kreditnota, fm_ecoart.descr as type, godkjentbelop, oppsynsigndato,
saksigndato,budsjettsigndato"
." FROM fm_ecobilag"
." {$this->join} fm_vendor ON fm_vendor.id =
fm_ecobilag.spvend_code"
." {$this->join} fm_ecoart ON fm_ecoart.id =
fm_ecobilag.artid"
- ." $filtermethod $querymethod"
- ." GROUP BY bilagsnr,bilagsnr_ut, org_name, currency,
kreditnota, fm_ecoart.descr, oppsynsigndato, saksigndato,budsjettsigndato";
+ ." $filtermethod $querymethod";
$lang_voucer = lang('voucher id');
$lang_vendor = lang('vendor');
@@ -2091,38 +2090,64 @@
while($this->db->next_record())
{
- $status = 'O';
+ $bilagsnr = $this->db->f('bilagsnr');
+
+ $values[$bilagsnr]['bilagsnr_ut']
= $this->db->f('bilagsnr_ut');
+ $values[$bilagsnr]['org_name']
= $this->db->f('org_name');
+ $values[$bilagsnr]['currency']
= $this->db->f('currency');
+ $values[$bilagsnr]['kreditnota']
= $this->db->f('kreditnota');
+ $values[$bilagsnr]['type']
= $this->db->f('type');
+
+ if(isset($values[$bilagsnr]['godkjentbelop']))
+ {
+ $values[$bilagsnr]['godkjentbelop'] +=
$this->db->f('godkjentbelop');
+ }
+ else
+ {
+ $values[$bilagsnr]['godkjentbelop'] =
$this->db->f('godkjentbelop');
+ }
+
+ $status = 0;
if($this->db->f('budsjettsigndato'))
{
- $status = 'C';
+ $status = 3;
}
else if($this->db->f('saksigndato'))
{
- $status = 'B';
+ $status = 2;
}
else if($this->db->f('oppsynsigndato'))
{
- $status = 'A';
+ $status = 1;
}
- $voucher_id = $this->db->f('bilagsnr_ut') ?
$this->db->f('bilagsnr_ut') : $this->db->f('bilagsnr');
+ $values[$bilagsnr]['status'][] = $status;
+ }
+
+ $voucers = array();
+ foreach ($values as $bilagsnr => $entry)
+ {
+ $status = $entry['status'];
+ sort($status);
+
+ $voucher_id = $entry['bilagsnr_ut'] ?
$entry['bilagsnr_ut'] : $bilagsnr;
$name = sprintf("{$lang_voucer}:% 8s |
{$lang_vendor}:% 20s | {$lang_currency}:% 3s | {$lang_parked}: % 1s |
{$lang_type}: % 12s | {$lang_approved_amount}: % 19s | Status: % 1s",
$voucher_id,
-
trim(strtoupper($this->db->f('org_name',true))),
-
$this->db->f('currency'),
-
$this->db->f('kreditnota') ? 'X' : '',
- $this->db->f('type'),
-
number_format($this->db->f('godkjentbelop'), 2, ',', ' '),
- $status
+
trim(strtoupper($entry['org_name'])),
+ $entry['currency'],
+ $entry['kreditnota'] ?
'X' : '',
+ $entry['type'],
+
number_format($entry['godkjentbelop'], 2, ',', ' '),
+ $status[0]
);
- $values[] = array
+ $voucers[] = array
(
- 'id' => $this->db->f('bilagsnr'),
+ 'id' => $bilagsnr,
'name' => $name
);
}
- return $values;
+
+ return $voucers;
}
-
}
Modified: trunk/property/inc/export/default/Basware_X114
===================================================================
--- trunk/property/inc/export/default/Basware_X114 2012-04-25 19:02:56 UTC
(rev 9228)
+++ trunk/property/inc/export/default/Basware_X114 2012-04-28 07:50:54 UTC
(rev 9229)
@@ -106,11 +106,24 @@
$sql= "SELECT DISTINCT fm_ecobilag.bilagsnr
FROM fm_ecobilag {$this->join} fm_ecobilag_sum_view ON fm_ecobilag.bilagsnr =
fm_ecobilag_sum_view.bilagsnr WHERE approved_amount = '0.00' OR (
budsjettsigndato IS NOT NULL AND (saksigndato IS NOT NULL OR oppsynsigndato IS
NOT NULL) AND utbetalingsigndato IS NOT NULL ) ORDER BY bilagsnr ASC";
}
$this->db->query($sql,__LINE__,__FILE__);
- $vouchers = array();
+ $vouchers_step1 = array();
while ($this->db->next_record())
{
- $vouchers[] = $this->db->f('bilagsnr');
+ $vouchers_step1[] =
$this->db->f('bilagsnr');
}
+
+ //Filter out partially approved
+ $vouchers = array();
+ foreach($vouchers_step1 as $bilagsnr)
+ {
+ $sql = "SELECT bilagsnr FROM fm_ecobilag WHERE
bilagsnr = {$bilagsnr} AND budsjettsigndato IS NULL";
+ $this->db->query($sql,__LINE__,__FILE__);
+ if( !$this->db->next_record() )
+ {
+ $vouchers[] = $bilagsnr;
+ }
+ }
+
return $vouchers;
}
@@ -285,7 +298,7 @@
'budsjettansvarligid' =>
$this->db->f('budsjettansvarligid'),
'oppsynsigndato' =>
$this->db->f('oppsynsigndato'),
'saksigndato' =>
$this->db->f('saksigndato'),
- 'budsjettsigndato' =>
$this->db->f('budsjettsigndato'),
+ // 'budsjettsigndato' =>
$this->db->f('budsjettsigndato'), // må anvises på nytt etter tilbakerulling
'merknad'
=> $this->db->f('merknad',true),
'line_text'
=> $this->db->f('line_text',true),
'splitt'
=> $this->db->f('splitt'),
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [9229] property: invoice: handle partially approved vouchers ( transfer and list in selectbox),
Sigurd Nes <=