, * Andreas Oesterreicher and * Karl Burkhart . */ /** * Firmenverwaltung fuer WaWi * * Dies ist eine abgespeckte Version der Firmenverwaltung zum einfachen Anlegen und * Bearbeiten von Firmen. */ require_once('../config/wawi.config.inc.php'); require_once('auth.php'); require_once('../include/benutzerberechtigung.class.php'); require_once('../include/firma.class.php'); require_once('../include/standort.class.php'); require_once('../include/kontakt.class.php'); require_once('../include/adresse.class.php'); require_once('../include/nation.class.php'); ?> WaWi Firma getBerechtigungen($user); if(!$rechte->isBerechtigt('wawi/firma')) die('Sie haben keine Berechtigung für diese Seite'); $method = isset($_GET['method'])?$_GET['method']:'search'; $strasse = ''; $name = ''; $plz = ''; $ort = ''; $telefon = ''; $fax = ''; $email = ''; $nation = 'A'; $id = isset($_GET['id'])?$_GET['id']:''; //Speichern der Daten if(isset($_POST['save'])) { if(!isset($_POST['strasse']) || !isset($_POST['name']) || !isset($_POST['plz']) || !isset($_POST['ort']) || !isset($_POST['telefon']) || !isset($_POST['fax']) || !isset($_POST['email']) || !isset($_POST['anmerkung'])) die('Ungueltige Parameteruebergabe'); $error = false; $strasse = $_POST['strasse']; $name = $_POST['name']; $plz = $_POST['plz']; $ort = $_POST['ort']; $telefon = $_POST['telefon']; $fax = $_POST['fax']; $email = $_POST['email']; $nation = $_POST['nation']; $anmerkung = $_POST['anmerkung']; //Bei einem Update werden die IDs der Datensaetze uebergeben $adresse_id = $_POST['adresse_id']; $firma_id = $_POST['firma_id']; $standort_id = $_POST['standort_id']; $fax_id = $_POST['fax_id']; $telefon_id = $_POST['telefon_id']; $email_id = $_POST['email_id']; $kundennummer_erhalter_id = $_POST['kundennummer_erhalter_id']; $kundennummer_erhalter = $_POST['kundennummer_erhalter']; $kundennummer_gmbh_id = $_POST['kundennummer_gmbh_id']; $kundennummer_gmbh = $_POST['kundennummer_gmbh']; $errormsg=''; if($email!='' && !mb_strstr($email,'@')) { $errormsg = 'Email muss ein @ enthalten'; $error = true; } if($name=='') { $errormsg = 'Es muss ein Firmennamen eingetragen werden!'; $error = true; } $db = new basis_db(); $db->db_query('BEGIN;'); if(!$error) { //Firmendatensatz anlegen/updaten $firma = new firma(); if($firma_id!='') { if(!$firma->load($firma_id)) die('Firma wurde nicht gefunden'); $firma->new = false; $firma->updateamum = date('Y-m-d H:i:s'); $firma->updatevon = $user; } else { $firma->schule=false; $firma->gesperrt=false; $firma->aktiv=true; $firma->insertamum = date('Y-m-d H:i:s'); $firma->insertvon = $user; $firma->new = true; $firma->firmentyp_kurzbz='Firma'; } $firma->name=$name; $firma->anmerkung=$anmerkung; if($firma->save()) { //Kundennummer Erhalter if($kundennummer_erhalter_id!='' || $kundennummer_erhalter!='') { $firma_oe = new firma(); if($kundennummer_erhalter_id!='') { if(!$firma_oe->load_firmaorganisationseinheit($kundennummer_erhalter_id)) { $error = true; $errormsg.='Fehler beim Laden der Organisationseinheitenzuordnung'; } $firma_oe->new = false; } else { $firma_oe->firma_id = $firma->firma_id; $firma_oe->new = true; $firma_oe->oe_kurzbz='gst'; $firma_oe->insertamum = date('Y-m-d H:i:s'); $firma_oe->insertvon = $user; } $firma_oe->updateamum = date('Y-m-d H:i:s'); $firma_oe->updatevon = $user; $firma_oe->kundennummer=$kundennummer_erhalter; if(!$firma_oe->saveorganisationseinheit()) { $error = true; $errormsg.='Fehler beim Speichern der Kundennummer:'.$firma_oe->errormsg; } } //Kundennummer GmbH if($kundennummer_gmbh_id!='' || $kundennummer_gmbh!='') { $firma_oe = new firma(); if($kundennummer_gmbh_id!='') { if(!$firma_oe->load_firmaorganisationseinheit($kundennummer_gmbh_id)) { $error = true; $errormsg.='Fehler beim Laden der Organisationseinheitenzuordnung'; } $firma_oe->new = false; } else { $firma_oe->firma_id = $firma->firma_id; $firma_oe->new = true; $firma_oe->oe_kurzbz='gmbh'; $firma_oe->insertamum = date('Y-m-d H:i:s'); $firma_oe->insertvon = $user; } $firma_oe->updateamum = date('Y-m-d H:i:s'); $firma_oe->updatevon = $user; $firma_oe->kundennummer=$kundennummer_gmbh; if(!$firma_oe->saveorganisationseinheit()) { $error = true; $errormsg.='Fehler beim Speichern der Kundennummer:'.$firma_oe->errormsg; } } //Adressdatensatz anlegen/updaten $adresse = new adresse(); if($adresse_id!='') { $adresse->load($adresse_id); $adresse->udpateamum = date('Y-m-d H:i:s'); $adresse->updatevon = $user; $adresse->new = false; } else { $adresse->zustelladresse = true; $adresse->heimatadresse = false; $adresse->new = true; $adresse->insertamum = date('Y-m-d H:i:s'); $adresse->insertvon = $user; } $adresse->strasse = $strasse; $adresse->plz = $plz; $adresse->ort = $ort; $adresse->nation = $nation; if($adresse->save()) { //Standort anlegen/updaten $standort = new standort(); if($standort_id!='') { $standort->load($standort_id); $standort->new = false; $standort->insertamum = date('Y-m-d H:i:s'); $standort->insertvon = $user; $standort->new = false; } else { $standort->insertamum = date('Y-m-d H:i:s'); $standort->insertvon = $user; $standort->new = true; } $standort->firma_id = $firma->firma_id; $standort->adresse_id = $adresse->adresse_id; $standort->kurzbz = mb_substr($firma->name, 0,16); if($standort->save()) { //Kontaktdaten anlegen/updaten if($fax!='') { $kontakt = new kontakt(); if($fax_id!='') { $kontakt->load($fax_id); $kontakt->new = false; } else $kontakt->new = true; $kontakt->kontakttyp='fax'; $kontakt->standort_id = $standort->standort_id; $kontakt->kontakt = $fax; if(!$kontakt->save()) { $errormsg.=$kontakt->errormsg; $error = true; } } if($telefon!='') { $kontakt = new kontakt(); if($telefon_id!='') { $kontakt->load($telefon_id); $kontakt->new = false; } else { $kontakt->new = true; } $kontakt->kontakttyp='telefon'; $kontakt->standort_id = $standort->standort_id; $kontakt->kontakt = $telefon; if(!$kontakt->save()) { $errormsg.=$kontakt->errormsg; $error = true; } } if($email!='') { $kontakt = new kontakt(); if($email_id!='') { $kontakt->load($email_id); $kontakt->new = false; } else { $kontakt->new = true; } $kontakt->kontakttyp='email'; $kontakt->standort_id = $standort->standort_id; $kontakt->kontakt = $email; if(!$kontakt->save()) { $errormsg.=$kontakt->errormsg; $error = true; } } } else { $errormsg.='Standort:'.$standort->errormsg; $error = true; } } else { $errormsg.='Adresse:'.$adresse->errormsg; $error=true; } } else { $errormsg.='Firma:'.$firma->errormsg; $error=true; } } if($error) { echo 'Fehler: '.$errormsg.''; $db->db_query('ROLLBACK;'); if($firma_id!='') { $method='update'; $id = $firma_id; } else $method='new'; } else { $db->db_query('COMMIT;'); echo 'Die Firma wurde erfolgreich gespeichert!'; if(isset($_SESSION['wawi/last_bestellung_id'])) echo '
Zurück zur letzten Bestellung'; $method='update'; $id=$firma->firma_id; } } // Update / Neuanlage if($method=='new' || $method=='update') { $firma_id=''; $standort_id=''; $adresse_id=''; $fax_id=''; $email_id=''; $telefon_id=''; $anmerkung=''; $kundennummer_erhalter=''; $kundennummer_erhalter_id=''; $kundennummer_gmbh=''; $kundennummer_gmbh_id=''; if($method=='new') echo '

