This commit is contained in:
Andreas Österreicher
2007-09-07 12:54:00 +00:00
parent 8d6d9bb615
commit 6ca6144983
16 changed files with 215 additions and 61 deletions
+40 -36
View File
@@ -29,8 +29,8 @@ class konto
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var adresse Objekt
var $buch_nr = array();
var $result = array(); // @var adresse Objekt
var $buch_nr = array();
var $buch_date = array();
//Tabellenspalten
@@ -338,14 +338,18 @@ class konto
// * @param person_id, filter
// * @return true wenn ok, false wenn fehler
// ******************************************
function getBuchungen($person_id, $filter='alle')
function getBuchungen($person_id, $filter='alle', $studiengang_kz='')
{
if(!is_numeric($person_id))
{
$this->errormsg = 'Person_id muss eine gueltige Zahl sein';
return false;
}
if($studiengang_kz!='')
$stgwhere = " AND tbl_konto.studiengang_kz='$studiengang_kz' ";
else
$stgwhere = '';
if($filter=='offene')
{
//Alle Buchungen und 'darunterliegende' holen die noch offen sind
@@ -360,12 +364,12 @@ class konto
(betrag + (SELECT CASE WHEN sum(betrag) is null THEN 0
ELSE sum(betrag) END
FROM public.tbl_konto WHERE buchungsnr_verweis=konto_a.buchungsnr))<>0
AND person_id='$person_id') ORDER BY buchungsdatum";
AND person_id='$person_id') $stgwhere ORDER BY buchungsdatum";
}
else
$qry = "SELECT tbl_konto.*, anrede, titelpost, titelpre, nachname, vorname, vornamen
FROM public.tbl_konto JOIN public.tbl_person USING (person_id)
WHERE person_id='".$person_id."' ORDER BY buchungsdatum";
WHERE person_id='".$person_id."' $stgwhere ORDER BY buchungsdatum";
if($result = pg_query($this->conn, $qry))
{
@@ -464,43 +468,43 @@ class konto
$this->errormsg = 'Fehler beim Ermitteln der Differenz';
return false;
}
}
// ******************************
// * Überprüft, ob studiengebühr gebucht ist für
// * student_uid und studiensemester
// * gibt true/false zurück und setzt bei true das buchungsdatum $this->buchungsdatum
// ******************************
}
// ******************************
// * Überprüft, ob studiengebühr gebucht ist für
// * student_uid und studiensemester
// * gibt true/false zurück und setzt bei true das buchungsdatum $this->buchungsdatum
// ******************************
function checkStudienbeitrag($uid, $stsem)
{
$subqry = "SELECT tbl_konto.buchungsnr, tbl_konto.buchungsdatum FROM public.tbl_konto, public.tbl_benutzer WHERE tbl_konto.studiensemester_kurzbz = '".$stsem."' AND tbl_benutzer.uid = '".$uid."' AND tbl_benutzer.person_id = tbl_konto.person_id and tbl_konto.buchungstyp_kurzbz = 'Studiengebuehr' ORDER BY buchungsnr";
$subres = pg_query($this->conn, $subqry);
if (pg_num_rows($subres)==0)
return false;
else
{
while ($subrow = pg_fetch_object($subres))
{
$buch_nr[] = $subrow->buchungsnr;
$buch_date[] = $subrow->buchungsdatum;
}
}
$subqry = "SELECT tbl_konto.buchungsnr, tbl_konto.buchungsdatum FROM public.tbl_konto, public.tbl_benutzer WHERE tbl_konto.studiensemester_kurzbz = '".$stsem."' AND tbl_benutzer.uid = '".$uid."' AND tbl_benutzer.person_id = tbl_konto.person_id and tbl_konto.buchungstyp_kurzbz = 'Studiengebuehr' ORDER BY buchungsnr";
$subres = pg_query($this->conn, $subqry);
if (pg_num_rows($subres)==0)
return false;
else
{
while ($subrow = pg_fetch_object($subres))
{
$buch_nr[] = $subrow->buchungsnr;
$buch_date[] = $subrow->buchungsdatum;
}
}
$qry = "SELECT sum(betrag) as differenz FROM public.tbl_konto WHERE buchungsnr='".$buch_nr[0]."' OR buchungsnr_verweis='".$buch_nr[0]."'";
if($result = pg_query($this->conn, $qry))
{
if($row = pg_fetch_object($result))
{
if ($row->differenz == 0)
{
$this->buchungsdatum = $buch_date[1];
return true;
}
else
return false;
{
if ($row->differenz == 0)
{
$this->buchungsdatum = $buch_date[1];
return true;
}
else
return false;
}
else
{