diff --git a/include/tw/wawi_menu_main.inc.php b/include/tw/wawi_menu_main.inc.php index 3ca70c593..52a7f9bbc 100644 --- a/include/tw/wawi_menu_main.inc.php +++ b/include/tw/wawi_menu_main.inc.php @@ -68,10 +68,8 @@ $menu=array 'Berichte'=> array ( 'name'=>'Berichte', 'opener'=>'true', 'hide'=>'false','permissions'=>array('wawi/bestellung','wawi/rechnung'), - 'Tags'=>array - ( - 'name'=>'Tags', 'permissions'=>array('wawi/bestellung'),'link'=>'auswertungen/wawi_tags.php', 'target'=>'content', - ) + 'Kostenstelle'=>array ('name'=>'Kostenstelle', 'permissions'=>array('wawi/bestellung'),'link'=>'auswertungen/kostenstelle.php', 'target'=>'content'), + 'Tags'=>array ('name'=>'Tags', 'permissions'=>array('wawi/bestellung'),'link'=>'auswertungen/wawi_tags.php', 'target'=>'content') ) ); diff --git a/include/wawi_rechnung.class.php b/include/wawi_rechnung.class.php index 7a5f443cf..fa7e0403d 100644 --- a/include/wawi_rechnung.class.php +++ b/include/wawi_rechnung.class.php @@ -305,9 +305,9 @@ class wawi_rechnung extends basis_db $this->addslashes($this->bestellung_id).', '. $this->addslashes($this->rechnungstyp_kurzbz).', '. $this->addslashes($this->buchungsdatum).', '. - ($this->rechnungsnr==''?"currval('wawi.seq_rechnung_rechnung_id')":$this->addslashes($this->rechnungsnr)).", ". + $this->addslashes($this->rechnungsnr).', '. $this->addslashes($this->rechnungsdatum).', '. - $this->addslashes($this->transfer_datum).", ". + $this->addslashes($this->transfer_datum).', '. $this->addslashes($this->buchungstext).', '. ($this->freigegeben?'true':'false').','. $this->addslashes($this->freigegebenvon).', '. diff --git a/system/checksystem.php b/system/checksystem.php index a8e6ccf9d..d7a2c8af7 100644 --- a/system/checksystem.php +++ b/system/checksystem.php @@ -1392,6 +1392,7 @@ if(!@$db->db_query('SELECT * FROM wawi.tbl_konto LIMIT 1')) INSERT INTO wawi.tbl_bestellstatus(bestellstatus_kurzbz, beschreibung) VALUES('Storno','Stornierung einer Bestellung'); INSERT INTO wawi.tbl_bestellstatus(bestellstatus_kurzbz, beschreibung) VALUES('Lieferung','Ware wurde geliefert'); INSERT INTO wawi.tbl_bestellstatus(bestellstatus_kurzbz, beschreibung) VALUES('Bestellung','Ware wurde bestellt'); + INSERT INTO wawi.tbl_bestellstatus(bestellstatus_kurzbz, beschreibung) VALUES('Abgeschickt','Bestellvorgang wurde eingeleitet'); CREATE TABLE wawi.tbl_bestellung_bestellstatus ( @@ -1607,8 +1608,9 @@ if(!@$db->db_query('SELECT * FROM wawi.tbl_konto LIMIT 1')) CREATE INDEX idx_rechnung_bestellung_id ON tbl_rechnung (bestellung_id) CREATE INDEX idx_bestellung_bestellstatus_bestellung_id ON tbl_bestellung_bestellstatus (bestellung_id) - INSERT INTO wawi.tbl_rechnungstyp(rechnungstyp_kurzbz, beschreibung) VALUES('Zahlung','Zahlung'); + INSERT INTO wawi.tbl_rechnungstyp(rechnungstyp_kurzbz, beschreibung) VALUES('Rechnung','Rechnung'); INSERT INTO wawi.tbl_rechnungstyp(rechnungstyp_kurzbz, beschreibung) VALUES('Gutschrift','Gutschrift'); + INSERT INTO wawi.tbl_rechnungstyp(rechnungstyp_kurzbz, beschreibung) VALUES('Honorarnote','Honorarnote'); "; if(!$db->db_query($qry)) @@ -1750,6 +1752,9 @@ if(!@$db->db_query("SELECT 1 FROM public.tbl_geschaeftsjahr LIMIT 1")) ); ALTER TABLE public.tbl_geschaeftsjahr ADD CONSTRAINT pk_tbl_geschaeftsjahr PRIMARY KEY (geschaeftsjahr_kurzbz); + INSERT INTO public.tbl_geschaeftsjahr(geschaeftsjahr_kurzbz, start, ende, bezeichnung) VALUES('GJ2000-2001','2000-09-01','2001-08-31','Geschäftsjahr 2000-2001'); + INSERT INTO public.tbl_geschaeftsjahr(geschaeftsjahr_kurzbz, start, ende, bezeichnung) VALUES('GJ2001-2002','2001-09-01','2002-08-31','Geschäftsjahr 2001-2002'); + INSERT INTO public.tbl_geschaeftsjahr(geschaeftsjahr_kurzbz, start, ende, bezeichnung) VALUES('GJ2002-2003','2002-09-01','2003-08-31','Geschäftsjahr 2002-2003'); INSERT INTO public.tbl_geschaeftsjahr(geschaeftsjahr_kurzbz, start, ende, bezeichnung) VALUES('GJ2003-2004','2003-09-01','2004-08-31','Geschäftsjahr 2003-2004'); INSERT INTO public.tbl_geschaeftsjahr(geschaeftsjahr_kurzbz, start, ende, bezeichnung) VALUES('GJ2004-2005','2004-09-01','2005-08-31','Geschäftsjahr 2004-2005'); INSERT INTO public.tbl_geschaeftsjahr(geschaeftsjahr_kurzbz, start, ende, bezeichnung) VALUES('GJ2005-2006','2005-09-01','2006-08-31','Geschäftsjahr 2005-2006'); diff --git a/system/sync/sync_berechtigung.php b/system/sync/sync_berechtigung.php index 492e584c2..f131f9123 100644 --- a/system/sync/sync_berechtigung.php +++ b/system/sync/sync_berechtigung.php @@ -137,6 +137,9 @@ if($result=pg_query($conn_wawi, $qry)) // wawi/rechnung $art $kostenstelle_id/$oe_kurzbz addBerechtigung($row->username_neu, 'wawi/rechnung', $art, $row->oe_kurzbz, $row->kostenstelle_id); + + // wawi/firma sui Firmenverwaltung fuer alle freischalten die eine berechtigung im wawi haben + addBerechtigung($row->username_neu, 'wawi/firma', 'sui'); } } diff --git a/system/sync/sync_bestellung.php b/system/sync/sync_bestellung.php index 063216d2f..c010cd9f1 100644 --- a/system/sync/sync_bestellung.php +++ b/system/sync/sync_bestellung.php @@ -123,11 +123,11 @@ if($con_wawi = pg_connect(CONN_STRING_WAWI)) if($row_neu->besteller_uid != $row->besteller_neu || $row_neu->kostenstelle_id != $row->kostenstelle_id || $row_neu->konto_id != $row->konto_id || $row_neu->firma_id != $firma || $row_neu->bestell_nr != $row->bestellnr || $row_neu->titel != $row->newtitel || $row_neu->bemerkung != $row->bemerkungen || $row_neu->liefertermin != $row->geliefert || $row_neu->updatevon != $row->lusername || $row_neu->insertvon != $row->cusername || $date->formatDatum($row_neu->updateamum, 'Y-m-d H:i:s') != $date->formatDatum($row->lupdate, 'Y-m-d H:i:s') || - $date->formatDatum($row_neu->insertamum, 'Y-m-d H:i:s') != $date->formatDatum($row->cdate, 'Y-m-d H:i:s') || $row_neu->freigegeben!=$freigegeben) + $date->formatDatum($row_neu->insertamum, 'Y-m-d H:i:s') != $date->formatDatum($row->erstellung, 'Y-m-d H:i:s') || $row_neu->freigegeben!=$freigegeben) { $qry="UPDATE wawi.tbl_bestellung SET besteller_uid = ".$db->addslashes($row->besteller_neu).", kostenstelle_id = ".$db->addslashes($row->kostenstelle_id).", konto_id = ".$db->addslashes($row->konto_id).", firma_id = ".$db->addslashes($firma)." ,bestell_nr = ".$db->addslashes($row->bestellnr).", titel = ".$db->addslashes($row->newtitel).", bemerkung = ".$db->addslashes($row->bemerkungen).", freigegeben=".($freigegeben=='t'?'true':'false').", liefertermin= - ".$db->addslashes($row->geliefert).", updateamum = ".$db->addslashes($row->lupdate).", updatevon = ".$db->addslashes($row->lusername).", insertamum = ".$db->addslashes($row->cdate).", insertvon = + ".$db->addslashes($row->geliefert).", updateamum = ".$db->addslashes($row->lupdate).", updatevon = ".$db->addslashes($row->lusername).", insertamum = ".$db->addslashes($row->erstellung).", insertvon = ".$db->addslashes($row->cusername)." WHERE bestellung_id = ".$db->addslashes($row->bestellung_id).";"; if($db->db_query($qry) != true) @@ -300,7 +300,7 @@ if($con_wawi = pg_connect(CONN_STRING_WAWI)) ".$db->addslashes($row->bestellung_id).",".$db->addslashes($row->besteller_neu).",".$db->addslashes($row->kostenstelle_id).", ".$db->addslashes($row->konto_id).",".$db->addslashes($firma).",".$db->addslashes('1').",".$db->addslashes('1').", ".$freigegeben.",".$db->addslashes($row->bestellnr).",".$db->addslashes($row->newtitel).",".$db->addslashes($row->bemerkungen).", - ".$db->addslashes($row->geliefert).",".$db->addslashes($row->lupdate).",".$db->addslashes($row->lusername).",".$db->addslashes($row->cdate).", + ".$db->addslashes($row->geliefert).",".$db->addslashes($row->lupdate).",".$db->addslashes($row->lusername).",".$db->addslashes($row->erstellung).", ".$db->addslashes($row->cusername).",".$db->addslashes($row->bestellung_id).")"; //echo $qry; if($db->db_query($qry) != true) diff --git a/wawi/auswertungen/kostenstelle.php b/wawi/auswertungen/kostenstelle.php new file mode 100644 index 000000000..eaa40470b --- /dev/null +++ b/wawi/auswertungen/kostenstelle.php @@ -0,0 +1,232 @@ +, + * Andreas Oesterreicher and + * Karl Burkhart . + */ +/** + * Auswertung der Bestellungen und Rechnungen auf Kostenstellen + */ +require_once('../../config/wawi.config.inc.php'); +require_once('../auth.php'); +require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/wawi_rechnung.class.php'); +require_once('../../include/wawi_bestellung.class.php'); +require_once('../../include/wawi_kostenstelle.class.php'); +require_once('../../include/studiensemester.class.php'); +require_once('../../include/tags.class.php'); +require_once('../../include/geschaeftsjahr.class.php'); +require_once('../../include/datum.class.php'); + +$user = get_uid(); +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); + +$kst_array = $rechte->getKostenstelle(); + +if(count($kst_array)==0) + die('Sie benoetigen eine Kostenstellenberechtigung um diese Seite anzuzeigen'); + +$datum_obj = new datum(); +?> + + + + WaWi - Kostenstelle - Auswertung + + + + + + + + + + + + +

Bericht - Kostenstelle

+ + Geschäftsjahr + + + '; + + $gj= new geschaeftsjahr(); + $gj->load($geschaeftsjahr); + + $kstIN=$db->implode4SQL($kst_array); + //Tabelle auf Basis der Bestellungen + $qry = "SELECT + sum(menge*preisprove*(100+mwst)/100) as brutto_bestellung, + 0 as brutto_rechnung, + tbl_bestellung.kostenstelle_id + FROM + wawi.tbl_bestellung + JOIN wawi.tbl_bestelldetail USING(bestellung_id) + WHERE + tbl_bestellung.insertamum>='$gj->start' AND tbl_bestellung.insertamum<'$gj->ende' + AND kostenstelle_id IN($kstIN) + GROUP BY kostenstelle_id + UNION + SELECT + 0 as brutto_bestellung, + sum(betrag*(100+mwst)/100) as brutto_rechnung, + tbl_bestellung.kostenstelle_id + FROM + wawi.tbl_bestellung + JOIN wawi.tbl_rechnung USING(bestellung_id) + JOIN wawi.tbl_rechnungsbetrag USING(rechnung_id) + WHERE + tbl_bestellung.insertamum>='$gj->start' AND tbl_bestellung.insertamum<'$gj->ende' + AND kostenstelle_id IN($kstIN) + GROUP BY kostenstelle_id + "; + + if($result = $db->db_query($qry)) + { + while($row = $db->db_fetch_object($result)) + { + if(!isset($kst[$row->kostenstelle_id]['rechnung'])) + $kst[$row->kostenstelle_id]['rechnung']=0; + if(!isset($kst[$row->kostenstelle_id]['bestellung'])) + $kst[$row->kostenstelle_id]['bestellung']=0; + + $kst[$row->kostenstelle_id]['rechnung']+=$row->brutto_rechnung; + $kst[$row->kostenstelle_id]['bestellung']+=$row->brutto_bestellung; + } + } + else + die('Fehler bei Datenbankzugriff'); + + echo 'Zeitraum: ',$datum_obj->formatDatum($gj->start,'d.m.Y'),' - ',$datum_obj->formatDatum($gj->ende,'d.m.Y').''; + echo ' + '; + echo ' + + + + + + + + + + + '; + + $gesamt_rechnung = 0; + $gesamt_bestellung = 0; + + foreach($kst_array as $row) + { + $id = $row; + if(isset($kst[$id])) + $brutto = $kst[$id]; + else + { + $brutto['bestellung']=0; + $brutto['rechnung']=0; + } + + $kostenstelle = new wawi_kostenstelle(); + $kostenstelle->load($id); + $budget = $kostenstelle->getBudget($id, $gj->geschaeftsjahr_kurzbz); + $restbudget = $budget - $brutto['rechnung']; + echo ''; + + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + if($restbudget>0) + $class='number_positive'; + elseif($restbudget<0) + $class='number_negative'; + else + $class='number'; + echo ''; + echo ''; + + $gesamt_rechnung += $brutto['rechnung']; + $gesamt_bestellung += $brutto['bestellung']; + } + echo ' + + + + + + + + + + + +
IDBezeichnungKzBestellungenRechnungenRestbudget (Rechnung)
',$id,'',$kostenstelle->bezeichnung,'',$kostenstelle->kurzbz,'',number_format($brutto['bestellung'],2,',','.'),'',number_format($brutto['rechnung'],2,',','.'),'',number_format($restbudget,2,',','.').'
Summe:',number_format($gesamt_bestellung,2,',','.'),'',number_format($gesamt_rechnung,2,',','.'),'
'; +?> +







+ + \ No newline at end of file