- Budgeteingabe
- Budgetübersicht Kostenstellen
- Gruppenberechtigung werden nicht syncronisiert
This commit is contained in:
Andreas Österreicher
2011-01-12 13:40:11 +00:00
parent 0383f448ec
commit cf6a4324dd
8 changed files with 319 additions and 25 deletions
+2 -1
View File
@@ -26,7 +26,7 @@ $menu=array
(
'Administration'=> array
(
'name'=>'Administration', 'opener'=>'true', 'hide'=>'false', 'permissions'=>array('wawi/kostenstelle','wawi/konto'),
'name'=>'Administration', 'opener'=>'true', 'hide'=>'false', 'permissions'=>array('wawi/kostenstelle','wawi/konto','wawi/budget'),
'Konto'=>array
(
@@ -39,6 +39,7 @@ $menu=array
'name'=>'Kostenstelle', 'permissions'=>array('wawi/kostenstelle'),'link'=>'kostenstellenuebersicht.php', 'target'=>'content',
'KostenstelleNeu'=>array('name'=>'Neu', 'link'=>'kostenstellenuebersicht.php?method=update', 'target'=>'content'),
'KostenstelleZusammenlegen'=>array('name'=>'Zusammenlegen', 'link'=>'kostenstellenuebersicht.php?method=merge', 'target'=>'content'),
'Budgeteingabe'=>array('name'=>'Budgeteingabe', 'permissions'=>array('wawi/budget'), 'link'=>'budget.php', 'target'=>'content'),
),
),
'Benutzerbereich'=> array
+57
View File
@@ -562,4 +562,61 @@ class wawi_kostenstelle extends basis_db
return false;
}
}
/**
* Speichert das Budget einer Kostenstelle
*
* @param $kostenstelle_id
* @param $geschaeftsjahr_kurzbz
* @param $budget
*/
public function setBudget($kostenstelle_id, $geschaeftsjahr_kurzbz, $budget)
{
if($kostenstelle_id=='')
{
$this->errormsg = 'KostenstelleID muss uebergeben weden';
return false;
}
if($geschaeftsjahr_kurzbz=='')
{
$this->errormsg = 'Geschaeftsjahr muss uebergeben werden';
return false;
}
if($budget=='')
$budget='0';
if(!is_numeric($budget))
{
$this->errormsg = 'Budget ist ungueltig';
return false;
}
$qry = '';
if($old_budget = $this->getBudget($kostenstelle_id, $geschaeftsjahr_kurzbz))
{
if($old_budget!=$budget)
{
$qry = "UPDATE wawi.tbl_budget SET budget=".$this->addslashes($budget)." WHERE kostenstelle_id=".$this->addslashes($kostenstelle_id)." AND geschaeftsjahr_kurzbz=".$this->addslashes($geschaeftsjahr_kurzbz).";";
}
}
else
{
$qry = "INSERT INTO wawi.tbl_budget(kostenstelle_id, geschaeftsjahr_kurzbz, budget) VALUES(".$this->addslashes($kostenstelle_id).",".$this->addslashes($geschaeftsjahr_kurzbz).",".$this->addslashes($budget).");";
}
if($qry!='')
{
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg='Fehler beim Speichern des Budgets';
return false;
}
}
else
return true;
}
}
+63
View File
@@ -23,6 +23,7 @@
* Klasse WaWi Rechnung
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/geschaeftsjahr.class.php');
class wawi_rechnung extends basis_db
{
@@ -540,6 +541,11 @@ class wawi_rechnung extends basis_db
}
}
/**
* Liefert den gesamten Bruttobetrag von einer Rechnung
*
* @param $rechnung_id
*/
public function getBrutto($rechnung_id)
{
$this->loadBetraege($rechnung_id);
@@ -550,4 +556,61 @@ class wawi_rechnung extends basis_db
}
return $brutto;
}
/**
* Liefert die Summe der Brutto Rechnungsbeträge einer Kostenstelle in einem Geschäftsjahr
*
* @param $geschaeftsjahr_kurzbz
* @param $kostenstelle_id
*/
public function getAusgaben($geschaeftsjahr_kurzbz, $kostenstelle_id)
{
if(!is_numeric($kostenstelle_id))
{
$this->errormsg = 'KostenstelleID ist ungueltig';
return false;
}
$gj = new geschaeftsjahr();
if(!$gj->load($geschaeftsjahr_kurzbz))
{
$this->errormsg = 'Fehler beim Laden des Geschaeftsjahres';
return false;
}
$qry = "
SELECT sum(brutto) as gesamt
FROM
(
SELECT
(tbl_rechnungsbetrag.betrag*(tbl_rechnungsbetrag.mwst+100)/100) as brutto
FROM
wawi.tbl_rechnung
JOIN wawi.tbl_bestellung USING(bestellung_id)
JOIN wawi.tbl_rechnungsbetrag USING(rechnung_id)
WHERE
kostenstelle_id='$kostenstelle_id'
AND tbl_bestellung.insertamum>='".$gj->start."'
AND tbl_bestellung.insertamum<='".$gj->ende."'
) as a
";
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
return $row->gesamt;
}
else
{
$this->errormsg = 'Fehler beim Berechnen der Daten';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}