Neue Firma

'; else { echo '

Firma Bearbeiten

'; if(!is_numeric($id)) die('ID ist ungueltig'); //Firma Laden $firma = new firma(); if(!$firma->load($id)) die('Firma konnte nicht geladen werden'); $name = $firma->name; $anmerkung = $firma->anmerkung; $firma_id = $firma->firma_id; $firma_oe = new firma(); $firma_oe->get_firmaorganisationseinheit($firma_id,'gst'); if(isset($firma_oe->result[0])) { $kundennummer_erhalter = $firma_oe->result[0]->kundennummer; $kundennummer_erhalter_id = $firma_oe->result[0]->firma_organisationseinheit_id; } $firma_oe = new firma(); $firma_oe->get_firmaorganisationseinheit($firma_id,'gmbh'); if(isset($firma_oe->result[0])) { $kundennummer_gmbh = $firma_oe->result[0]->kundennummer; $kundennummer_gmbh_id = $firma_oe->result[0]->firma_organisationseinheit_id; } //Standort Laden $standort = new standort(); $standort->load_firma($firma_id); if(isset($standort->result[0])) { $standort_id = $standort->result[0]->standort_id; $adresse_id = $standort->result[0]->adresse_id; //Adresse Laden $adresse = new adresse(); $adresse->load($adresse_id); $strasse = $adresse->strasse; $plz = $adresse->plz; $ort = $adresse->ort; $nation = $adresse->nation; if($nation=='') $nation='A'; //Kontaktdaten Laden $kontakt = new kontakt(); $kontakt->loadFirmaKontakttyp($standort_id, 'telefon'); $telefon = $kontakt->kontakt; $telefon_id = $kontakt->kontakt_id; $kontakt = new kontakt(); $kontakt->loadFirmaKontakttyp($standort_id, 'fax'); $fax = $kontakt->kontakt; $fax_id = $kontakt->kontakt_id; $kontakt = new kontakt(); $kontakt->loadFirmaKontakttyp($standort_id, 'email'); $email = $kontakt->kontakt; $email_id = $kontakt->kontakt_id; } } echo '
'; echo '
Name:
Straße:
Plz / Ort:
Nation: '; $nat = new nation(); $nat->getAll(); echo ''; echo '
Telefon:
Fax:
E-Mail:
Kundennummer Erhalter:
Kundennummer GmbH:
Anmerkungen:
'; echo '
'; echo ''; } //Suchen von Firmen if($method=='search') { $filter = (isset($_POST['filter'])?$_POST['filter']:''); echo '

Firma suchen

'; echo '
'; echo ''; echo ' '; echo '
'; if($filter!='') { $firma = new firma(); if($firma->searchFirma($filter)) { echo '

'; foreach($firma->result as $row) { echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; } echo '
  ID Name Adresse
',$row->firma_id,'',$row->name,'',$row->strasse,' ',$row->plz,' ',$row->ort,'
'; } } } ?>