, * Andreas Oesterreicher and * Karl Burkhart . */ require_once('../config/wawi.config.inc.php'); require_once('auth.php'); require_once('../include/firma.class.php'); require_once('../include/organisationseinheit.class.php'); require_once('../include/datum.class.php'); require_once('../include/wawi_konto.class.php'); require_once('../include/wawi_rechnung.class.php'); require_once('../include/wawi_kostenstelle.class.php'); require_once('../include/wawi_bestellung.class.php'); require_once('../include/benutzerberechtigung.class.php'); $aktion =''; if (isset($_GET['method'])) $aktion = $_GET['method']; else $aktion = 'suche'; if(isset($_POST['getBetragRow']) && isset($_POST['id'])) { if(is_numeric($_POST['id'])) { echo getBetragRow($_POST['id']); exit; } else { die('ID ungueltig'); } } ?> WaWi Rechnung getBerechtigungen($user); $kst=new wawi_kostenstelle(); $kst->loadArray($rechte->getKostenstelle($berechtigung_kurzbz)); if($aktion == 'suche') { if(!$rechte->isBerechtigt('wawi/rechnung',null,'s')) die('Sie haben keine Berechtigung fuer diese Seite'); if(!isset($_POST['submit'])) { // Suchmaske anzeigen $oe = new organisationseinheit(); $oe->getAll(); $konto = new wawi_konto(); $konto->getAll(); $kostenstelle = new wawi_kostenstelle(); $kostenstelle->getAll(); echo "

Rechnung suchen

\n"; echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
Rechnungsdaten
Rechnungsnummer
Rechnungsdatumvon bis
Buchungsdatumvon bis
Bestelldaten
Bestellnummer
Erstelldatumvon bis
Bestelldatumvon bis
Organisationseinheit:
Firma: \n"; echo " \n"; echo "
Kostenstelle:
Konto:
 
\n"; echo "
\n"; } else { // Suchergebnisse anzeigen $rechnungsnr = $_POST['rechnungsnr']; $bestellnummer = $_POST['bestellnummer']; $rechnungsdatum_von = $_POST['rechnungsdatum_von']; $rechnungsdatum_bis = $_POST['rechnungsdatum_bis']; $buchungsdatum_von = $_POST['buchungsdatum_von']; $buchungsdatum_bis = $_POST['buchungsdatum_bis']; $erstelldatum_von = $_POST['erstelldatum_von']; $erstelldatum_bis = $_POST['erstelldatum_bis']; $bestelldatum_von = $_POST['bestelldatum_von']; $bestelldatum_bis = $_POST['bestelldatum_bis']; $firma_id = $_POST['firma_id']; $oe_kurzbz = $_POST['filter_oe_kurzbz']; $filter_konto = $_POST['filter_konto']; $filter_kostenstelle = $_POST['filter_kostenstelle']; $rechnung = new wawi_rechnung(); if($rechnungsdatum_von != '') $rechnungsdatum_von = $date->formatDatum($rechnungsdatum_von); if($rechnungsdatum_bis != '') $rechnungsdatum_bis = $date->formatDatum($rechnungsdatum_bis); if($buchungsdatum_von != '') $buchungsdatum_von = $date->formatDatum($buchungsdatum_von); if($buchungsdatum_bis != '') $buchungsdatum_bis = $date->formatDatum($buchungsdatum_bis); if($erstelldatum_von != '') $erstelldatum_von = $date->formatDatum($erstelldatum_von); if($erstelldatum_bis != '') $erstelldatum_bis = $date->formatDatum($erstelldatum_bis); if($bestelldatum_von != '') $bestelldatum_von = $date->formatDatum($bestelldatum_von); if($bestelldatum_bis != '') $bestelldatum_bis = $date->formatDatum($bestelldatum_bis); if($rechnungsdatum_von!==false && $rechnungsdatum_bis!==false && $buchungsdatum_von!==false && $buchungsdatum_bis!==false && $erstelldatum_von!==false && $erstelldatum_bis!==false && $bestelldatum_von!==false && $bestelldatum_bis!==false ) { if($rechnung->getAllSearch($rechnungsnr, $rechnungsdatum_von, $rechnungsdatum_bis, $buchungsdatum_von, $buchungsdatum_bis, $erstelldatum_von, $erstelldatum_bis, $bestelldatum_von, $bestelldatum_bis, $bestellnummer, $firma_id, $oe_kurzbz, $filter_konto, $filter_kostenstelle)) { $date = new datum(); echo "\n"; echo "\n"; $brutto_gesamt=0; foreach($rechnung->result as $row) { $obj = new wawi_rechnung(); $brutto = $obj->getBrutto($row->rechnung_id); $brutto = round($brutto,2); $brutto_gesamt +=$brutto; //Zeilen der Tabelle ausgeben echo "\n"; echo "\n"; echo '\n"; echo '\n"; echo '\n"; echo '\n"; echo '\n"; echo '\n"; echo "\n"; } echo '
Rechnungsnr. Bestell_Nr Rechnungsdatum Buchungstext Brutto Freigegeben Letzte Änderung
rechnung_id\" title=\"Bearbeiten\"> rechnung_id\" onclick='return conf_del()' title='Löschen'> "; echo ''.$row->rechnungsnr."'.$row->bestell_nr."'.$date->formatDatum($row->rechnungsdatum, 'd.m.Y')."'.$row->buchungstext."'.number_format($brutto,2,".","")."'.$freigegeben=($row->freigegeben=='t')?'ja':'nein'."'.$date->formatDatum($row->updateamum,'d.m.Y H:i:s').' '.$row->updatevon ."
Summe '.number_format($brutto_gesamt,2).'
'; } else echo "Fehler bei der Abfrage!"; } else echo "ungültiges Datumsformat"; } } elseif($aktion == 'new') { if(!$rechte->isBerechtigt('wawi/rechnung',null,'sui')) die('Sie haben keine Berechtigung zum Anlegen von Rechnungen'); echo '

Rechnung Neu

'; echo '
'; echo ''; echo 'Kostenstelle: '; echo ''; echo '
'; } elseif($aktion == 'save') { if(!$rechte->isBerechtigt('wawi/rechnung',null,'su')) die('Sie haben keine Berechtigung zum Speichern der Rechnungen'); if(isset($_POST['rechnung_id']) && isset($_POST['rechnungsnummer']) && isset($_POST['buchungstext']) && isset($_POST['rechnungsdatum']) && isset($_POST['bestellung_id']) && isset($_POST['rechnungstyp_kurzbz']) && isset($_POST['buchungsdatum'])) { $rechnung_id = $_POST['rechnung_id']; $rechnungsnummer = $_POST['rechnungsnummer']; $buchungstext = $_POST['buchungstext']; $rechnungsdatum = $_POST['rechnungsdatum']; $bestellung_id = $_POST['bestellung_id']; $buchungsdatum = $_POST['buchungsdatum']; $rechnungstyp_kurzbz = $_POST['rechnungstyp_kurzbz']; foreach($_POST as $key=>$value) { if(mb_strstr($key, 'rechnungsbetrag_id_')) { $id = mb_substr($key, mb_strlen('rechnungsbetrag_id_')); $betraege[$id]['id']=$_POST['rechnungsbetrag_id_'.$id]; $betraege[$id]['bezeichnung']=$_POST['bezeichnung_'.$id]; $betraege[$id]['betrag']=$_POST['betrag_'.$id]; $betraege[$id]['mwst']=$_POST['mwst_'.$id]; } } $rechnung = new wawi_rechnung(); if($rechnung_id!='') { //Update if(!$rechnung->load($rechnung_id)) die('Rechnung wurde nicht gefunden'); } else { //Neue Rechnung $rechnung->new = true; $rechnung->insertamum = date('Y-m-d'); $rechnung->insertvon = $user; $rechnung->freigegeben = false; } $rechnung->rechnungsnr = $rechnungsnummer; $rechnung->buchungstext = $buchungstext; $rechnung->rechnungsdatum = $date->formatDatum($rechnungsdatum); $rechnung->buchungsdatum = $date->formatDatum($buchungsdatum); $rechnung->bestellung_id = $bestellung_id; $rechnung->updateamum = date('Y-m-d H:i:s'); $rechnung->updatevon = $user; $rechnung->rechnungstyp_kurzbz = $rechnungstyp_kurzbz; if(isset($_POST['transfer_datum']) && $rechte->isBerechtigt('wawi/rechnung_transfer', null, 'suid')) $rechnung->transfer_datum = $date->formatDatum($_POST['transfer_datum']); if($rechnung->save()) { foreach($betraege as $row) { if($row['id']=='' && $row['betrag']=='' && $row['mwst']=='' && $row['bezeichnung']=='') continue; $rb = new wawi_rechnung(); //Leere Zeilen werden geloescht if($row['betrag']=='' && $row['mwst']=='' && $row['bezeichnung']=='') { $rb->delete_betrag($row['id']); } else { //Speichern der Zeile $rb->rechnungsbetrag_id=$row['id']; $rb->rechnung_id = $rechnung->rechnung_id; $rb->betrag = $row['betrag']; $rb->bezeichnung = $row['bezeichnung']; $rb->mwst = $row['mwst']; if($row['id']=='') $rb->new=true; else $rb->new=false; $rb->save_betrag(); } } echo 'Daten wurden gespeichert!'; $_GET['id']=$rechnung->rechnung_id; $aktion = 'update'; } else { echo 'Fehler: '.$rechnung->errormsg; } } else die('Falsche Parameter uebergeben'); } elseif($aktion=='delete') { if(!$rechte->isBerechtigt('wawi/rechnung',null,'suid')) die('Sie haben keine Berechtigung zum Loeschen von Rechnungen'); if(isset($_GET['id'])) { echo '

Rechnung Löschen

'; $rechnung = new wawi_rechnung(); if($rechnung->delete($_GET['id'])) { echo 'Rechnung wurde erfolgreich geloescht'; } else { echo 'Fehler: '.$rechnung->errormsg.''; } echo '

Zurück'; } } if($aktion=='update') { if(!$rechte->isBerechtigt('wawi/rechnung',null,'su')) die('Sie haben keine Berechtigung zum Bearbeiten der Rechnungen'); $rechnung = new wawi_rechnung(); $bestellung = new wawi_bestellung(); $kostenstelle = new wawi_kostenstelle(); $konto = new wawi_konto(); $firma = new firma(); $oe_kurzbz=''; if(isset($_GET['id'])) { echo '

Rechnung Bearbeiten

'; $rechnung_id = $_GET['id']; if(!is_numeric($rechnung_id)) die('RechnungID ist ungueltig'); if(!$rechnung->load($rechnung_id)) die('Rechnung wurde nicht gefunden'); if(!$bestellung->load($rechnung->bestellung_id)) die('Diese Rechnung ist keiner gueltigen Bestellung zugeordnet'); $bestellung_id=$bestellung->bestellung_id; if(!$kostenstelle->load($bestellung->kostenstelle_id)) die('Die Rechnung bzw Bestellung ist keiner gueltigen Kostenstelle zugeordnet'); if(!$konto->load($bestellung->konto_id)) die('Die Rechnung bzw Bestellung ist keim gueltigen Konto zugeordnet'); if(!$firma->load($bestellung->firma_id)) die('Die Rechnung bzw Bestellung ist keiner gueltigen Firma zugeordnet'); $kostenstelle_id=$bestellung->kostenstelle_id; echo '
Kostenstelle: '.$kostenstelle->bezeichnung.'
Konto: '.$konto->beschreibung[1].'
Firma: '.$firma->name.'
'; } elseif(isset($_GET['kostenstelle_id'])) { echo '

Rechnung Neu

'; $rechnung_id=''; $bestellung_id=''; $kostenstelle_id = $_GET['kostenstelle_id']; } elseif(isset($_GET['bestellung_id'])) { echo '

Rechnung Neu

'; $bestellung_id=$_GET['bestellung_id']; $rechnung_id=''; if(!$bestellung->load($bestellung_id)) die('Bestellung existiert nicht'); $kostenstelle_id=$bestellung->kostenstelle_id; } else { die('ungueltige parameter'); } echo '
Rechnungsnummer Rechnungsdatum (tt.mm.JJJJ)   Bestellung Typ
 
Buchungstext
Buchungsdatum (tt.mm.JJJJ)


Transferdatum (tt.mm.JJJJ)
'; if(!$rechte->isBerechtigt('wawi/rechnung_transfer',null, 'suid')) { echo $date->formatDatum($rechnung->transfer_datum,'d.m.Y'); } else { echo ' '; } echo '
'; //Vorhandenen Betraege anzeigen $betraege = new wawi_rechnung(); $betraege->loadBetraege($rechnung->rechnung_id); $i=0; foreach($betraege->result as $row) { echo getBetragRow($i, $row->rechnungsbetrag_id, $row->bezeichnung, $row->betrag, $row->mwst); $i++; } //Unten eine Leere Zeile hinzufuegen echo getBetragRow($i); echo '
Bezeichnung Betrag Netto MwSt Brutto
Summe Netto:
Summe Brutto:
'; } /** * * Liefert eine Zeile zum Eintragen des Betrages * * @param $i Nummer der Zeile * @param $rechnungsbetrag_id ID des rechnungsbetrages (optional) * @param $bezeichnung Bezeichnung des rechnungsbetrages (optional) * @param $betrag Betrag des rechnungsbetrages (optional) * @param $mwst MwSt des rechnungsbetrages (optional) */ function getBetragRow($i, $rechnungsbetrag_id='', $bezeichnung='', $betrag='', $mwst='') { return ' % € '; } ?>