From 909501b8f1a6231cd7fd6c20007ed3fe5f945803 Mon Sep 17 00:00:00 2001 From: Karl Burkhart Date: Wed, 12 Jan 2011 11:29:05 +0000 Subject: [PATCH] --- include/wawi_bestellung.class.php | 66 +++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/include/wawi_bestellung.class.php b/include/wawi_bestellung.class.php index 071e706de..e5aa2df4f 100644 --- a/include/wawi_bestellung.class.php +++ b/include/wawi_bestellung.class.php @@ -724,5 +724,71 @@ class wawi_bestellung extends basis_db } return false; } + + /** + * + * Liefert die nächste Bestellnummer der Kostenstelle zurück + * @param $kostenstelle_id + */ + public function createBestellNr($kostenstelle_id) + { + // kostenstelle holen + $qry="select * from kostenstelle where kostenstelle_id=$kostenstelle_id"; + $result=@pg_query($conn, $qry); + $row=@pg_fetch_object($result); + $kostenstelle_kz=$row->kurzzeichen; + // studiengang-id zur kostenstelle + $studiengang_id=$row->studiengang_id; + // studiengang holen + $qry="select * from studiengang where studiengang_id=$studiengang_id"; + $result=@pg_query($conn, $qry); + $row=@pg_fetch_object($result); + $studiengang_kz=$row->kurzzeichen; + + $akt_timestamp=time(); + $akt_datum=getdate($akt_timestamp); + $akt_mon=$akt_datum[mon]; + $akt_year=$akt_datum[year]; + if ($akt_mon<9) + $akt_year--; + $akt_year=substr($akt_year,2,2); + $laenge=strlen($studiengang_kz.$akt_year.$kostenstelle_kz); + $sql_query="SELECT distinct substr(bestellnr,$laenge+1,3) as nr FROM bestellung ". + " WHERE bestellnr LIKE '$studiengang_kz$akt_year$kostenstelle_kz"."___' ". + "ORDER BY nr "; + //echo $sql_query."
"; + $result=@pg_query($conn, $sql_query); + $i=0; + if (@pg_num_rows($result)==0) + $bnum="000"; + else + { + while ($row=@pg_fetch_object($result)) + { + $bnum=$row->nr; + if ($i!=(int)$bnum) + { + if ($i==0) + { + $bnum=-1; + } + else + { + $row=@pg_fetch_object($result, --$i); + $bnum=$row->nr; + $i=@pg_num_rows($result); + //echo "Nachher: i=$i bnum=$bnum
"; + } + break; + } + $i++; + } + $bnum++; + } + for ($i=0;strlen($bnum)<3;$i++) + $bnum="0".$bnum; + $bnum=sprintf("%s%s%s%s",$studiengang_kz,$akt_year,$kostenstelle_kz,$bnum); + return $bnum; + } } \ No newline at end of file