From 600932521e12358dbe1c209ea1cc867acf244c40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Tue, 11 Jan 2011 10:16:44 +0000 Subject: [PATCH] =?UTF-8?q?-=20Budget=20Aufteilung=20auf=20Gesch=C3=A4ftsj?= =?UTF-8?q?ahre=20-=20Tablesorter=20Bugfix=20f=C3=BCr=20normale=20Integer?= =?UTF-8?q?=20und=20Zahlen=20mit=20Tausenderpunkt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/js/jquery.tablesorter.js | 27 ++++++++++++++--- include/wawi_kostenstelle.class.php | 46 ++++++++++++++++++++++++----- system/sync/sync_kostenstelle.php | 46 ++++++++++++++++++++++------- wawi/kontouebersicht.php | 5 ++-- wawi/kostenstellenuebersicht.php | 11 +++---- 5 files changed, 106 insertions(+), 29 deletions(-) diff --git a/include/js/jquery.tablesorter.js b/include/js/jquery.tablesorter.js index f16050d50..3b24b7647 100644 --- a/include/js/jquery.tablesorter.js +++ b/include/js/jquery.tablesorter.js @@ -677,6 +677,13 @@ return RegExp(exp).test($.trim(s)); }; + this.isInt = function(s,config) { + if(isNaN(parseInt(s))) + return false; + else + return true; + }; + this.clearTableBody = function(table) { if($.browser.msie) { function empty() { @@ -722,12 +729,24 @@ }); ts.addParser({ - id: "currency", - is: function(s) { - return /^[£$€?.]/.test(s); + id: "integer", + is: function(s,table) { + var c = table.config; + return $.tablesorter.isInt(s,c); }, format: function(s) { - return $.tablesorter.formatFloat(s.replace(new RegExp(/[^0-9.]/g),"")); + return $.tablesorter.formatInt(s); + }, + type: "numeric" + }); + + ts.addParser({ + id: "currency", + is: function(s) { + return /^[£$€?.,]/.test(s); + }, + format: function(s) { + return $.tablesorter.formatFloat(s.replace(new RegExp(/[^0-9.,]/g),"")); }, type: "numeric" }); diff --git a/include/wawi_kostenstelle.class.php b/include/wawi_kostenstelle.class.php index bde8bb730..b7a7a1eb1 100644 --- a/include/wawi_kostenstelle.class.php +++ b/include/wawi_kostenstelle.class.php @@ -23,6 +23,7 @@ * Klasse WaWi Kostenstelle */ require_once(dirname(__FILE__).'/basis_db.class.php'); +require_once(dirname(__FILE__).'/geschaeftsjahr.class.php'); class wawi_kostenstelle extends basis_db { @@ -35,7 +36,6 @@ class wawi_kostenstelle extends basis_db public $bezeichnung; // string public $kurzbz; // string public $aktiv; // boolean - public $budget; // integer public $updateamum; // timestamp public $updatevon; // string public $insertamum; // timestamp @@ -88,7 +88,6 @@ class wawi_kostenstelle extends basis_db $this->bezeichnung = $row->bezeichnung; $this->kurzbz = $row->kurzbz; $this->aktiv = ($row->aktiv=='t'?true:false); - $this->budget = $row->budget; $this->updateamum = $row->updateamum; $this->updatevon = $row->updatevon; $this->insertamum = $row->insertamum; @@ -139,7 +138,6 @@ class wawi_kostenstelle extends basis_db $obj->bezeichnung = $row->bezeichnung; $obj->kurzbz = $row->kurzbz; $obj->aktiv = ($row->aktiv=='t'?true:false); - $obj->budget = $row->budget; $obj->updateamum = $row->updateamum; $obj->updatevon = $row->updatevon; $obj->insertamum = $row->insertamum; @@ -253,13 +251,12 @@ class wawi_kostenstelle extends basis_db if($this->new) { //Neuen Datensatz einfuegen - $qry='BEGIN;INSERT INTO wawi.tbl_kostenstelle (oe_kurzbz, bezeichnung, kurzbz, aktiv, budget, updateamum, updatevon, + $qry='BEGIN;INSERT INTO wawi.tbl_kostenstelle (oe_kurzbz, bezeichnung, kurzbz, aktiv, updateamum, updatevon, insertamum, insertvon, ext_id, kostenstelle_nr, deaktiviertamum, deaktiviertvon ) VALUES('. $this->addslashes($this->oe_kurzbz).', '. $this->addslashes($this->bezeichnung).', '. $this->addslashes($this->kurzbz).', '. ($this->aktiv?'true':'false').', '. - $this->addslashes($this->budget).', '. $this->addslashes($this->updateamum).', '. $this->addslashes($this->updatevon).', '. $this->addslashes($this->insertamum).', '. @@ -283,7 +280,6 @@ class wawi_kostenstelle extends basis_db ' bezeichnung='.$this->addslashes($this->bezeichnung).', '. ' kurzbz='.$this->addslashes($this->kurzbz).', '. ' aktiv='.($this->aktiv?'true':'false').', '. - ' budget='.$this->addslashes($this->budget).', '. ' updateamum='.$this->addslashes($this->updateamum).', '. ' updatevon='.$this->addslashes($this->updatevon).', '. ' insertamum='.$this->addslashes($this->insertamum).', '. @@ -518,7 +514,6 @@ class wawi_kostenstelle extends basis_db $obj->bezeichnung = $row->bezeichnung; $obj->kurzbz = $row->kurzbz; $obj->aktiv = ($row->aktiv=='t'?true:false); - $obj->budget = $row->budget; $obj->updateamum = $row->updateamum; $obj->updatevon = $row->updatevon; $obj->insertamum = $row->insertamum; @@ -532,4 +527,39 @@ class wawi_kostenstelle extends basis_db } return true; } -} \ No newline at end of file + + /** + * Liefert das Budget einer Kostenstelle in einem Geschaeftsjahr + * + * @param $kostenstelle_id ID der Kostenstelle + * @param $geschaeftsjahr_kurzbz Geschaeftsjahr, wenn keines Uebergeben wird, wird das aktuelle genommen + */ + public function getBudget($kostenstelle_id, $geschaeftsjahr_kurzbz=null) + { + if(is_null($geschaeftsjahr_kurzbz)) + { + $gj = new geschaeftsjahr(); + $geschaeftsjahr_kurzbz = $gj->getAkt(); + } + + $qry = "SELECT budget FROM wawi.tbl_budget WHERE kostenstelle_id=".$this->addslashes($kostenstelle_id)." AND geschaeftsjahr_kurzbz=".$this->addslashes($geschaeftsjahr_kurzbz).";"; + + if($result = $this->db_query($qry)) + { + if($row = $this->db_fetch_object($result)) + { + return $row->budget; + } + else + { + $this->errormsg = 'Es gibt kein Budget für diese Kostenstelle'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden des Budgets'; + return false; + } + } +} diff --git a/system/sync/sync_kostenstelle.php b/system/sync/sync_kostenstelle.php index 75d4c0d00..16df237b8 100644 --- a/system/sync/sync_kostenstelle.php +++ b/system/sync/sync_kostenstelle.php @@ -120,16 +120,6 @@ if($con_wawi = pg_connect(CONN_STRING_WAWI)) $update_count++; } - if($row_neu->budget != $row->budget) - { - if($bedingung!='') - $bedingung.=','; - $bedingung .= " budget=".$db->addslashes($row->budget); - $updated_lines .= "budget von: \"".$row_neu->budget."\" auf: \"".$row->budget."\"\n"; - - $update_count++; - } - if($row_neu->ext_id != $row->kostenstelle_id) { if($bedingung!='') @@ -237,6 +227,42 @@ if($con_wawi = pg_connect(CONN_STRING_WAWI)) $error_count++; } } + + if($row->budget=='') + { + $row->budget=0; + } + $gj = 'GJ2010-2011'; + //Budget + $qry_budget = "SELECT budget FROM wawi.tbl_budget WHERE kostenstelle_id = '$row_neu->kostenstelle_id' AND geschaeftsjahr_kurzbz='$gj'"; + if($result_budget = $db->db_query($qry_budget)) + { + $qry_budget=''; + if($row_budget = $db->db_fetch_object($result_budget)) + { + if($row_budget->budget!=$row->budget) + { + $qry_budget = "UPDATE wawi.tbl_budget SET budget='$row->budget WHERE kostenstelle_id='$row_neu->kostenstelle_id' AND geschaeftsjahr_kurzbz='$gj'"; + $updated_lines .= "budget im gj $gj von: \"".$row_budget->budget."\" auf: \"".$row->budget."\"\n"; + $update_count++; + } + } + else + { + $qry_budget = "INSERT INTO wawi.tbl_budget(kostenstelle_id, geschaeftsjahr_kurzbz, budget) VALUES('".$row_neu->kostenstelle_id."','".$gj."','".$row->budget."');"; + $updated_lines .= "budget im gj $gj auf: \"".$row->budget."\"\n"; + $insert_count++; + } + + if($qry_budget!='') + { + if(!$db->db_query($qry_budget)) + { + $error_count++; + $errormsg.="Fehler beim Aktualisieren des Budgets:".$qry_budget; + } + } + } } else { diff --git a/wawi/kontouebersicht.php b/wawi/kontouebersicht.php index 5a3cd77cb..9be6ac66c 100644 --- a/wawi/kontouebersicht.php +++ b/wawi/kontouebersicht.php @@ -425,9 +425,10 @@ else { //Zeilen der Tabelle ausgeben echo "\n"; - echo " konto_id\" title='Bearbeiten'> konto_id\" onclick='return conf_del()' title='Löschen'> \n"; + echo " konto_id\" title='Bearbeiten'> konto_id\" onclick='return conf_del()' title='Löschen'> \n"; echo ''.$row->kontonr."\n"; echo ''.$row->kurzbz."\n"; + $i = 1; foreach($sprache->result as $s) { @@ -438,7 +439,7 @@ else $i++; } - echo ''.$aktiv=($row->aktiv)?'ja':'nein'."\n"; + echo ''.($row->aktiv?'ja':'nein')."\n"; echo "\n"; } diff --git a/wawi/kostenstellenuebersicht.php b/wawi/kostenstellenuebersicht.php index ee767f55c..3c5e3048e 100644 --- a/wawi/kostenstellenuebersicht.php +++ b/wawi/kostenstellenuebersicht.php @@ -52,7 +52,7 @@ require_once('../include/benutzerberechtigung.class.php'); function conf_del() { - return confirm('Diese Gruppe wirklich löschen?'); + return confirm('Wollen Sie diese Kostenstelle wirklich löschen?'); } @@ -306,7 +306,7 @@ if(isset($_GET['method'])) else if ($_GET['method']=="allocate") { // zu konto zuordnen - if(!$rechte->isberechtigt('wawi/kostenstelle',null, 'su',$_GET['id'])) + if(!$rechte->isBerechtigt('wawi/kostenstelle',null, 'su',$_GET['id'])) die('Sie haben keine Berechtigung zum Ändern der Kostenstelle'); echo '

Kostenstelle - Konten zuordnen


'; @@ -377,7 +377,7 @@ if(isset($_GET['method'])) } else if ($_GET['method']=="merge") { - if(!$rechte->isberechtigt('wawi/kostenstelle',null, 'suid')) + if(!$rechte->isBerechtigt('wawi/kostenstelle',null, 'suid')) die('Sie haben keine Berechtigung zum Zusammenlegen von Kostenstellen'); echo '

Kostenstelle - Zusammenlegen

'; @@ -510,7 +510,7 @@ else { // alle anzeigen echo "

Kostenstelle - Übersicht

\n"; - if(!$rechte->isberechtigt('wawi/kostenstelle',null, 's')) + if(!$rechte->isBerechtigt('wawi/kostenstelle',null, 's')) die('Sie haben keine Berechtigung zum Anzeigen der Kostenstellen'); if($kostenstelle->getAll()) @@ -540,7 +540,8 @@ else echo ''.$row->kostenstelle_nr."\n"; echo ''.$row->bezeichnung."\n"; echo ''.$row->kurzbz."\n"; - echo ''.number_format($row->budget, 2, ",",".")."\n"; + $budget = $kostenstelle->getBudget($row->kostenstelle_id); + echo ''.number_format($budget, 2, ",",".")."\n"; echo ''.$row->oe_kurzbz."\n"; echo ''.$aktiv=($row->aktiv)?'ja':'nein'."\n"; echo "\n";