diff --git a/wawi/auswertungen/konto.php b/wawi/auswertungen/konto.php new file mode 100644 index 000000000..2b98b8f86 --- /dev/null +++ b/wawi/auswertungen/konto.php @@ -0,0 +1,313 @@ +, + * Karl Burkhart . + */ + /** + * Auswertung der Bestellungen und Rechnungen auf Kostenstellen und Konten + */ +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/wawi_konto.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); +$datum_obj = new datum(); +$bestellung = new wawi_bestellung(); + +// Kostenstellen auf Grund der Rechte holen +$kst_array = $rechte->getKostenstelle('wawi/bestellung'); +$kst_array = array_merge($kst_array, $rechte->getKostenstelle('wawi/rechnung')); +$kst_array = array_merge($kst_array, $rechte->getKostenstelle('wawi/kostenstelle')); +$kst_array = array_merge($kst_array, $rechte->getKostenstelle('wawi/freigabe')); + +$kst_array = array_unique($kst_array); + +if(count($kst_array)==0) + die('Sie benoetigen eine Kostenstellenberechtigung um diese Seite anzuzeigen'); +?> + + + + WaWi - Konto - Bericht + + + + + + + + + +

Bericht - Konto

+ Zurück'); + + $db = new basis_db(); + + //Vom Studiensemester + $geschaeftsjahr = $_POST['geschaeftsjahr']; + $gj= new geschaeftsjahr(); + $gj->load($geschaeftsjahr); + + $kst_konto=array(); + $konto_array=array(); + $kstIN=$db->implode4SQL($_POST['kst']); + //Tabelle auf Basis der Bestellungen + $qry = "SELECT + distinct tbl_bestellung.bestellung_id, + tbl_bestellung.kostenstelle_id, tbl_konto.beschreibung[1], tbl_konto.konto_id + FROM + wawi.tbl_bestellung + JOIN wawi.tbl_bestelldetail USING(bestellung_id) + JOIN wawi.tbl_konto USING (konto_id) + WHERE + tbl_bestellung.insertamum>='$gj->start' AND tbl_bestellung.insertamum<='$gj->ende' + AND kostenstelle_id IN($kstIN) + "; + + if($result = $db->db_query($qry)) + { + while($row = $db->db_fetch_object($result)) + { + if(!isset($konto_array[$row->konto_id])) + $konto_array[$row->konto_id]=0; + + $brutto = $bestellung->getBrutto($row->bestellung_id); + + if(isset($kst_konto[$row->kostenstelle_id]) && isset($kst_konto[$row->kostenstelle_id][$row->konto_id])) + $kst_konto[$row->kostenstelle_id][$row->konto_id]+=$brutto; + else + $kst_konto[$row->kostenstelle_id][$row->konto_id]=$brutto; + } + } + else + die('Fehler bei Datenbankzugriff'); + + echo 'Zeitraum: ',$datum_obj->formatDatum($gj->start,'d.m.Y'),' - ',$datum_obj->formatDatum($gj->ende,'d.m.Y').''; + echo '

Bestellungen

'; + draw_konto_table($konto_array, $kst_konto,'bestellung', $gj); + + //Tabelle auf Basis der Rechnungen + $kst_konto=array(); + $konto_array=array(); + $qry = "SELECT + (betrag*(100+mwst)/100) as brutto, tbl_bestellung.bestellung_id, tbl_bestellung.konto_id, + 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 bestellung_id in (SELECT bestellung_id FROM wawi.tbl_bestellungtag WHERE bestellung_id=tbl_bestellung.bestellung_id) + AND kostenstelle_id IN ($kstIN) + "; + + if($result = $db->db_query($qry)) + { + while($row = $db->db_fetch_object($result)) + { + //Bestelldetailtags laden + if(!isset($konto_array[$row->konto_id])) + $konto_array[$row->konto_id]=0; + + //$brutto = $bestellung->getBrutto($row->bestellung_id); + + if(isset($kst_konto[$row->kostenstelle_id]) && isset($kst_konto[$row->kostenstelle_id][$row->konto_id])) + $kst_konto[$row->kostenstelle_id][$row->konto_id]+=$row->brutto; + else + $kst_konto[$row->kostenstelle_id][$row->konto_id]=$row->brutto; + } + } + else + die('Fehler bei Datenbankzugriff'); + + echo '

Rechnungen

'; + draw_konto_table($konto_array, $kst_konto,'rechnung', $gj); +}else { + + $kostenstelle = new wawi_kostenstelle(); + + $kostenstelle->loadArray($kst_array, 'bezeichnung',false); + echo 'Bitte markieren sie die Kostenstellen die auf der Auswertung aufscheinen sollen:

+
+ + + '; + $anzahl=0; + $gesamt = count($kst_array); + echo ''; + + echo ' +
'; + + foreach($kostenstelle->result as $kst) + { + if($anzahl%(($gesamt/3)+1)==0 && $anzahl!=0) + { + echo '
'; + } + echo ' + + + '; + $anzahl++; + } + echo '
'.$kst->bezeichnung.'
+
+ + + + + +
Alle markieren
+
+ Geschäftsjahr + +
+
+ +
'; +} +?> + + + + + +start; + $endedatum = $gj->ende; + + echo ' + + + + + '; + foreach(array_keys($konto_array) as $konten) + { + $konto = new wawi_konto(); + $konto->load($konten); + echo ''; + } + echo ' + + + + '; + + + foreach($kst_konto as $kst=>$konten_value) + { + $kst_summe=0; + + $kostenstelle = new wawi_kostenstelle(); + $kostenstelle->load($kst); + echo ''; + echo ''; + + foreach(array_keys($konto_array) as $konten) + { + if(isset($konten_value[$konten])) + { + echo ''; + //Kostenstellensumme berechnen + $kst_summe += $konten_value[$konten]; + + //Kontensumme berechnen + $konto_array[$konten]+=$konten_value[$konten]; + } + else + echo ''; + } + echo ''; + echo ''; + } + echo ' + + + '; + $gesamt_summe=0; + foreach($konto_array as $konten=>$summe) + { + $gesamt_summe+=$summe; + echo ''; + } + echo ''; + echo ' + +
Kostenstelle',$konto->beschreibung[1],'Summe
'.$kostenstelle->bezeichnung.''; + if($table_id=='bestellung') + echo ''; + echo number_format($konten_value[$konten],2,',','.'); + if($table_id=='bestellung') + echo ''; + echo ' ',number_format($kst_summe,2,',','.'),'
Summe',number_format($summe,2,',','.'),'',number_format($gesamt_summe,2,',','.'),'
'; +} + +?> \ No newline at end of file