Orgform_kurzbz in bankverbindung.class und zahlungen_details.php

This commit is contained in:
Manfred Kindl
2020-02-23 18:18:14 +01:00
parent f146afb77f
commit b8b36e975e
2 changed files with 88 additions and 54 deletions
+57 -36
View File
@@ -26,6 +26,8 @@ require_once('../../../include/organisationseinheit.class.php');
require_once('../../../include/addon.class.php');
require_once('../../../include/benutzer.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
require_once('../../../include/student.class.php');
require_once('../../../include/prestudent.class.php');
$uid = get_uid();
@@ -66,7 +68,19 @@ $studiengang=new studiengang();
$studiengang->load($konto->studiengang_kz);
$bankverbindung=new bankverbindung();
$kontodaten = getBankverbindung($studiengang->oe_kurzbz);
// Wenn Person StudentIn ist, auch die OrgForm laden um die richtige Kontonummer anzeigen zu können
$student = new student();
$orgform = '';
if ($student->load($uid))
{
$laststatus = new prestudent();
if ($laststatus->getLastStatus($student->prestudent_id))
{
$orgform = $laststatus->orgform_kurzbz;
}
}
$kontodaten = getBankverbindung($studiengang->oe_kurzbz, $orgform);
$iban=$kontodaten["iban"];
$bic=$kontodaten["bic"];
@@ -156,56 +170,63 @@ $addon = new addon();
$addon->loadAddons();
foreach($addon->result as $a)
{
if($a->kurzbz === "eps")
{
if($a->kurzbz === "eps")
{
echo '<table class="tablesorter">
<thead>
<thead>
<tr>
<th width="40%">Zahlung anweisen</th>
<th width="60%"></th>
<th width="40%">Zahlung anweisen</th>
<th width="60%"></th>
</tr>
</thead>
<tbody>
</thead>
<tbody>
<tr>
<td>EPS</td>
<td>
<a href="../../../addons/eps/cis/index.php?buchungsnummer='.$buchungsnr.'"><img src="../../../skin/images/eps-logo_full.gif" width="30" height="30" alt="EPS Überweisung"></a>
</td>
<td>EPS</td>
<td>
<a href="../../../addons/eps/cis/index.php?buchungsnummer='.$buchungsnr.'"><img src="../../../skin/images/eps-logo_full.gif" width="30" height="30" alt="EPS Überweisung"></a>
</td>
</tr>
</tbody>
</tbody>
</table>';
}
}
}
echo '</body></html>';
function getBankverbindung($oe_kurzbz)
function getBankverbindung($oe_kurzbz, $orgform_kurzbz = null)
{
$iban = "";
$bic = "";
$result = array();
$bankverbindung=new bankverbindung();
if($bankverbindung->load_oe($oe_kurzbz) && count($bankverbindung->result)>0)
{
$result["iban"]=$bankverbindung->result[0]->iban;
$result["bic"]=$bankverbindung->result[0]->bic;
return $result;
}
else
{
$organisationseinheit = new organisationseinheit();
$organisationseinheit->load($oe_kurzbz);
if($organisationseinheit->oe_parent_kurzbz !== NULL)
$iban = "";
$bic = "";
$result = array();
$bankverbindung=new bankverbindung();
if($bankverbindung->load_oe($oe_kurzbz, $orgform_kurzbz) && count($bankverbindung->result) > 0)
{
$result = getBankverbindung($organisationseinheit->oe_parent_kurzbz);
return $result;
$result["iban"] = $bankverbindung->result[0]->iban;
$result["bic"] = $bankverbindung->result[0]->bic;
return $result;
}
// Nochmal ohne $orgform_kurzbz versuchen
elseif($bankverbindung->load_oe($oe_kurzbz) && count($bankverbindung->result) > 0)
{
$result["iban"] = $bankverbindung->result[0]->iban;
$result["bic"] = $bankverbindung->result[0]->bic;
return $result;
}
else
{
$result["iban"]="";
$result["bic"]="";
$organisationseinheit = new organisationseinheit();
$organisationseinheit->load($oe_kurzbz);
if($organisationseinheit->oe_parent_kurzbz !== NULL)
{
$result = getBankverbindung($organisationseinheit->oe_parent_kurzbz, $orgform_kurzbz);
return $result;
}
else
{
$result["iban"] = "";
$result["bic"] = "";
}
}
}
}
?>
+31 -18
View File
@@ -16,8 +16,8 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Klasse bankverbindung
@@ -47,6 +47,7 @@ class bankverbindung extends basis_db
public $updateamum; // timestamp
public $updatevon; // bigint
public $oe_kurzbz; // string
public $orgform_kurzbz; // string
/**
* Konstruktor
@@ -95,6 +96,7 @@ class bankverbindung extends basis_db
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
$this->oe_kurzbz = $row->oe_kurzbz;
$this->orgform_kurzbz = $row->orgform_kurzbz;
return true;
}
else
@@ -176,19 +178,20 @@ class bankverbindung extends basis_db
//Neuen Datensatz einfuegen
$qry = 'BEGIN;INSERT INTO public.tbl_bankverbindung (person_id, name, anschrift, blz, bic,
kontonr, iban, typ, oe_kurzbz, verrechnung, insertamum, insertvon, updateamum, updatevon) VALUES('.
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
$this->db_add_param($this->name).', '.
$this->db_add_param($this->anschrift).', '.
$this->db_add_param($this->blz).', '.
$this->db_add_param($this->bic).', '.
$this->db_add_param($this->kontonr).', '.
$this->db_add_param($this->iban).', '.
$this->db_add_param($this->typ).', '.
$this->db_add_param($this->oe_kurzbz).', '.
$this->db_add_param($this->verrechnung, FHC_BOOLEAN).', now(), '.
$this->db_add_param($this->insertvon).', now(), '.
$this->db_add_param($this->updatevon).');';
kontonr, iban, typ, oe_kurzbz, orgform_kurzbz, verrechnung, insertamum, insertvon, updateamum, updatevon) VALUES('.
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
$this->db_add_param($this->name).', '.
$this->db_add_param($this->anschrift).', '.
$this->db_add_param($this->blz).', '.
$this->db_add_param($this->bic).', '.
$this->db_add_param($this->kontonr).', '.
$this->db_add_param($this->iban).', '.
$this->db_add_param($this->typ).', '.
$this->db_add_param($this->oe_kurzbz).', '.
$this->db_add_param($this->orgform_kurzbz).', '.
$this->db_add_param($this->verrechnung, FHC_BOOLEAN).', now(), '.
$this->db_add_param($this->insertvon).', now(), '.
$this->db_add_param($this->updatevon).');';
}
else
{
@@ -212,6 +215,7 @@ class bankverbindung extends basis_db
'typ='.$this->db_add_param($this->typ).', '.
'verrechnung='.$this->db_add_param($this->verrechnung,FHC_BOOLEAN).', '.
'oe_kurzbz='.$this->db_add_param($this->oe_kurzbz).', '.
'orgform_kurzbz='.$this->db_add_param($this->orgform_kurzbz).', '.
'updateamum='.$this->db_add_param($this->updateamum).','.
'updatevon='.$this->db_add_param($this->updatevon).' '.
'WHERE bankverbindung_id='.$this->db_add_param($this->bankverbindung_id).';';
@@ -315,6 +319,7 @@ class bankverbindung extends basis_db
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->orgform_kurzbz = $row->orgform_kurzbz;
$this->result[] = $obj;
}
@@ -328,11 +333,12 @@ class bankverbindung extends basis_db
}
/**
* Laedt die Bankverbindung einer Organisationseinheit
* @param $person_id
* Laedt die Bankverbindung einer Organisationseinheit und optional einer OrgForm
* @param string $oe_kurzbz
* @param string $orgform_kurzbz
* @return true wenn ok, false im Fehlerfall
*/
public function load_oe($oe_kurzbz)
public function load_oe($oe_kurzbz, $orgform_kurzbz = null)
{
if($oe_kurzbz==null || $oe_kurzbz=='')
{
@@ -342,6 +348,11 @@ class bankverbindung extends basis_db
$qry = "SELECT * FROM public.tbl_bankverbindung WHERE oe_kurzbz=".$this->db_add_param($oe_kurzbz);
if($orgform_kurzbz != '')
{
$qry .= " AND orgform_kurzbz=".$this->db_add_param($orgform_kurzbz);
}
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -364,6 +375,7 @@ class bankverbindung extends basis_db
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->orgform_kurzbz = $row->orgform_kurzbz;
$this->result[] = $obj;
}
@@ -412,6 +424,7 @@ class bankverbindung extends basis_db
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
$this->oe_kurzbz = $row->oe_kurzbz;
$this->orgform_kurzbz = $row->orgform_kurzbz;
return true;
}