, * 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 tbl_bestellung.bestellung_id, sum (menge*preisprove*(100+COALESCE(mwst,0))/100) as brutto, 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) group by tbl_bestellung.bestellung_id, tbl_bestellung.kostenstelle_id, tbl_konto.beschreibung, tbl_konto.konto_id order by beschreibung "; 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; 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+0; } } } 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+COALESCE(mwst,0))/100) as brutto, tbl_bestellung.bestellung_id, tbl_bestellung.konto_id, tbl_bestellung.kostenstelle_id, tbl_konto.beschreibung[1] FROM wawi.tbl_bestellung JOIN wawi.tbl_konto USING(konto_id) JOIN wawi.tbl_rechnung USING(bestellung_id) JOIN wawi.tbl_rechnungsbetrag USING(rechnung_id) WHERE tbl_bestellung.insertamum::date>='$gj->start' AND tbl_bestellung.insertamum::date<='$gj->ende' AND kostenstelle_id IN ($kstIN) order by beschreibung "; 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; 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 '
'; } if($kst->aktiv) $class=''; else $class='class="inaktiv"'; 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 ''; if($kostenstelle->aktiv) $class=''; else $class='class="inaktiv"'; echo ''; foreach(array_keys($konto_array) as $konten) { if(isset($konten_value[$konten])) { echo ''; //Kostenstellensumme berechnen $kst_summe += $konten_value[$konten]; //Kontensumme berechnen settype($konto_array[$konten],'float'); settype($konten_value[$konten], 'float'); $konto_array[$konten] +=$konten_value[$konten]; } else echo ''; } echo ''; echo ''; } echo ''; settype($gesamt_summe, 'float'); $gesamt_summe = 0; foreach($konto_array as $konten=>$summe) { settype($summe, 'float'); $gesamt_summe+=$summe; echo ''; } echo ''; echo '
Kostenstelle',$konto->kurzbz,'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,',','.'),'
'; } ?>