From e44bfa21b37988652e4e2c867576e544107714c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 24 Nov 2010 16:55:37 +0000 Subject: [PATCH] Rechnungen Syncro Rechnungen Suchen --- cis/private/tools/projektabgabe.php | 1 - include/benutzerberechtigung.class.php | 2 + include/tw/wawi_menu_main.inc.php | 7 +- include/wawi_kostenstelle.class.php | 5 + include/wawi_rechnung.class.php | 365 +++++++++++++++++++++++++ system/sync/sync_rechnung.php | 275 +++++++++++++++++++ wawi/rechnung.php | 328 ++++++++++++++++++++++ 7 files changed, 981 insertions(+), 2 deletions(-) create mode 100644 include/wawi_rechnung.class.php create mode 100644 system/sync/sync_rechnung.php create mode 100644 wawi/rechnung.php diff --git a/cis/private/tools/projektabgabe.php b/cis/private/tools/projektabgabe.php index d7705c3ac..9ef82a79b 100644 --- a/cis/private/tools/projektabgabe.php +++ b/cis/private/tools/projektabgabe.php @@ -146,7 +146,6 @@ if($aktion!='zip') LEFT JOIN public.tbl_studiengang USING(studiengang_kz) WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom') AND public.tbl_benutzer.aktiv - AND lehre.tbl_projektarbeit.note IS NULL "; if ($stg_kz!='') $qry_termin.=" AND public.tbl_studiengang.studiengang_kz='$stg_kz'"; diff --git a/include/benutzerberechtigung.class.php b/include/benutzerberechtigung.class.php index 525096df2..3ab470363 100644 --- a/include/benutzerberechtigung.class.php +++ b/include/benutzerberechtigung.class.php @@ -848,6 +848,8 @@ class benutzerberechtigung extends basis_db if(!$all) { + if(count($kst_id)==0) + return array(); $qry.=" WHERE ("; diff --git a/include/tw/wawi_menu_main.inc.php b/include/tw/wawi_menu_main.inc.php index 61c954b60..92a8a5b82 100644 --- a/include/tw/wawi_menu_main.inc.php +++ b/include/tw/wawi_menu_main.inc.php @@ -43,12 +43,17 @@ $menu=array ), 'Benutzerbereich'=> array ( - 'name'=>'Benutzerbereich', 'opener'=>'true', 'hide'=>'false','permissions'=>array('wawi/bestellung'), + 'name'=>'Benutzerbereich', 'opener'=>'true', 'hide'=>'false','permissions'=>array('wawi/bestellung','wawi/rechnung'), 'Bestellung'=>array ( 'name'=>'Bestellung', 'permissions'=>array('wawi/bestellung'),'link'=>'bestellung.php?method=suche', 'target'=>'content', 'BestellungNeu'=>array('name'=>'Neu', 'link'=>'bestellung.php?method=new', 'target'=>'content'), ), + 'Rechnung'=>array + ( + 'name'=>'Rechnung', 'permissions'=>array('wawi/rechnung'),'link'=>'rechnung.php?method=suche', 'target'=>'content', + 'RechnungNeu'=>array('name'=>'Neu', 'link'=>'rechnung.php?method=new', 'target'=>'content'), + ), ) ); ?> \ No newline at end of file diff --git a/include/wawi_kostenstelle.class.php b/include/wawi_kostenstelle.class.php index 569b8cb65..bde8bb730 100644 --- a/include/wawi_kostenstelle.class.php +++ b/include/wawi_kostenstelle.class.php @@ -496,6 +496,11 @@ class wawi_kostenstelle extends basis_db */ public function loadArray($array) { + if(count($array)==0) + { + $this->result = array(); + return true; + } $qry = 'SELECT * FROM wawi.tbl_kostenstelle WHERE kostenstelle_id IN('.$this->implode4SQL($array).') ORDER BY bezeichnung;'; if(!$this->db_query($qry)) diff --git a/include/wawi_rechnung.class.php b/include/wawi_rechnung.class.php new file mode 100644 index 000000000..2d5621205 --- /dev/null +++ b/include/wawi_rechnung.class.php @@ -0,0 +1,365 @@ +, + * Andreas Oesterreicher and + * Karl Burkhart . + */ +/** + * Klasse WaWi Rechnung + */ +require_once(dirname(__FILE__).'/basis_db.class.php'); + +class wawi_rechnung extends basis_db +{ + public $rechnung_id; // serial + public $bestellung_id; // int + public $rechnungstyp_kurzbz;// varchar + public $buchungsdatum; // date + public $rechnungsnr; // varchar + public $rechnungsdatum; // date + public $transfer_datum; // date + public $buchungstext; // text + public $freigegeben; // boolean + public $freigegebenamum; // timestamp + public $freigegebenvon; // varchar + public $updateamum; // timestamp + public $updatevon; // varchar + public $insertamum; // timestamp + public $insertvon; // varchar + + public $result = array(); + public $new; // bool + + /** + * + * Konstruktor + * @param rechnung_id der Rechnung die geladen werden soll (Default=null) + */ + public function __construct($rechnung_id = null) + { + parent::__construct(); + + if(!is_null($rechnung_id)) + $this->load($rechnung_id); + } + + /** + * + * Lädt die Rechnung mit der Übergebenen ID + * @param $rechnung_id der zu ladenden Rechnung + */ + public function load($rechnung_id) + { + if(!is_numeric($rechnung_id)) + { + $this->errormsg='ID ist ungueltig'; + return false; + } + + $qry = "SELECT * FROM wawi.tbl_rechnung WHERE rechnung_id = '".addslashes($rechnung_id)."'"; + + if(!$this->db_query($qry)) + { + $this->errormsg ="Fehler bei der Datenbankabfrage."; + return false; + } + + if($row = $this->db_fetch_object()) + { + $this->rechnung_id = $row->rechnung_id; + $this->bestellung_id = $row->bestellung_id; + $this->rechnungstyp_kurzbz = $row->rechnungstyp_kurzbz; + $this->buchungsdatum = $row->buchungsdatum; + $this->rechnungsnr = $row->rechnungsnr; + $this->rechnungsdatum = $row->rechnungsdatum; + $this->transfer_datum = $row->transfer_datum; + $this->buchungstext = $row->buchungstext; + $this->freigegeben = ($row->freigegeben=='t'?true:false); + $this->freigegebenamum = $row->freigegebenamum; + $this->freigegebenvon = $row->freigegebenvon; + $this->updateamum = $row->updateamum; + $this->updatevon = $row->updatevon; + $this->insertamum = $row->insertamum; + $this->insertvon = $row->insertvon; + } + else + { + $this->errormsg ="Fehler bei der Datenbankabfrage."; + return false; + } + return true; + } + + /** + * + * Laedt alle Rechnung anhand von verschiedenen Parametern + * + * @param $rechnungsnr + * @param $rechnungsdatum_von + * @param $rechnungsdatum_bis + * @param $buchungsdatum_von + * @param $buchungsdatum_bis + * @param $erstelldatum_von + * @param $erstelldatum_bis + * @param $bestelldatum_von + * @param $bestelldatum_bis + * @param $buchungsnummer + * @param $firma_id + * @param $oe_kurzbz + * @param $konto_id + * @param $kostenstelle_id + */ + public function getAllSearch($rechnungsnr, $rechnungsdatum_von, $rechnungsdatum_bis, $buchungsdatum_von, $buchungsdatum_bis, $erstelldatum_von, $erstelldatum_bis, $bestelldatum_von, $bestelldatum_bis, $bestellnummer, $firma_id, $oe_kurzbz, $konto_id, $kostenstelle_id) + { + $first = true; + $qry = " + SELECT + distinct on (tbl_rechnung.rechnung_id) tbl_rechnung.* + FROM + wawi.tbl_rechnung + LEFT JOIN wawi.tbl_bestellung USING (bestellung_id) + LEFT JOIN wawi.tbl_kostenstelle USING (kostenstelle_id) + LEFT JOIN wawi.tbl_bestellung_bestellstatus status USING(bestellung_id) + WHERE 1=1 + "; + + if ($rechnungsnr!='') + $qry.= " AND UPPER(tbl_rechnung.rechnungsnr) LIKE UPPER('%$rechnungsnr%')"; + + if ($rechnungsdatum_von != '') + $qry.= ' AND tbl_rechnung.rechnungsdatum >= '.$this->addslashes($rechnungsdatum_von); + + if ($rechnungsdatum_bis != '') + $qry.= ' AND tbl_rechnung.rechnungsdatum <= '.$this->addslashes($rechnungsdatum_bis); + + if ($buchungsdatum_von != '') + $qry.= ' AND tbl_rechnung.buchungsdatum >= '.$this->addslashes($buchungsdatum_von); + + if ($buchungsdatum_bis != '') + $qry.= ' AND tbl_rechnung.buchungsdatum <= '.$this->addslashes($buchungsdatum_bis); + + if ($erstelldatum_von != '') + $qry.= ' AND tbl_bestellung.insertamum >= '.$this->addslashes($erstelldatum_von); + + if ($erstelldatum_bis != '') + $qry.= ' AND tbl_bestellung.insertamum <= '.$this->addslashes($erstelldatum_bis); + + if ($bestelldatum_von != '') + $qry.= " AND status.bestellstatus_kurzbz = 'Bestellung' AND status.datum >= ".$this->addslashes($bestelldatum_von); + if ($bestelldatum_bis != '') + $qry.= " AND status.bestellstatus_kurzbz = 'Bestellung' AND status.datum <= ".$this->addslashes($bestelldatum_bis); + + if ($firma_id != '') + $qry.= ' AND tbl_bestellung.firma_id = '.$this->addslashes($firma_id); + + if ($oe_kurzbz != '') + $qry.= ' AND tbl_kostenstelle.oe_kurzbz = '.$this->addslashes($oe_kurzbz); + + if ($konto_id != '') + $qry.= ' AND tbl_bestellung.konto_id = '.$this->addslashes($konto_id); + + if ($kostenstelle_id != '') + $qry.= ' AND tbl_bestellung.kostenstelle_id = '.$this->addslashes($kostenstelle_id); + + if ($bestellnummer != '') + $qry.= ' AND tbl_bestellung.bestell_nr = '.$this->addslashes($bestellnummer); + + $qry.=" LIMIT 1000"; + if(!$this->db_query($qry)) + { + $this->errormsg = "Fehler bei der Datenbankabfrage."; + return false; + } + + while($row = $this->db_fetch_object()) + { + $obj = new wawi_rechnung(); + + $obj->rechnung_id = $row->rechnung_id; + $obj->bestellung_id = $row->bestellung_id; + $obj->rechnungstyp_kurzbz = $row->rechnungstyp_kurzbz; + $obj->buchungsdatum = $row->buchungsdatum; + $obj->rechnungsnr = $row->rechnungsnr; + $obj->rechnungsdatum = $row->rechnungsdatum; + $obj->transfer_datum = $row->transfer_datum; + $obj->buchungstext = $row->buchungstext; + $obj->freigegeben = ($row->freigegeben=='t'?true:false); + $obj->freigegebenamum = $row->freigegebenamum; + $obj->freigegebenvon = $row->freigegebenvon; + $obj->updateamum = $row->updateamum; + $obj->updatevon = $row->updatevon; + $obj->insertamum = $row->insertamum; + $obj->insertvon = $row->insertvon; + + $this->result[] = $obj; + } + return true; + } + + /** + * + * Löscht die Rechnung mit der Übergebenen ID + * @param $rechnung_id Rechnung die gelöscht werden soll + */ + public function delete($rechnung_id) + { + if(!is_numeric($rechnung_id)) + { + $this->errormsg = "Keine gültige ID"; + return false; + } + + $qry ="DELETE FROM wawi.tbl_rechnung WHERE rechnung_id = '".addslashes($rechnung_id)."'"; + + if(!$this->db_query($qry)) + { + $this->errormsg ="Fehler beim Löschen der Rechnung ID $rechnung_id aufgetreten."; + return false; + } + return true; + } + + /** + * + * Prüft ob Richtige Daten eingegeben/vorhanden sind + */ + public function validate() + { + + if(!is_numeric($this->bestellung_id)) + { + $this->errormsg = "Bestellung_id fehlerhaft."; + return false; + } + if(mb_strlen($this->rechnungstyp_kurzbz)>32) + { + $this->errormsg ="Rechnungstyp fehlerhaft."; + return false; + } + if(mb_strlen($this->rechnungsnr)>32) + { + $this->errormsg ="Rechnungsnr fehlerhaft."; + return false; + } + if(!is_bool($this->freigegeben)) + { + $this->errormsg = 'freigegeben ist ungueltig'; + return false; + } + if(mb_strlen($this->freigegebenvon)>32) + { + $this->errormsg ="freigegebenvon zu lang."; + return false; + } + if(mb_strlen($this->insertvon)>32) + { + $this->errormsg ="insertvon zu lang."; + return false; + } + if(mb_strlen($this->updatevon)>32) + { + $this->errormsg ="updatevon zu lang."; + return false; + } + return true; + } + + /** + * + * Speichert eine neue Rechnung in die Datenbank oder Updated eine bestehende + */ + public function save() + { + if(!$this->validate()) + return false; + + if($this->new) + { + $qry = 'BEGIN; INSERT INTO wawi.tbl_rechnung (bestellung_id,rechnungstyp_kurzbz, buchungsdatum, + rechnungsnr, rechnugsdatum, transfer_datum, buchungstext, freigegeben, freigegebenvon, freigegebenamum, + updateamum, updatevon, insertamum, insertvon) VALUES ('. + $this->addslashes($this->bestellung_id).', '. + $this->addslashes($this->rechnungstyp_kurzbz).', '. + $this->addslashes($this->buchungsdatum).', '. + "currval('wawi.seq_rechnung_rechnung_id'), ". + $this->addslashes($this->rechnungsdatum).', '. + $this->addslashes($this->transfer_datum).", ". + $this->addslashes($this->buchungstext).', '. + ($this->freigegeben?'true':'false').','. + $this->addslashes($this->freigegebenvon).', '. + $this->addslashes($this->freigegebenamum).', '. + $this->addslashes($this->updateamum).', '. + $this->addslashes($this->updatevon).', '. + $this->addslashes($this->insertamum).', '. + $this->addslashes($this->insertvon).'); '; + } + else + { + //UPDATE + $qry = 'UPDATE wawi.tbl_rechnung SET + bestellung_id = '.$this->addslashes($this->bestellung_id).', + rechnungstyp_kurzbz = '.$this->addslashes($this->rechnungstyp_kurzbz).', + buchungsdatum = '.$this->addslashes($this->buchungsdatum).', + rechnungsnr = '.$this->addslashes($this->rechnungsnr).', + rechnungsdatum = '.$this->addslashes($this->rechnungsdatum).', + transfer_datum = '.$this->addslashes($this->transfer_datum).', + buchungstext = '.$this->addslashes($this->buchungstext).', + freigegeben = '.($this->freigegeben?'true':'false').', + freigegebenvon = '.$this->addslashes($this->freigegebenvon).', + freigegebenamum = '.$this->addslashes($this->freigegebenamum).', + updateamum = '.$this->addslashes($this->updateamum).', + updatevon = '.$this->addslashes($this->updatevon). + ' WHERE rechnung_id = '.$this->rechnung_id.';'; + } + + if($this->db_query($qry)) + { + if($this->new) + { + //aktuelle Sequence holen + $qry="SELECT currval('wawi.seq_rechnung_rechnung_id') as id;"; + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->rechnung_id = $row->id; + $this->rechnungsnr = $row->rechnungsnr; + $this->db_query('COMMIT'); + } + else + { + $this->db_query('ROLLBACK'); + $this->errormsg = "Fehler beim Auslesen der Sequence"; + return false; + } + } + else + { + $this->db_query('ROLLBACK'); + $this->errormsg = 'Fehler beim Auslesen der Sequence'; + return false; + } + } + } + else + { + return false; + } + return $this->rechnung_id; + } +} \ No newline at end of file diff --git a/system/sync/sync_rechnung.php b/system/sync/sync_rechnung.php new file mode 100644 index 000000000..7693e6d12 --- /dev/null +++ b/system/sync/sync_rechnung.php @@ -0,0 +1,275 @@ +, + * Andreas Oesterreicher and + * Karl Burkhart . + */ +/** + * Syncronisiert die Aufteilung von WaWi DB in FHComplete DB + */ +require_once('../../config/wawi.config.inc.php'); +require_once('../../include/basis_db.class.php'); +require_once('../../include/mail.class.php'); + +if (!$db = new basis_db()) + die('Fehler beim Herstellen der Datenbankverbindung'); + +if (!$conn_wawi = pg_pconnect(CONN_STRING_WAWI)) + die('Es konnte keine Verbindung zum Server aufgebaut werden. *** File:='.__FILE__.' Line:='.__LINE__."\n"); + +$error_log=''; +$update_log=''; +$anzahl_gesamt=0; +$anzahl_insert=0; +$anzahl_update=0; +$anzahl_delete=0; +$anzahl_fehler=0; + +?> + + +Synchro - WaWi -> FAS - Rechnungen + + + +r_id)."'"; + if($result_check=$db->db_query($qry_check)) + { + if($db->db_num_rows($result_check)>0) + { + $update = false; + //Rechnung vorhanden + if($row_check = $db->db_fetch_object($result_check)) + { + if($row_check->bestellung_id!=$row->bestellung_id) + { + $update = true; + $update_log.="\nBestellung_id von $row_check->bestellung_id auf $row->bestellung_id geändert"; + } + if($row_check->buchungsdatum!=$row->buchungsdatum) + { + $update=true; + $update_log.="\nBuchungsdatum von $row_check->buchungsdatum auf $row->buchungsdatum geändert"; + } + if($row_check->rechnungsnr!=$row->rechnungsnr) + { + $update=true; + $update_log.="\nRechnungsnr von $row_check->rechnungsnr auf $row->rechnungsnr geändert"; + } + if($row_check->transfer_datum!=$row->transfer_datum) + { + $update=true; + $update_log.="\nTransferDatum von $row_check->transfer_datum auf $row->transfer_datum geändert"; + } + if($row_check->buchungstext!=$row->buchungstext) + { + $update=true; + $update_log.="\nBuchungstext von $row_check->buchungstext auf $row->buchungstext geändert"; + } + if($row_check->updatevon!=$row->updatevon) + { + $update=true; + $update_log.="\nUpdatevon von $row_check->updatevon auf $row->updatevon geändert"; + } + if($row_check->updateamum!=$row->lupdate) + { + $update=true; + $update_log.="\nUpdateamum von $row_check->updateamum auf $row->lupdate geändert"; + } + + if($update) + { + $qry = "UPDATE wawi.tbl_rechnung SET + bestellung_id=".$db->addslashes($row->bestellung_id).", + buchungsdatum=".$db->addslashes($row->buchungsdatum).", + rechnungsnr=".$db->addslashes($row->rechnungsnr).", + transfer_datum=".$db->addslashes($row->transfer_datum).", + buchungstext=".$db->addslashes($row->buchungstext).", + updatevon=".$db->addslashes($row->updatevon).", + updateamum=".$db->addslashes($row->lupdate)." + WHERE rechnung_id='".addslashes($row->r_id)."'"; + if($db->db_query($qry)) + { + $anzahl_update++; + } + else + { + $error_log.="\nFehler beim Update: $qry"; + $anzahl_fehler++; + } + } + + //Rechnungsbetrag + for($i=1;$i<=3;$i++) + { + $mwst = 'mwst'.$i; + $betrag = 'betrag'.$i; + + if($row->$mwst!='') + { + $qry = "SELECT * FROM wawi.tbl_rechnungsbetrag + WHERE rechnung_id=".$db->addslashes($row->r_id)." AND mwst=".$db->addslashes($row->$mwst); + if($result_rbetrag = $db->db_query($qry)) + { + if($row_rbetrag = $db->db_fetch_object($result_rbetrag)) + { + //Update + if($row_rbetrag->betrag!=$row->$betrag) + { + $qry = "UPDATE wawi.tbl_rechnungsbetrag + SET betrag=".$db->addslashes($row->$betrag)." + WHERE rechnungsbetrag_id=".$db->addslashes($row_rbetrag->rechnungsbetrag_id); + if($db->db_query($qry)) + { + $anzahl_update++; + $update_log.="\nBetrag von $row_rbetrag->betrag auf ".$row->$betrag." geändert bei Mwst ".$row->$mwst; + } + } + } + else + { + //Insert + $qry = "INSERT INTO wawi.tbl_rechnungsbetrag(rechnung_id, mwst, betrag) VALUES(". + $db->addslashes($row->r_id).",". + $db->addslashes($row->$mwst).",". + $db->addslashes($row->$betrag).");"; + if($db->db_query($qry)) + { + $anzahl_insert++; + $update_log.="\nRechnungsbetrag hinzugefügt Mwst $row->$mwst Betrag $row->$betrag"; + } + } + } + else + { + $anzahl_fehler++; + $error_log.="\nFehler beim Select: $qry"; + } + } + } + + //Loeschen von ueberfluessigen Rechnungsbetraegen + $qry="DELETE FROM wawi.tbl_rechnungsbetrag + WHERE mwst NOT IN(".$db->addslashes($row->mwst1).",".$db->addslashes($row->mwst2).",".$db->addslashes($row->mwst3).") + AND rechnung_id=".$db->addslashes($row->r_id); + if($result_delete = $db->db_query($qry)) + { + $rechnungsbetrag_delete = $db->db_affected_rows($result_delete); + if($rechnungsbetrag_delete>0) + { + $update_log.="\n $rechnungsbetrag_delete Rechnungsbetrag Einträge gelöscht"; + $anzahl_delete+=$rechnungsbetrag_delete; + } + } + else + { + $anzahl_fehler++; + $error_log.="\nFehler bei Delete: $qry"; + } + } + } + else + { + //Aufteilung nicht vorhanden + $qry="INSERT INTO wawi.tbl_rechnung(rechnung_id, bestellung_id, rechnungstyp_kurzbz, + buchungsdatum, rechnungsnr, rechnungsdatum, transfer_datum, buchungstext, + freigegeben, freigegebenamum, freigegebenvon, insertamum, insertvon, + updateamum, updatevon) VALUES(" + .$db->addslashes($row->r_id)."," + .$db->addslashes($row->bestellung_id)."," + ."'Zahlung'," + .$db->addslashes($row->buchungsdatum)."," + .$db->addslashes($row->rechnungsnr)."," + .$db->addslashes($row->rechnungsdatum)."," + .$db->addslashes($row->transfer_datum)."," + .$db->addslashes($row->buchungstext)."," + ."true," + .$db->addslashes($row->lupdate)."," + .$db->addslashes($row->updatevon)."," + .$db->addslashes($row->lupdate)."," + .$db->addslashes($row->updatevon)."," + .$db->addslashes($row->lupdate)."," + .$db->addslashes($row->updatevon).");"; + if($row->mwst1!='') + $qry.="INSERT INTO wawi.tbl_rechnungsbetrag(rechnung_id, mwst, betrag) VALUES(".$db->addslashes($row->r_id).",".$db->addslashes($row->mwst1).",".$db->addslashes($row->betrag1).");"; + if($row->mwst2!='') + $qry.="INSERT INTO wawi.tbl_rechnungsbetrag(rechnung_id, mwst, betrag) VALUES(".$db->addslashes($row->r_id).",".$db->addslashes($row->mwst2).",".$db->addslashes($row->betrag2).");"; + if($row->mwst3!='') + $qry.="INSERT INTO wawi.tbl_rechnungsbetrag(rechnung_id, mwst, betrag) VALUES(".$db->addslashes($row->r_id).",".$db->addslashes($row->mwst3).",".$db->addslashes($row->betrag3).");"; + + if($db->db_query($qry)) + { + $anzahl_insert++; + } + else + { + $error_log.="\nFehler beim Insert: $qry"; + $anzahl_fehler++; + } + } + } + else + { + $error_log.="\nFehler bei Select: $qry_check"; + $anzahl_fehler++; + } + } + + $qry = " + SELECT setval('wawi.seq_rechnung_rechnung_id',(SELECT max(rechnung_id) FROM wawi.tbl_rechnung)); + SELECT setval('wawi.seq_rechnungsbetrag_rechnungsbetrag_id',(SELECT max(rechnungsbetrag_id) FROM wawi.tbl_rechnungsbetrag)); + "; + if(!$db->db_query($qry)) + { + $error_log.="\nFehler beim Update der Sequence"; + $anzahl_fehler++; + } + //Mail versenden + $statistik="Rechnung Sync\n--------------\n"; + $statistik.="Beginn: ".date("d.m.Y H:i:s")." von ".DB_NAME." - Anzahl Einträge: ".$anzahl_gesamt."\n\n"; + $statistik.="\nEingefügte Datensätze: $anzahl_insert"; + $statistik.="\nGeänderte Datensätze: $anzahl_update"; + $statistik.="\nFehler: $anzahl_fehler\n"; + + $synced=$statistik.$error_log.$update_log; + $mail = new mail(MAIL_ADMIN, "vilesci@".DOMAIN, "SYNC Rechnung von ".DB_NAME, $synced); + $mail->setReplyTo("vilesci@".DOMAIN); + if(!$mail->send()) + { + echo "Fehler beim Versenden des Durchführungs-Mails!
"; + } +} +?> \ No newline at end of file diff --git a/wawi/rechnung.php b/wawi/rechnung.php new file mode 100644 index 000000000..efad83942 --- /dev/null +++ b/wawi/rechnung.php @@ -0,0 +1,328 @@ +, + * 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/benutzerberechtigung.class.php'); + +$aktion =''; +if (isset($_GET['method'])) + $aktion = $_GET['method']; +else + $aktion = 'suche'; + +?> + + + + WaWi Rechnung + + + + + + + + + + + + + + + + + + + +getBerechtigungen($user); + +$kst=new wawi_kostenstelle(); +$kst->loadArray($rechte->getKostenstelle($berechtigung_kurzbz)); + +if($aktion == 'suche') +{ + 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"; + + foreach($rechnung->result as $row) + { + //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_IDTypRechnungsdatumBuchungstextFreigegebenLetzte Änderung
rechnung_id\" title=\"Bearbeiten\"> rechnung_id\" onclick='return conf_del()' title='Löschen'> "; + echo ''.$row->rechnungsnr."'.$row->bestellung_id."'.$row->rechnungstyp_kurzbz."'.$date->formatDatum($row->rechnungsdatum, 'd.m.Y')."'.$row->buchungstext."'.$freigegeben=($row->freigegeben=='t')?'ja':'nein'."'.$date->formatDatum($row->updateamum,'d.m.Y H:i:s').' '.$row->updatevon ."
\n"; + } + else + echo "Fehler bei der Abfrage!"; + } + else + echo "ungültiges Datumsformat"; + } +} +elseif($aktion == 'new') +{ + echo '

Noch nicht implementiert

'; +} +elseif($aktion == 'save') +{ + echo '

Noch nicht implementiert

'; +} +elseif($aktion=='delete') +{ + echo '

Noch nicht implementiert

'; +} +elseif($aktion=='update') +{ + echo '

Noch nicht implementiert

'; +} +?> + + \ No newline at end of file