, * 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/mitarbeiter.class.php'; require_once '../include/datum.class.php'; require_once '../include/benutzerberechtigung.class.php'; require_once '../include/standort.class.php'; require_once '../include/adresse.class.php'; require_once '../include/studiengang.class.php'; require_once '../include/mail.class.php'; require_once '../include/geschaeftsjahr.class.php'; require_once '../include/wawi_konto.class.php'; require_once '../include/wawi_bestellung.class.php'; require_once '../include/wawi_kostenstelle.class.php'; require_once '../include/wawi_bestelldetail.class.php'; require_once '../include/wawi_aufteilung.class.php'; require_once '../include/wawi_bestellstatus.class.php'; require_once '../include/wawi_zahlungstyp.class.php'; require_once '../include/tags.class.php'; require_once '../include/projekt.class.php'; $aktion =''; $test = 0; // Bestelldetail Anzahl $date = new datum(); $user=get_uid(); $ausgabemsg=''; $berechtigung_kurzbz='wawi/bestellung'; $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); $kst=new wawi_kostenstelle(); $kst->loadArray($rechte->getKostenstelle($berechtigung_kurzbz),'bezeichnung'); $projekt = new projekt(); $projekt->getProjekteMitarbeiter($user); $projektZugeordnet = false; // Abfrage ob dem user ein oder mehrere Projekte zugeordnet sind if(count($projekt->result) > 0) $projektZugeordnet = true; if(isset($_POST['getKonto'])) { $id = $_POST['id']; if(is_numeric($id)) { $konto = new wawi_konto(); $konto->getKontoFromKostenstelle($id); if(count($konto->result)>0) { foreach($konto->result as $ko) { echo '\n"; } } else echo ""; } else echo ""; exit; } if(isset($_POST['getFirma'])) { $id = $_POST['id']; if(isset($_POST['id'])) { if($_POST['id'] == 'opt_auswahl') { echo "\n"; } else { // anzeige der Firmen die oe zugeordnet sind $firma = new firma(); $firma->get_firmaorganisationseinheit(null,$id); if(count($firma->result)>0) { echo "\n"; foreach($firma->result as $fi) { echo '\n"; } } else echo ""; } } else echo ""; exit; } if(isset($_POST['getSearchKonto'])) { $id = $_POST['id']; if(isset($_POST['id'])) { if($_POST['id'] == 'opt_auswahl') { $konto = new wawi_konto(); $konto->getAll(); // anzeige aller Konten echo "\n"; foreach($konto->result as $ko) { echo '\n"; } } else { // anzeige aller Konten die der Kostenstelle zugeordnet sind $konto = new wawi_konto(); $konto->getKontoFromOE($id); if(count($konto->result)>0) { echo "\n"; foreach($konto->result as $ko) { echo '\n"; } } else echo ""; } } else echo ""; exit; } if(isset($_POST['getDetailRow']) && isset($_POST['id'])) { if(is_numeric($_POST['id'])) { echo getDetailRow($_POST['id'],'','','','','','','','','',$_POST['bestellung_id'],$_POST['id']); $test++; exit; } else { die('ID ungueltig'); } } if(isset($_POST['deleteDetail']) && isset($_POST['id'])) { if(is_numeric($_POST['id'])) { $detail = new wawi_bestelldetail(); $bestellung = new wawi_bestellung(); if(!$detail->load($_POST['id'])) die('Eintrag wurde nicht gefunden'); if(!$bestellung->load($detail->bestellung_id)) die('Bestellung konnte nicht geladen werden'); if(!$rechte->isberechtigt('wawi/bestellung',null, 'suid', $bestellung->kostenstelle_id)) die('Sie haben keine Berechtigung fuer diese Aktion'); $detail->delete($_POST['id']); exit; } else { die('ID ungueltig'); } } if(isset($_POST['saveDetail'])) { $bestellung = new wawi_bestellung(); if(!$bestellung->load($_POST['bestellung'])) die('Bestellung konnte nicht geladen werden'); if(!$rechte->isberechtigt('wawi/bestellung',null, 'sui', $bestellung->kostenstelle_id)) die('Sie haben keine Berechtigung zum Aendern der Daten'); $detail = new wawi_bestelldetail(); $detail->bestellung_id = $_POST['bestellung']; $detail->position = $_POST['pos']; $detail->menge = $_POST['menge']; $detail->verpackungseinheit = $_POST['ve']; $detail->beschreibung = $_POST['beschreibung']; $detail->artikelnummer = $_POST['artikelnr']; $detail->preisprove = $_POST['preis']; $detail->mwst = $_POST['mwst']; if($_POST['sort'] != '') $detail->sort = $_POST['sort']; else $detail->sort = $_POST['pos']; $detail->insertamum = date('Y-m-d H:i:s'); $detail->updateamum = date('Y-m-d H:i:s'); $detail->new = true; if(!$detail->save()) echo $detail->errormsg; echo $detail->bestelldetail_id; exit; } if(isset($_POST['updateDetail'])) { $bestellung = new wawi_bestellung(); if(!$bestellung->load($_POST['bestellung'])) die('Bestellung konnte nicht geladen werden'); if(!$rechte->isberechtigt('wawi/bestellung',null, 'sui', $bestellung->kostenstelle_id)) die('Sie haben keine Berechtigung zum Aendern der Daten'); $detail = new wawi_bestelldetail(); $detail->bestelldetail_id = $_POST['detail_id']; $detail->bestellung_id = $_POST['bestellung']; $detail->position = $_POST['pos']; $detail->menge = $_POST['menge']; $detail->verpackungseinheit = $_POST['ve']; $detail->beschreibung = $_POST['beschreibung']; $detail->artikelnummer = $_POST['artikelnr']; $detail->preisprove = $_POST['preis']; $detail->mwst = $_POST['mwst']; $detail->sort = $_POST['sort']; $detail->insertamum = date('Y-m-d H:i:s'); $detail->updateamum = date('Y-m-d H:i:s'); $detail->erhalten = false; $detail->text = false; $detail->new = false; if(!$detail->save()) echo $detail->errormsg; echo $detail->bestelldetail_id; exit; } if(isset($_POST['deleteBtnGeliefert']) && isset($_POST['id'])) { $bestellung = new wawi_bestellung(); if(!$bestellung->load($_POST['id'])) die('Bestellung konnte nicht geladen werden'); if(!$rechte->isberechtigt('wawi/bestellung',null, 'sui', $bestellung->kostenstelle_id)) die('Sie haben keine Berechtigung fuer diese Aktion'); $bestellstatus = new wawi_bestellstatus(); $bestellstatus->bestellung_id = $_POST['id']; $bestellstatus->bestellstatus_kurzbz = 'Lieferung'; $bestellstatus->uid = $_POST['user_id']; $bestellstatus->oe_kurzbz = ''; $bestellstatus->datum = date('Y-m-d H:i:s'); $bestellstatus->insertvon = $_POST['user_id']; $bestellstatus->insertamum = date('Y-m-d H:i:s'); $bestellstatus->updatevon = $_POST['user_id']; $bestellstatus->updateamum = date('Y-m-d H:i:s'); if($bestellstatus->save()) { echo $date->formatDatum($bestellstatus->datum, 'd.m.Y'); sendBestellerMail($bestellung, 'geliefert'); } else echo $bestellstatus->errormsg; exit; } if(isset($_POST['deleteBtnBestellt']) && isset($_POST['id'])) { $bestellung = new wawi_bestellung(); if(!$bestellung->load($_POST['id'])) die('Bestellung konnte nicht geladen werden'); if(!$rechte->isberechtigt('wawi/bestellung',null, 'sui', $bestellung->kostenstelle_id)) die('Sie haben keine Berechtigung fuer diese Aktion'); $bestellstatus = new wawi_bestellstatus(); $bestellstatus->bestellung_id = $_POST['id']; $bestellstatus->bestellstatus_kurzbz = 'Bestellung'; $bestellstatus->uid = $_POST['user_id']; $bestellstatus->oe_kurzbz = ''; $bestellstatus->datum = date('Y-m-d H:i:s'); $bestellstatus->insertvon = $_POST['user_id']; $bestellstatus->insertamum = date('Y-m-d H:i:s'); $bestellstatus->updatevon = $_POST['user_id']; $bestellstatus->updateamum = date('Y-m-d H:i:s'); if($bestellstatus->save()) { echo $date->formatDatum($bestellstatus->datum, 'd.m.Y'); sendBestellerMail($bestellung, 'bestellt'); } else echo $bestellstatus->errormsg; exit; } if(isset($_POST['deleteBtnStorno']) && isset($_POST['id'])) { $bestellung = new wawi_bestellung(); if(!$bestellung->load($_POST['id'])) die('Bestellung konnte nicht geladen werden'); if(!$rechte->isberechtigt('wawi/bestellung',null, 'sui', $bestellung->kostenstelle_id)) die('Sie haben keine Berechtigung fuer diese Aktion'); $date = new datum(); $bestellstatus = new wawi_bestellstatus(); $bestellstatus->bestellung_id = $_POST['id']; $bestellstatus->bestellstatus_kurzbz = 'Storno'; $bestellstatus->uid = $_POST['user_id']; $bestellstatus->oe_kurzbz = ''; $bestellstatus->datum = date('Y-m-d H:i:s'); $bestellstatus->insertvon = $_POST['user_id']; $bestellstatus->insertamum = date('Y-m-d H:i:s'); $bestellstatus->updatevon = $_POST['user_id']; $bestellstatus->updateamum = date('Y-m-d H:i:s'); if($bestellstatus->save()) { echo $date->formatDatum($bestellstatus->datum, 'd.m.Y'); sendBestellerMail($bestellung, 'storno'); } else echo $bestellstatus->errormsg; exit; } ?> WaWi Bestellung isberechtigt('wawi/bestellung',null, 's')) die('Sie haben keine Berechtigung zum Suchen von Bestellungen'); // Suchmaske anzeigen $konto = new wawi_konto(); $konto->getAll(); $konto_all = $konto->result; $zahlungstyp = new wawi_zahlungstyp(); $zahlungstyp->getAll(); $kostenstelle = new wawi_kostenstelle(); $oe_berechtigt = new organisationseinheit(); $datum = new datum(); $datum=getdate(); if ($datum['mon']<9) $suchdatum="01.09.".($datum['year']-1); else $suchdatum="01.09.".$datum['year']; echo "

Bestellung suchen

\n"; echo "
\n"; echo ""; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo ""; echo ""; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; $oe_array = $rechte->getOEkurzbz('wawi/bestellung'); $oe_berechtigt->loadArray($oe_array,'organisationseinheittyp_kurzbz', false); echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; $kst_array = $rechte->getKostenstelle('wawi/bestellung'); $kostenstelle->loadArray($kst_array,'bezeichnung'); 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 ""; /* echo ""; */ echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo ""; echo ""; echo "\n"; echo ""; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
Bestell.- Inventarnummer
Titel
Bestellposition:
Erstelldatumvon bis
Bestelldatumvon bis
Organisationseinheit: \n"; echo "
Firma: \n"; echo "\n"; echo " \n"; echo "
Kostenstelle: \n"; echo "
Konto: \n"; echo "
Zahlungstyp: \n"; echo "
Tag:
Änderung durch: \n"; echo " \n"; echo "
Nur ohne Rechnung
Nur ohne Tags
Nur ohne Freigabe
 
\n"; echo "
\n"; } else { // Suchergebnisse anzeigen if(!$rechte->isberechtigt('wawi/bestellung',null, 's')) die('Sie haben keine Berechtigung zum Suchen von Bestellungen'); $_SESSION['wawi/lastsearch']=$_SERVER['QUERY_STRING']; $status = new wawi_bestellstatus(); $bestellnummer = (isset($_REQUEST['bestellnr'])?$_REQUEST['bestellnr']:''); $titel = (isset($_REQUEST['titel'])?mb_str_replace("'", "´",$_REQUEST['titel']):''); $evon = (isset($_REQUEST['evon'])?$_REQUEST['evon']:''); $ebis = (isset($_REQUEST['ebis'])?$_REQUEST['ebis']:''); $bvon = (isset($_REQUEST['bvon'])?$_REQUEST['bvon']:''); $bbis = (isset($_REQUEST['bbis'])?$_REQUEST['bbis']:''); $tag = (isset($_REQUEST['tag'])?$_REQUEST['tag']:''); $zahlungstyp = (isset($_REQUEST['filter_zahlungstyp'])?$_REQUEST['filter_zahlungstyp']:''); $firma_id = (isset($_REQUEST['firma_id'])?$_REQUEST['firma_id']:''); if(!isset($_REQUEST['filter_oe_kurzbz']) || $_REQUEST['filter_oe_kurzbz'] == 'opt_auswahl') $oe_kurzbz = ''; else $oe_kurzbz = $_REQUEST['filter_oe_kurzbz']; $filter_kostenstelle = (isset($_REQUEST['filter_kostenstelle'])?$_REQUEST['filter_kostenstelle']:''); $filter_tag = (isset($_REQUEST['filter_tag'])?$_REQUEST['filter_tag']:''); $filter_konto = (isset($_REQUEST['filter_konto'])?$_REQUEST['filter_konto']:''); $mitarbeiter_uid = (isset($_REQUEST['mitarbeiter_uid'])?$_REQUEST['mitarbeiter_uid']:''); $filter_firma = (isset($_REQUEST['filter_firma'])?$_REQUEST['filter_firma']:''); $rechnung = (isset ($_REQUEST['rechnung'])?true:false); $tagsNotExists = (isset ($_REQUEST['tagsvorhanden'])?true:false); $ohneFreigabe = (isset ($_REQUEST['ohneFreigabe'])?true:false); $bestellposition= (isset($_REQUEST['bestellposition'])?mb_str_replace("'", "´", $_REQUEST['bestellposition']):''); $bestellung = new wawi_bestellung(); if($evon != '') $evon = $date->formatDatum($evon); if($ebis != '') $ebis = $date->formatDatum($ebis); if($bvon != '') $bvon = $date->formatDatum($bvon); if($bbis != '') $bbis = $date->formatDatum($bbis); if(($evon || $evon === '') && ($ebis || $ebis === '' ) && ($bvon || $bvon === '') && ($bbis || $bbis === '')) { if($bestellnummer=='' && $titel=='' && $evon=='' && $ebis=='' && $bvon=='' && $bbis=='' && $firma_id=='' && $oe_kurzbz=='' && $filter_konto=='' && $mitarbeiter_uid=='' && $filter_firma=='' && $filter_kostenstelle=='' && $tag=='' && $zahlungstyp=='' && $bestellposition=='') { echo "Bitte grenzen Sie Ihre Suche weiter ein"; } else { // Filter firma oder firma id werden angezeigt if($bestellung->getAllSearch($bestellnummer, $titel, $evon, $ebis, $bvon, $bbis, $firma_id, $oe_kurzbz, $filter_konto, $mitarbeiter_uid, $rechnung, $filter_firma, $filter_kostenstelle, $tag, $zahlungstyp, $tagsNotExists, $bestellposition, $ohneFreigabe)) { $brutto = 0; $gesamtpreis =0; $firma = new firma(); $date = new datum(); echo "\n"; echo "\n"; foreach($bestellung->result as $row) { $geliefert = 'nein'; $brutto = $bestellung->getBrutto($row->bestellung_id); $gesamtpreis +=$brutto; if($status->isStatiVorhanden($row->bestellung_id, 'Lieferung')) $geliefert = 'ja'; $firmenname = ''; if(is_numeric($row->firma_id)) { $firma->load($row->firma_id); $firmenname = $firma->name; } // freigegebene oder bestellte Bestellungen können nur vom Zentraleinkauf gelöscht werden $bestellung_status_help = new wawi_bestellstatus(); //Zeilen der Tabelle ausgeben echo "\n"; echo ""; echo '\n"; echo '\n"; echo '\n"; echo '\n"; echo '\n"; echo ''; echo '\n"; echo '\n"; echo '\n"; echo "\n"; } echo "\n"; echo "
Bestellnr. Bestell_ID Firma Erstellung Freigegeben Geliefert Brutto Titel Letzte Änderung
bestellung_id\" title=\"Bestellung bearbeiten\"> bestellung_id\" onclick='return conf_del()' title='Bestellung löschen' > bestellung_id\" title=\"Neue Rechnung anlegen\"> bestellung_id\" title=\"Bestellung kopieren\"> '.$row->bestell_nr."'.$row->bestellung_id."'.$firmenname."'.$date->formatDatum($row->insertamum, 'd.m.Y')."'.($row->freigegeben?'ja':'nein')."'.$geliefert.''.number_format($brutto, 2, ",",".")."'.$row->titel."'.$date->formatDatum($row->updateamum,'d.m.Y').' '.$row->updatevon ."
Summe:".number_format($gesamtpreis,2, ",",".")." €
\n"; } else echo $bestellung->errormsg; } } else echo "ungültiges Datumsformat"; } } elseif($aktion == 'new') { // Maske für neue Bestellung anzeigen if(!$rechte->isberechtigt('wawi/bestellung',null, 'sui')) die('Sie haben keine Berechtigung zum Anlegen von Bestellungen'); echo "

Neue Bestellung

"; 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 "
Titel:"; echo "
Kostenstelle:
Firma:
Konto: \n"; echo "\n"; echo "
 
\n"; echo "
"; echo "
Waren im Wert von über € 500,- sind als Investition zu betrachten, darunter als geringwertiges Wirtschaftsgut (GWG). Dienstleistungen, Nahrungsmittel etc. sind Aufwände.
"; echo ' '; } elseif($aktion == 'save') { if(isset($_POST)) { // Die Bestellung wird gespeichert und die neue id zurückgegeben if(!$rechte->isberechtigt('wawi/bestellung',null, 'sui')) die('Sie haben keine Berechtigung fuer diese Aktion'); $newBestellung = new wawi_bestellung(); $newBestellung->titel = mb_str_replace("'", "´", $_POST['titel']); if($_POST['filter_kst']=='opt_kostenstelle') $newBestellung->kostenstelle_id = null; else $newBestellung->kostenstelle_id = $_POST['filter_kst']; $newBestellung->firma_id = $_POST['firma_id']; if($_POST['konto']=='') $newBestellung->konto_id = null; else $newBestellung->konto_id = $_POST['konto']; $newBestellung->insertamum = date('Y-m-d H:i:s'); $newBestellung->insertvon = $user; $newBestellung->updateamum = date('Y-m-d H:i:s'); $newBestellung->updatevon = $user; $newBestellung->besteller_uid = $user; $newBestellung->new = true; $newBestellung->freigegeben = false; // vordefinierte Werte $newBestellung->zahlungstyp_kurzbz = 'rechnung'; $newBestellung->lieferadresse = '1'; $newBestellung->rechnungsadresse = '1'; $newBestellung->bestell_nr = $newBestellung->createBestellNr($newBestellung->kostenstelle_id); if (!$bestell_id = $newBestellung->save()) { echo $newBestellung->errormsg; } else { $ausgabemsg.='Bestellung wurde erfolgreich angelegt!
'; $_GET['method']= 'update'; $_GET['id'] = $bestell_id; } } } elseif($_GET['method']=='delete') { // Bestellung löschen $id = (isset($_GET['id'])?$_GET['id']:null); $bestellung = new wawi_bestellung(); $bestellung_status_help = new wawi_bestellstatus(); $bestellung->load($id); if(!$rechte->isberechtigt('wawi/bestellung',null, 'suid', $bestellung->kostenstelle_id)) die('Sie haben keine Berechtigung zum Löschen von Bestellungen'); if($bestellung->RechnungVorhanden($id)) { echo 'Kann nicht gelöscht werden. Der Bestellung ist eine Rechnung zugeordnet.'; } else if(($bestellung_status_help->isStatiVorhanden($id, 'Bestellung') || $bestellung_status_help->isStatiVorhanden($id, 'Freigabe'))&& !$rechte->isBerechtigt('wawi/delete_advanced')) { echo 'Bestellte oder Freigegebene Bestellungen können nicht gelöscht werden, wenden Sie sich bitte an den Zentraleinkauf'; } else { if($bestellung->delete($id)) echo 'Bestellung erfolgreich gelöscht.
'; else echo $bestellung->errormsg; } } elseif($_GET['method']=='deletedetail') { if(!$rechte->isberechtigt('wawi/bestellung',null, 'suid')) die('Sie haben keine Berechtigung zum Löschen von Bestellungen'); // Detail löschen $id = (isset($_GET['id'])?$_GET['id']:null); $detail = new wawi_bestelldetail(); $detail->delete($id); } elseif($_GET['method']=='copy') { $bestellung_id = $_GET['id']; $bestellung = new wawi_bestellung(); $bestellung->load($bestellung_id); if(!$rechte->isberechtigt('wawi/bestellung',null, 'sui', $bestellung->kostenstelle_id)) die('Sie haben keine Berechtigung zum Kopieren dieser Bestellung.'); if ($bestellung_neu = $bestellung->copyBestellung($bestellung_id, $user)) { $_GET['method']='update'; $_GET['id']=$bestellung_neu; $ausgabemsg.='Bestellung wurde erfolgreich kopiert.
'; } } if($_GET['method']=='update') { echo ' '; // Bestellung Editieren if(isset($_GET['bestellung'])) { // Update auf Bestellung $date = new datum(); $error = false; $save = false; $bestellung_id = $_GET['bestellung']; $bestellung_old = new wawi_bestellung(); $bestellung_old->load($bestellung_id); $bestellung_new = new wawi_bestellung(); $bestellung_new->load($bestellung_id); $bestellung_new_brutto = $bestellung_new->getBrutto($bestellung_id); $status = new wawi_bestellstatus(); if(!$rechte->isberechtigt('wawi/bestellung',null, 'sui',$bestellung_old->kostenstelle_id) && !$rechte->isberechtigt('wawi/freigabe',null, 's',$bestellung_old->kostenstelle_id) && !$rechte->isberechtigt('wawi/freigabe_advanced')) die('Sie haben keine Berechtigung fuer diese Bestellung'); // speichern if(isset($_POST['btn_abschicken']) || isset($_POST['btn_submit'])) { // überprüfen wenn js fehlschlägt, nicht speichern if(isset($_POST['filter_kst']) || isset($_POST['titel'])) { $aufteilung_anzahl = $_POST['anz_aufteilung']; $bestellung_detail_anz = $_POST['detail_anz']; $bestellung_new->new = false; $bestellung_new->besteller_uid=$_POST['besteller_uid']; if(is_numeric($_POST['filter_konto'])) $bestellung_new->konto_id = $_POST['filter_konto']; else $bestellung_new->konto_id = ''; $bestellung_new->firma_id = $_POST['firma_id']; $bestellung_new->lieferadresse = $_POST['filter_lieferadresse']; $bestellung_new->rechnungsadresse = $_POST['filter_rechnungsadresse']; $bestellung_new->titel = mb_str_replace("'", "´", $_POST['titel']); $bestellung_new->bemerkung = mb_str_replace("'", "´",$_POST['bemerkung']); $bestellung_new->liefertermin = $_POST['liefertermin']; $bestellung_new->updateamum = date('Y-m-d H:i:s'); $bestellung_new->updatevon = $user; $bestellung_new->zahlungstyp_kurzbz = $_POST['filter_zahlungstyp']; $bestellung_new->kostenstelle_id = $_POST['filter_kst']; if(isset($_POST['filter_projekt'])) { // Projekt zu Bestellung speichern $bestellung_new->saveProjektToBestellung($bestellung_new->bestellung_id, $_REQUEST['filter_projekt']); } // wenn sich kostenstelle geändert hat, neue bestellnummer generieren if($bestellung_new->kostenstelle_id != $bestellung_old->kostenstelle_id && !$status->isStatiVorhanden($bestellung_id, 'Bestellung') ) { $bestellung_new->bestell_nr = $bestellung_new->createBestellNr($bestellung_new->kostenstelle_id); } $tags = explode(";", $_POST['tags']); $help_tags = new tags(); $help_tags->bestellung_id = $bestellung_id; $help_tags->deleteBestellungTag($tags); foreach ($tags as $bestelltags) { $tag_bestellung = new tags(); $tag_bestellung->tag = trim($bestelltags); $tag_bestellung->bestellung_id = $bestellung_id; $tag_bestellung->insertvon = $user; $tag_bestellung->insertamum = date('Y-m-d H:i:s'); if(!$tag_bestellung->TagExists()) { $tag_bestellung->saveTag(); $tag_bestellung->saveBestellungTag(); } else { if(!$tag_bestellung->BestellungTagExists()) $tag_bestellung->saveBestellungTag(); } } for($i = 1; $i <= $bestellung_detail_anz; $i++) { // wenn ein Detail gelöscht wird Durchlauf überspringen if(!isset($_POST["bestelldetailid_$i"])) continue; // wenn letzte zeile leer ist, nicht speichern if($i == $bestellung_detail_anz && $_POST["ve_$i"] == '' && $_POST["menge_$i"] =='' && $_POST["beschreibung_$i"]=='' && $_POST["artikelnr_$i"] =='') continue; $detail_id = $_POST["bestelldetailid_$i"]; $bestell_detail = new wawi_bestelldetail(); // gibt es ein bestelldetail schon if($detail_id != '') { // Update $bestell_detail->load($detail_id); $tags_detail = explode(";", $_POST["detail_tag_$i"]); $help_detailtags = new tags(); $help_detailtags->bestelldetail_id = $detail_id; $help_detailtags->deleteBestelldetailTag($tags_detail); foreach ($tags_detail as $det) { $detail_tag = new tags(); $detail_tag->tag = trim($det); $detail_tag->bestelldetail_id = $detail_id; $detail_tag->insertvon = $user; $detail_tag->insertamum = date('Y-m-d H:i:s'); if(!$detail_tag->TagExists()) { $detail_tag->saveTag(); $detail_tag->saveBestelldetailTag(); } else { if(!$detail_tag->BestelldetailTagExists()) $detail_tag->saveBestelldetailTag(); } } $menge = $_POST["menge_$i"]; if($menge == '') $menge = '0'; $bestell_detail->position = $_POST["pos_$i"]; if($_POST["sort_$i"] !='') $bestell_detail->sort = $_POST["sort_$i"]; else $bestell_detail->sort = $_POST["pos_$i"]; $bestell_detail->menge = $menge; $bestell_detail->verpackungseinheit = $_POST["ve_$i"]; $bestell_detail->beschreibung = $_POST["beschreibung_$i"]; $bestell_detail->artikelnummer = $_POST["artikelnr_$i"]; $bestell_detail->preisprove = mb_str_replace(',', '.', $_POST["preis_$i"]); $bestell_detail->mwst = mb_str_replace(',', '.', $_POST["mwst_$i"]); $bestell_detail->updateamum = date('Y-m-d H:i:s'); $bestell_detail->updatevon = $user; $bestell_detail->new = false; } else { // Insert $menge = $_POST["menge_$i"]; if($menge == '') $menge = '0'; $bestell_detail->mwst = ($_POST["mwst_$i"]=='')?0:mb_str_replace(',', '.', $_POST["mwst_$i"]); $bestell_detail->bestellung_id = $_GET['bestellung']; $bestell_detail->position = $_POST["pos_$i"]; $bestell_detail->menge = $menge; $bestell_detail->verpackungseinheit = $_POST["ve_$i"]; $bestell_detail->beschreibung = $_POST["beschreibung_$i"]; $bestell_detail->artikelnummer = $_POST["artikelnr_$i"]; $bestell_detail->preisprove =mb_str_replace(',', '.', $_POST["preis_$i"]); if($bestell_detail->preisprove == '') $bestell_detail->preisprove=0; if($_POST["sort_$i"] != '') $bestell_detail->sort = $_POST["sort_$i"]; else $bestell_detail->sort = $_POST["pos_$i"]; $bestell_detail->insertamum = date('Y-m-d H:i:s'); $bestell_detail->insertvon = $user; $bestell_detail->updateamum = date('Y-m-d H:i:s'); $bestell_detail->updatevon = $user; $bestell_detail->new = true; } if(!$bestell_detail->save()) { echo ''.$bestell_detail->errormsg.''; $error = true; } } for($i=0; $i<$aufteilung_anzahl; $i++) { $aufteilung = new wawi_aufteilung(); $aufteilung->bestellung_id = $bestellung_id; $aufteilung->oe_kurzbz = $_POST['oe_kurzbz_'.$i]; $aufteilung->anteil = $_POST['aufteilung_'.$i]; if($aufteilung->AufteilungExists()) { // Update $aufteilung->updateamum = date('Y-m-d H:i:s'); $aufteilung->updatevon = $user; $aufteilung->new = false; } else { // Insert $aufteilung->updateamum = date('Y-m-d H:i:s'); $aufteilung->updatevon = $user; $aufteilung->insertamum = date('Y-m-d H:i:s'); $aufteilung->insertvon = $user; $aufteilung->new = true; } $aufteilung->saveAufteilung(); } if($error == false) if($bestellung_new->save()) { $ausgabemsg.='Bestellung wurde erfolgreich gespeichert!
'; $save = true; } } } // Bestellung freigeben wird in gang gesetzt --> durch Abschick Button if(isset($_POST['btn_abschicken']) ) { // wenn status Storno vorhanden ist kann nicht mehr freigegeben werden if($status->isStatiVorhanden($bestellung_new->bestellung_id, 'Storno')) { echo 'Keine Freigabe mehr möglich, da Storniert wurde.
'; } else { $status_abgeschickt = new wawi_bestellstatus(); if(!$status_abgeschickt->isStatiVorhanden($bestellung_id, 'Abgeschickt')) { $bestellung_new->load($bestellung_id); $status_abgeschickt->bestellung_id = $bestellung_id; ; $status_abgeschickt->bestellstatus_kurzbz ='Abgeschickt'; $status_abgeschickt->uid = $user; $status_abgeschickt->oe_kurzbz = ''; $status_abgeschickt->datum = date('Y-m-d H:i:s'); $status_abgeschickt->insertvon = $user; $status_abgeschickt->insertamum = date('Y-m-d H:i:s'); $status_abgeschickt->updatevon = $user; $status_abgeschickt->updateamum = date('Y-m-d H:i:s'); if(!$status_abgeschickt->save()) echo "Fehler beim Setzen auf Status Abgeschickt."; // wer ist freigabeberechtigt auf kostenstelle $rechte_fg = new benutzerberechtigung(); $uids = $rechte_fg->getFreigabeBenutzer($bestellung_new->kostenstelle_id, null); if(empty($uids)) $ausgabemsg .='Es ist niemand zur Freigabe der Kostenstelle berechtigt.
'; else $ausgabemsg.=sendFreigabeMails($uids, $bestellung_new, $user); } } } // Kostenstelle hat freigegeben if(isset($_POST['btn_freigabe']) || isset($_POST['btn_freigabe_kst']) ) { if(!$rechte->isBerechtigt('wawi/freigabe',null, 'suid', $bestellung_new->kostenstelle_id) && !$rechte->isBerechtigt('wawi/freigabe_advanced')) die('Sie haben keine Berechtigung zum Freigeben der Bestellung'); if(isset($_POST['btn_freigabe_kst'])) { // wenn status Storno vorhanden, soll nicht mehr freigegeben werden. if($status->isStatiVorhanden($bestellung_new->bestellung_id, 'Storno')) { $ausgabemsg.= 'Keine Freigabe mehr möglich, da Storniert wurde.
'; } else { // Freigabestatus für Kostenstelle $bestellung_new->load($bestellung_id); $status = new wawi_bestellstatus(); $status->bestellung_id = $bestellung_new->bestellung_id; $status->bestellstatus_kurzbz = 'Freigabe'; $status->uid = $user; $status->oe_kurzbz = ''; $status->datum = date('Y-m-d H:i:s'); $status->insertvon = $user; $status->insertamum = date('Y-m-d H:i:s'); $status->updateamum = date('Y-m-d H:i:s'); $status->updatevon = $user; if(!$status->save()) { $ausgabemsg.= 'Fehler beim Setzen auf Status Freigabe.
'; } else { $ausgabemsg.= 'Bestellung wurde erfolgreich freigegeben
'; // wer ist freigabeberechtigt auf nächsthöhere Organisationseinheit $oes = array(); $oes = $bestellung_new->FreigabeOe($bestellung_id); $freigabe= false; foreach($oes as $o) { if(!$status->isStatiVorhanden($bestellung_new->bestellung_id, 'Freigabe', $o)) { $rechte_fg = new benutzerberechtigung(); $uids = $rechte_fg->getFreigabeBenutzer(null, $o); if(empty($uids)) $ausgabemsg .='Es ist niemand zur Freigabe der Kostenstelle berechtigt.
'; else $freigabe = true; break; } } if(!$freigabe == false) { $ausgabemsg.=sendFreigabeMails($uids, $bestellung_new, $user); } else { //Bestellung komplett freigegeben //Freigabe setzen und Info an Zentraleinkauf schicken if(!$bestellung_new->isFreigegeben($bestellung_new->bestellung_id)) $bestellung_new->SetFreigegeben($bestellung_new->bestellung_id); sendZentraleinkaufFreigegeben($bestellung_new); sendBestellerMail($bestellung_new, 'freigabe'); } } } } else { // OE hat freigegeben // wenn status Storno vorhanden, soll nicht mehr freigegeben werden. if($status->isStatiVorhanden($bestellung_new->bestellung_id, 'Storno')) { $ausgabemsg.='Keine Freigabe mehr möglich, da Storniert wurde.
'; } else { // Freigabestatus für Kostenstelle $bestellung_new->load($bestellung_id); $status = new wawi_bestellstatus(); $status->bestellung_id = $bestellung_new->bestellung_id; $status->bestellstatus_kurzbz = 'Freigabe'; $status->uid = $user; $status->oe_kurzbz = $_POST['freigabe_oe']; $status->datum = date('Y-m-d H:i:s'); $status->insertvon = $user; $status->insertamum = date('Y-m-d H:i:s'); $status->updateamum = date('Y-m-d H:i:s'); $status->updatevon = $user; if(!$status->save()) { $ausgabemsg.= 'Fehler beim Setzen auf Status Freigabe.
'; } else { $ausgabemsg.= 'Bestellung wurde erfolgreich freigegeben
'; // wer ist freigabeberechtigt auf nächsthöhere Organisationseinheit $oes = array(); $oes = $bestellung_new->FreigabeOe($bestellung_id); $freigabe = false; foreach($oes as $o) { if(!$status->isStatiVorhanden($bestellung_new->bestellung_id, 'Freigabe', $o)) { $rechte_fg = new benutzerberechtigung(); $uids = $rechte_fg->getFreigabeBenutzer(null, $o); if(empty($uids)) $ausgabemsg .='Es ist niemand zur Freigabe der Kostenstelle berechtigt. Bitte wenden Sie sich an den Support.
'; else $freigabe = true; break; } } if(!$freigabe == false) { // es wurde noch nicht alles Freigegeben $ausgabemsg.=sendFreigabeMails($uids, $bestellung_new, $user); } else { //Bestellung komplett freigegeben //Freigabe setzen und Info an Zentraleinkauf schicken if(!$bestellung_new->isFreigegeben($bestellung_new->bestellung_id)) $bestellung_new->SetFreigegeben($bestellung_new->bestellung_id); sendZentraleinkaufFreigegeben($bestellung_new); sendBestellerMail($bestellung_new, 'freigabe'); } } } } } // es soll die freigabenachricht erneut versendet werden, an dem der zum freigeben drann ist if(isset($_POST['btn_erneut_abschicken'])) { if(!$status->isStatiVorhanden($bestellung_new->bestellung_id, 'Freigabe')) { // KST hat noch nicht freigegeben $rechte_fg = new benutzerberechtigung(); $uids = $rechte_fg->getFreigabeBenutzer($bestellung_new->kostenstelle_id, null); if(empty($uids)) $ausgabemsg .='Es ist niemand zur Freigabe der Kostenstelle berechtigt.
'; else $ausgabemsg.=sendFreigabeMails($uids, $bestellung_new, $user); } else { $bestellung_new->load($bestellung_id); // wer ist freigabeberechtigt auf nächsthöhere Organisationseinheit $oes = array(); $oes = $bestellung_new->FreigabeOe($bestellung_id); $freigabe= false; foreach($oes as $o) { if(!$status->isStatiVorhanden($bestellung_new->bestellung_id, 'Freigabe', $o)) { $rechte_fg = new benutzerberechtigung(); $uids = $rechte_fg->getFreigabeBenutzer(null, $o); if(empty($uids)) $ausgabemsg .='Es ist niemand zur Freigabe der Kostenstelle berechtigt.
'; else $freigabe = true; break; } } if(!$freigabe == false) { $ausgabemsg.=sendFreigabeMails($uids, $bestellung_new, $user); // fehlermeldung wenn kein uid gefunden } else { $ausgabemsg.= 'Die Bestellung wurde komplett freigegeben
'; } } } $_GET['method']='update'; $_GET['id']=$bestellung_new->bestellung_id; } // Bestellung Editieren $id = (isset($_GET['id'])?$_GET['id']:null); $bestellung = new wawi_bestellung(); if(!$bestellung->load($id)) die("Bestellung ist nicht vorhanden."); if(!$rechte->isberechtigt('wawi/bestellung',null, 's',$bestellung->kostenstelle_id) && !$rechte->isberechtigt('wawi/freigabe',null, 's',$bestellung->kostenstelle_id)) die('Sie haben keine Berechtigung fuer diese Bestellung Zurück'); //Session setzen damit von der Firmenanlage wieder zurueckgesprungen werden kann $_SESSION['wawi/last_bestellung_id']=$id; $detail = new wawi_bestelldetail(); $detail->getAllDetailsFromBestellung($id); $anz_detail = count($detail->result); $konto = new wawi_konto(); $konto->getKontoFromKostenstelle($bestellung->kostenstelle_id); $konto_bestellung = new wawi_konto(); $konto_bestellung->load($bestellung->konto_id); $kostenstelle = new wawi_kostenstelle(); $kostenstelle->load($bestellung->kostenstelle_id); $aufteilung = new wawi_aufteilung(); // Bei neuer Bestellung Default Aufteilung holen ansonsten von bestehender bestellung if(isset($_GET['new'])) $aufteilung->getAufteilungFromKostenstelle($bestellung->kostenstelle_id); else $aufteilung->getAufteilungFromBestellung($bestellung->bestellung_id); $firma = new firma(); $firma->load($bestellung->firma_id); $allStandorte = new standort(); $allStandorte->getStandorteWithTyp('Intern'); $status= new wawi_bestellstatus(); $bestell_tag = new tags(); $studiengang = new studiengang(); $studiengang->getAll('typ, kurzbz', null); //budget berechnung $geschaeftsjahr = new geschaeftsjahr(); $gJahr = $geschaeftsjahr->getSpecific($bestellung->insertamum); $budget = $kostenstelle->getBudget($bestellung->kostenstelle_id,$gJahr); $spentBudget = $bestellung->getSpentBudget($bestellung->kostenstelle_id, $gJahr); $restBudget = $budget - $spentBudget; $summe= 0; $konto_vorhanden = false; $kst_vorhanden =false; $alert =''; $besteller = new benutzer(); $besteller->load($bestellung->besteller_uid); $besteller_vorname=$besteller->vorname; $besteller_nachname=$besteller->nachname; if($restBudget < 0 && $budget != 0) $ausgabemsg.='Ihr aktuelles Budget ist bereits überzogen.'; //Meldungen Ausgeben echo '
',$ausgabemsg,'
'; echo "

Bearbeiten

"; echo "
bestellung_id\" method='post' name='editForm' id='editForm' onSubmit='document.getElementById(\"filter_kst\").disabled=false;'>\n"; echo "

Bestellnummer: ".$bestellung->bestell_nr; echo ' '; echo ' '; if($rechte->isBerechtigt('system/developer')) echo ' '; echo '

'; //tabelle Bestelldetails 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 ""; echo "\n"; echo "\n"; $disabled = ''; if($status->isStatiVorhanden($bestellung->bestellung_id, 'Bestellung') || $status->isStatiVorhanden($bestellung->bestellung_id, 'Storno') || $status->isStatiVorhanden($bestellung->bestellung_id, 'Abgeschickt')) $disabled = 'disabled'; if($rechte->isberechtigt('wawi/bestellung_advanced',null, 'suid', $bestellung->kostenstelle_id) || ($rechte->isBerechtigt('wawi/freigabe', null, 'suid',$bestellung->kostenstelle_id) && $bestellung->freigegeben)) $disabled = ''; 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"; $bestell_tag->GetTagsByBestellung($bestellung->bestellung_id); $tag_help = $bestell_tag->GetStringTags(); echo "\n"; echo "\n"; echo ""; echo ""; echo "\n"; echo "\n"; $restBudget = sprintf('%01.2f',$restBudget); echo ""; echo "
Titel: Erstellt am:".$date->formatDatum($bestellung->insertamum, 'd.m.Y')."Liefertermin:
Firma: \n"; echo " Kontaktperson: \n"; echo " "; // wenn user projekt zugeordnet ist -> Projekt Drop Down anzeigen $ProjektUser = new projekt(); $ProjektUser->getProjektFromBestellung($bestellung->bestellung_id); $Bestellung_Projekt = false; // Projekt DropDown aus allen Projekten von eingeloggten User und dem der Bestellung -> true wenn Projekt aus Bestellung in User Projekten enthalten ist if($projektZugeordnet == true) { echo " Projekt:"; echo " "; } echo "
Kostenstelle:Lieferadresse:
Konto: Rechnungsadresse:
Bemerkungen: Status:\n"; echo ""; $new = 0; if($status->isStatiVorhanden($bestellung->bestellung_id, 'Bestellung')) { $status_help = new wawi_bestellstatus(); $status_help->getStatiFromBestellung('Bestellung', $bestellung->bestellung_id); echo ' Bestellt am: '.$date->formatDatum($status->datum,'d.m.Y').''; $new++; } if($status->isStatiVorhanden($bestellung->bestellung_id, 'Lieferung') ) { $status_help = new wawi_bestellstatus(); $status_help->getStatiFromBestellung('Lieferung', $bestellung->bestellung_id); echo " insertvon>Geliefert am: ".$date->formatDatum($status->datum, 'd.m.Y').""; $new++; } if($status->isStatiVorhanden($bestellung->bestellung_id, 'Storno') ) { echo " Storniert am: ".$date->formatDatum($status->datum, 'd.m.Y').""; $new++; } if($new == 0) { echo "Erstellt am: ".$date->formatDatum($bestellung->insertamum, 'd.m.Y').""; } echo ""; echo "\n"; $disabled=''; if(($status->isStatiVorhanden($bestellung->bestellung_id, 'Bestellung') ||$status->isStatiVorhanden($bestellung->bestellung_id, 'Storno') || $rechte->isBerechtigt('wawi/bestellung_advanced',null,'suid') == false)) { $disabled ='disabled'; } echo ""; $disabled=''; if($status->isStatiVorhanden($bestellung->bestellung_id, 'Lieferung') ||$status->isStatiVorhanden($bestellung->bestellung_id, 'Storno')) { $disabled ='disabled'; } echo ""; $disabled = ''; if($status->isStatiVorhanden($bestellung->bestellung_id, 'Bestellung') || $status->isStatiVorhanden($bestellung->bestellung_id, 'Storno')) { $disabled ='disabled'; } if($rechte->isberechtigt('wawi/storno',null, 'suid', $bestellung->kostenstelle_id)) { echo ""; } echo"
Tags:\n"; echo ""; /* echo ' '; */ echo "Freigabe:"; if(!$status->isStatiVorhanden($bestellung->bestellung_id, 'Abgeschickt') && !$bestellung->freigegeben) { echo "Bitte Abschicken zur Freigabe."; } $freigabebutton = true; // Freigabe Buttons fuer Kostenstelle Anzeigen if($status->isStatiVorhanden($bestellung->bestellung_id, 'Freigabe')) { echo "KST:".$date->formatDatum($status->datum,'d.m.Y')." "; } else { $disabled = 'disabled'; if($status->isStatiVorhanden($bestellung->bestellung_id, 'Abgeschickt')) { if($rechte->isberechtigt('wawi/freigabe',null, 'su', $bestellung->kostenstelle_id) || $rechte->isBerechtigt('wawi/freigabe_advanced')) { $disabled = ''; $freigabebutton=false; } echo ""; } } // Freigabe Buttons fuer Organisationseinheiten anzeigen if($status->isStatiVorhanden($bestellung->bestellung_id, 'Abgeschickt')) { $oes = array(); $oes = $bestellung->FreigabeOe($bestellung->bestellung_id); $freigabe = false; foreach($oes as $o) { if(!$status->isStatiVorhanden($bestellung->bestellung_id, 'Freigabe', $o)) { if($freigabebutton===true && ($rechte->isberechtigt('wawi/freigabe',$o, 'su', null) || $rechte->isBerechtigt('wawi/freigabe_advanced'))) { echo ""; echo ""; $freigabebutton=false; } else { echo ""; } $freigabe = true; } else { echo "".$o.":".$date->formatDatum($status->datum,'d.m.Y')." "; } } /*if($freigabe == false) { if(!$bestellung->isFreigegeben($bestellung->bestellung_id)) $bestellung->SetFreigegeben($bestellung->bestellung_id); }*/ } echo "
Zahlungstyp:Rest-Budget:$restBudget
\n"; echo "
"; //tabelle Details 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 ""; echo "\n"; echo ""; $i= 1; foreach($detail->result as $det) { $brutto=($det->menge * ($det->preisprove +($det->preisprove * ($det->mwst/100)))); $brutto = floor( $brutto * 1000) / 1000; getDetailRow($i, $det->bestelldetail_id, $det->sort, $det->menge, $det->verpackungseinheit, $det->beschreibung, $det->artikelnummer, $det->preisprove, $det->mwst, sprintf("%01.2f",$brutto), $bestellung->bestellung_id, $det->position); $summe+=$brutto; $i++; } if(!$bestellung->freigegeben) getDetailRow($i,null,$i,null,null,null,null,null,null,null,$bestellung->bestellung_id,$i); $test = $i; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo""; echo ""; echo ""; echo "
PosSortMengeVEBezeichnungArtikelnr.Preis/VEUSt BruttoTags
"; // neue Zeile hinzufügen nur mit Berechtigung if($rechte->isberechtigt('wawi/bestellung_advanced',null, 'suid', $bestellung->kostenstelle_id)) echo ""; echo "Gesamtpreis Netto:
Gesamtpreis Brutto:
\n"; echo "

\n"; echo ' '; $disabled=''; if($status->isStatiVorhanden($bestellung->bestellung_id, 'Storno') || $status->isStatiVorhanden($bestellung->bestellung_id, 'Abgeschickt') || ($bestellung->freigegeben)) $disabled='disabled'; $aktBrutto = $bestellung->getBrutto($bestellung->bestellung_id); if($aktBrutto =='') $aktBrutto ="0"; echo ''; echo ""; echo ""; if($status->isStatiVorhanden($bestellung->bestellung_id, 'Abgeschickt') && !$bestellung->freigegeben) echo ""; echo"
"; echo ""; echo "

"; if($disabled!='') { //Wenn die Advanced Berechtigung vorhanden ist, werden die Felder nicht gesperrt oder derjenige hat berechtigungen auf die kst oder oe und die bestellung ist noch nicht freigegeben if(!($rechte->isBerechtigt('wawi/bestellung_advanced',null, 'suid') || ($rechte->isBerechtigt('wawi/freigabe',null,'suid',$bestellung->kostenstelle_id)) && !$bestellung->freigegeben)) { // Felder Sperren echo ''; } } if(isset($_SESSION['wawi/lastsearch'])) echo '

'; if($status->isStatiVorhanden($bestellung->bestellung_id, 'Abgeschickt')) echo "Bestellung wurde am ".$date->formatDatum($status->datum,'d.m.Y')." zur Freigabe abgeschickt."; if($bestellung->isFreigegeben($bestellung->bestellung_id)) echo "

Die Bestellung wurde vollständig freigegeben

"; // div Aufteilung --> kann ein und ausgeblendet werden echo "
"; echo "Aufteilung anzeigen / ausblenden\n"; echo "
"; echo "
\n"; echo ""; echo "\n"; $help = 0; $anteil = 0; $summe = 0; // alle studiengänge, auch inaktive foreach($studiengang->result as $stud) { $vorhanden = false; if($stud->studiengang_kz < 10000) { if($help%6 == 0) { echo""; } foreach($aufteilung->result as $auf) { // wenn in aufteilung vorhanden if(mb_strtoupper($auf->oe_kurzbz) == mb_strtoupper($stud->oe_kurzbz)) { $anteil = $auf->anteil; $vorhanden = true; } } if($stud->aktiv || $vorhanden) { $summe += $anteil; echo "\n"; $help++; $anteil = 0; } } } echo ""; echo "\n"; echo ' '; echo ""; echo ""; echo "
".mb_strtoupper($stud->oe_kurzbz).": %
Summe:%
"; echo "
"; echo "

"; echo ' '; } // ****** FUNKTIONEN ******* // /** * Gibt eine Bestelldetail Zeile aus */ function getDetailRow($i, $bestelldetail_id='', $sort='', $menge='', $ve='', $beschreibung='', $artikelnr='', $preisprove='', $mwst='', $brutto='', $bestell_id='', $pos='') { $removeDetail =''; $checkSave = "checkSave(".$i.");"; $checkRow = ''; $replaceKomma = "replaceKomma(".$i.");"; $user=get_uid(); $status= new wawi_bestellstatus(); $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); $bestellung = new wawi_bestellung(); $bestellung->load($bestell_id); // wenn status Storno oder Abgeschickt, kein löschen der Details mehr möglich if(!$status->isStatiVorhanden($bestell_id,'Storno')) { if(!$status->isStatiVorhanden($bestell_id,'Abgeschickt')) { $removeDetail = "removeDetail(".$i.");"; $checkRow = "setTimeout(\"checkNewRow(".$i.",".$bestell_id.")\",100);"; } if($status->isStatiVorhanden($bestell_id,'Abgeschickt') && ($rechte->isBerechtigt('wawi/bestellung_advanced') || ($rechte->isBerechtigt('wawi/freigabe', null,'suid',$bestellung->kostenstelle_id) && !$bestellung->freigegeben))) $removeDetail = "removeDetail(".$i.");"; } if($sort == '') $sort = $i; $mwst = str_replace('.', ',', $mwst); echo "\n"; echo " \n"; echo "\n"; echo " \n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; $detail_tag = new tags(); $detail_tag->GetTagsByBestelldetail($bestelldetail_id); $help = $detail_tag->GetStringTags(); echo ""; /* echo " "; */ echo ""; echo ""; echo "\n"; echo "\n"; echo "\n"; } /** * Sendet ein FreigabeMail fuer einen Bestellung * * @param uids Array mit UIDs an die das Freigabemail gesendet werden soll * @param bestellung Bestellung Object mit der Bestellung die freigegeben werden soll */ function sendFreigabeMails($uids, $bestellung, $user) { global $date; $tags = new tags(); $tags->GetTagsByBestellung($bestellung->bestellung_id); $tagsAusgabe=''; foreach($tags->result as $res) { if($tagsAusgabe!='') $tagsAusgabe.=', '; $tagsAusgabe.=$res->tag; } $msg = ''; $kst_mail = new wawi_kostenstelle(); $kst_mail->load($bestellung->kostenstelle_id); $firma_mail = new firma(); $firma_mail->load($bestellung->firma_id); $konto_mail = new wawi_konto(); $konto_mail->load($bestellung->konto_id); $besteller = new benutzer(); $besteller->load($bestellung->besteller_uid); // E-Mail an Kostenstellenverantwortliche senden $email= "Dies ist eine automatisch generierte E-Mail.

"; $email.="Es wurde eine neue Bestellung auf Kostenstelle '".$kst_mail->bezeichnung."' erstellt bzw. eine bestehende geändert. Bitte geben Sie die Bestellung frei.
"; $email.="Bestellnummer: ".$bestellung->bestell_nr."
"; $email.="Titel: ".$bestellung->titel."
"; $email.="Firma: ".$firma_mail->name."
"; $email.="Kontaktperson: ".$besteller->titelpre.' '.$besteller->vorname.' '.$besteller->nachname.' '.$besteller->titelpost."
"; $email.="Erstellt am: ".$date->formatDatum($bestellung->insertamum,'d.m.Y')."
"; $email.="Kostenstelle: ".$kst_mail->bezeichnung."
Konto: ".$konto_mail->kurzbz."
"; $email.="Tags: ".$tagsAusgabe."
"; $email.="Link: zur Bestellung "; foreach($uids as $uid) { $mail = new mail($uid.'@'.DOMAIN, $user, 'Freigabe Bestellung '.$bestellung->bestell_nr, 'Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen.'); $mail->setHTMLContent($email); if(!$mail->send()) $msg.= 'Fehler beim Senden des Mails
'; else $msg.= ' Mail verschickt an '.$uid.'@'.DOMAIN.'!
'; } return $msg; } /** * E-Mail Benachrichtigung ueber vollstaendige Freigabe der Bestellung an * den Zentraleinkauf senden * @param $bestellung Bestellung Object der freigegebenen Bestellung */ function sendZentraleinkaufFreigegeben($bestellung) { global $date; $tags = new tags(); $tags->GetTagsByBestellung($bestellung->bestellung_id); $tagsAusgabe=''; foreach($tags->result as $res) { if($tagsAusgabe!='') $tagsAusgabe.=', '; $tagsAusgabe.=$res->tag; } $msg = ''; $kst_mail = new wawi_kostenstelle(); $kst_mail->load($bestellung->kostenstelle_id); $firma_mail = new firma(); $firma_mail->load($bestellung->firma_id); $konto_mail = new wawi_konto(); $konto_mail->load($bestellung->konto_id); $besteller = new benutzer(); $besteller->load($bestellung->besteller_uid); // E-Mail an Kostenstellenverantwortliche senden $email= "Dies ist eine automatisch generierte E-Mail.

"; $email.= "Die folgende Bestellung wurde freigegeben und kann bestellt werden:
"; $email.="Kostenstelle: ".$kst_mail->bezeichnung."
"; $email.="Bestellnummer: ".$bestellung->bestell_nr."
"; $email.="Titel: ".$bestellung->titel."
"; $email.="Firma: ".$firma_mail->name."
"; $email.="Kontaktperson: ".$besteller->titelpre.' '.$besteller->vorname.' '.$besteller->nachname.' '.$besteller->titelpost."
"; $email.="Erstellt am: ".$date->formatDatum($bestellung->insertamum,'d.m.Y')."
"; $email.="Konto: ".$konto_mail->kurzbz."
"; $email.="Tags: ".$tagsAusgabe."
"; $email.="Link: zur Bestellung "; $mail = new mail(MAIL_ZENTRALEINKAUF, 'no-reply', 'Freigabe Bestellung', 'Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen.'); $mail->setHTMLContent($email); if(!$mail->send()) $msg.= 'Fehler beim Senden des Mails
'; else $msg.= ' Mail verschickt an '.MAIL_ZENTRALEINKAUF.'!
'; return $msg; } /** * Schickt ein Status-Mail an die Kontaktperson der Bestellung * * @param $bestellung Bestellung Object der Bestellung * @param $status Art der Statusaenderung (bestellt|geliefert|freigabe|storno) */ function sendBestellerMail($bestellung, $status) { global $date; $tags = new tags(); $tags->GetTagsByBestellung($bestellung->bestellung_id); $tagsAusgabe=''; foreach($tags->result as $res) { if($tagsAusgabe!='') $tagsAusgabe.=', '; $tagsAusgabe.=$res->tag; } $msg = ''; $kst_mail = new wawi_kostenstelle(); $kst_mail->load($bestellung->kostenstelle_id); $firma_mail = new firma(); $firma_mail->load($bestellung->firma_id); $konto_mail = new wawi_konto(); $konto_mail->load($bestellung->konto_id); // E-Mail an Kostenstellenverantwortliche senden $email= "Dies ist eine automatisch generierte E-Mail.

"; switch($status) { case 'bestellt': $email.=" Ihre Bestellung wurde bestellt"; break; case 'geliefert': $email.=" Ihre Bestellung wurde geliefert
Hinweis: Nach erfolgter Lieferung werden Waren ab einem Wert von EUR 400,-- pro Einzelposition inventarisiert.
"; break; case 'freigabe': $email.=" Ihre Bestellung wurde freigegeben"; break; case 'storno': $email.=" Ihre Bestellung wurde storniert"; break; } $email.="
"; $email.="Kostenstelle: ".$kst_mail->bezeichnung."
"; $email.="Bestellnummer: ".$bestellung->bestell_nr."
"; $email.="Titel: ".$bestellung->titel."
"; $email.="Firma: ".$firma_mail->name."
"; $email.="Erstellt am: ".$date->formatDatum($bestellung->insertamum,'d.m.Y')."
"; $email.="Kostenstelle: ".$kst_mail->bezeichnung."
Konto: ".$konto_mail->kurzbz."
"; $email.="Tags: ".$tagsAusgabe."
"; $email.="Link: zur Bestellung "; $mail = new mail($bestellung->besteller_uid.'@'.DOMAIN, 'no-reply', 'Bestellung '.$bestellung->bestell_nr, 'Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen.'); $mail->setHTMLContent($email); if(!$mail->send()) $msg.= 'Fehler beim Senden des Mails
'; else $msg.= ' Mail verschickt an '.$bestellung->besteller_uid.'@'.DOMAIN.'!
'; return $msg; } ?>