From 94470396accb0fccb0dadcca9d5e1bc461180b1b Mon Sep 17 00:00:00 2001 From: Karl Burkhart Date: Thu, 16 Dec 2010 14:29:22 +0000 Subject: [PATCH] --- include/wawi_bestellstatus.class.php | 52 +++- include/wawi_bestellung.class.php | 23 +- wawi/bestellung.php | 426 ++++++++++++++------------- 3 files changed, 294 insertions(+), 207 deletions(-) diff --git a/include/wawi_bestellstatus.class.php b/include/wawi_bestellstatus.class.php index fa52b51e5..48ce73754 100644 --- a/include/wawi_bestellstatus.class.php +++ b/include/wawi_bestellstatus.class.php @@ -151,7 +151,7 @@ class wawi_bestellstatus extends basis_db } $qry = "select bestellstatus.* from wawi.tbl_bestellung_bestellstatus as bestellstatus - where + WHERE bestellung_id = ".$this->addslashes($bestellung_id)." and bestellstatus_kurzbz = ".$this->addslashes($status_kurzbz).";"; if($this->db_query($qry)) { @@ -200,7 +200,7 @@ class wawi_bestellstatus extends basis_db * Gibt das Bestelldetail einer Bestellung zur übergebenen BestellungID zurück * @param $bestellung_id */ - public function getStatiFromBestellung($status, $bestellung_id) + public function getStatiFromBestellung($status, $bestellung_id, $oe_kurzbz ='') { if(!is_numeric($bestellung_id) || $bestellung_id == '') { @@ -208,7 +208,9 @@ class wawi_bestellstatus extends basis_db return false; } - $qry ="select * from wawi.tbl_bestellung_bestellstatus where bestellstatus_kurzbz = ".$this->addslashes($status)." and bestellung_id = ".$this->addslashes($bestellung_id).";"; + $qry ="select * from wawi.tbl_bestellung_bestellstatus + WHERE + bestellstatus_kurzbz = ".$this->addslashes($status)." and bestellung_id = ".$this->addslashes($bestellung_id).";"; if($this->db_query($qry)) { if($row = $this->db_fetch_object()) @@ -231,4 +233,48 @@ class wawi_bestellstatus extends basis_db else return false; } + + /** + * + * liefert die Freigaben zu Kostenstellen oder Organisationseinheiten zurück, true wenn es einen Eintrag gibt, false wenn nicht + * wenn oe_kurzbz nicht mitangegeben wird, wird auf Kostenstelle Freigabe geprüft + * @param $bestellung_id + * @param $kostenstelle + */ + public function getFreigabeFromBestellung($bestellung_id, $oe_kurzbz='') + { + if($oe_kurzbz == '') + $oe = 'is '.$this->addslashes($oe_kurzbz); + else + $oe = '= '.$this->addslashes($oe_kurzbz); + + $qry = "Select * FROM wawi.tbl_bestellung_bestellstatus + WHERE + bestellung_id = ".$this->addslashes($bestellung_id)." and oe_kurzbz ".$oe." and bestellstatus_kurzbz = 'Freigabe';"; + + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->bestellung_bestellstatus_id = $row->bestellung_bestellstatus_id; + $this->bestellung_id = $row->bestellung_id; + $this->bestellstatus_kurzbz = $row->bestellstatus_kurzbz; + $this->uid = $row->uid; + $this->oe_kurzbz = $row->oe_kurzbz; + $this->datum = $row->datum; + $this->insertvon = $row->insertvon; + $this->insertamum = $row->insertamum; + $this->updatevon = $row->updatevon; + $this->updateamum = $row->updateamum; + + return true; + } + else + return false; + } + else + return false; + + } + } \ No newline at end of file diff --git a/include/wawi_bestellung.class.php b/include/wawi_bestellung.class.php index ac2cd9bb9..d0b5099e2 100644 --- a/include/wawi_bestellung.class.php +++ b/include/wawi_bestellung.class.php @@ -460,15 +460,15 @@ class wawi_bestellung extends basis_db * Kopiert eine bestehende Bestellung * @param $bestellung_id */ - function copyBestellung($bestellung_id) + function copyBestellung($bestellung_id, $user) { $error = false; $this->db_query('BEGIN;'); // Bestellung kopieren $qry_bestellung = "INSERT INTO wawi.tbl_bestellung (bestellung_id, besteller_uid, kostenstelle_id, konto_id, firma_id, lieferadresse, rechnungsadresse, freigegeben, bestell_nr, - titel, bemerkung, liefertermin, updateamum, updatevon, insertamum, insertvon, ext_id) SELECT nextval('wawi.seq_bestellung_bestellung_id'), besteller_uid, kostenstelle_id, konto_id, firma_id, lieferadresse, - rechnungsadresse, freigegeben, currval('wawi.seq_bestellung_bestellung_id'), titel, bemerkung, liefertermin, now(), updatevon, now(), insertvon, ext_id FROM wawi.tbl_bestellung WHERE + titel, bemerkung, liefertermin, updateamum, updatevon, insertamum, insertvon, ext_id) SELECT nextval('wawi.seq_bestellung_bestellung_id'), ".$this->addslashes($user).", kostenstelle_id, konto_id, firma_id, lieferadresse, + rechnungsadresse, 'false', currval('wawi.seq_bestellung_bestellung_id'), titel, bemerkung, liefertermin, now(), ".$this->addslashes($user).", now(), ".$this->addslashes($user).", ext_id FROM wawi.tbl_bestellung WHERE bestellung_id = ".$bestellung_id.";"; //echo $qry_bestellung; if(!$this->db_query($qry_bestellung)) @@ -494,7 +494,7 @@ class wawi_bestellung extends basis_db { $qry_detail ="INSERT INTO wawi.tbl_bestelldetail (bestellung_id, position, menge, verpackungseinheit, beschreibung, artikelnummer, preisprove, mwst, erhalten, sort, text, insertamum, insertvon, updateamum, updatevon) SELECT $newBestellung_id, position, menge, verpackungseinheit, beschreibung, artikelnummer, preisprove, mwst, erhalten, sort, - text, now(), insertvon, now(), updatevon FROM wawi.tbl_bestelldetail + text, now(), ".$this->addslashes($user).", now(), ".$this->addslashes($user)." FROM wawi.tbl_bestelldetail WHERE bestelldetail_id = ".$detail->bestelldetail_id.";"; if (!$this->db_query($qry_detail)) $error = true; @@ -515,7 +515,7 @@ class wawi_bestellung extends basis_db // zugehörigen TAG kopieren $qry_detailtag = "INSERT INTO wawi.tbl_bestelldetailtag (tag, bestelldetail_id, insertamum, insertvon) - SELECT tag, ".$this->addslashes($newBestellDetail_id).", insertamum, insertvon FROM wawi.tbl_bestelldetailtag + SELECT tag, ".$this->addslashes($newBestellDetail_id).", now(), ".$this->addslashes($user)." FROM wawi.tbl_bestelldetailtag WHERE bestelldetail_id = ".$this->addslashes($detail->bestelldetail_id).";"; if (!$this->db_query($qry_detailtag)) @@ -525,7 +525,7 @@ class wawi_bestellung extends basis_db // aufteilung kopieren $qry_aufteilung = "INSERT INTO wawi.tbl_aufteilung (bestellung_id, oe_kurzbz, anteil, updateamum, updatevon, insertamum, insertvon) - SELECT ".$this->addslashes($newBestellung_id)." , oe_kurzbz, anteil, updateamum, updatevon, insertamum, insertvon FROM wawi.tbl_aufteilung WHERE bestellung_id = ".$bestellung_id.";"; + SELECT ".$this->addslashes($newBestellung_id)." , oe_kurzbz, anteil, updateamum, updatevon, now(), ".$this->addslashes($user)." FROM wawi.tbl_aufteilung WHERE bestellung_id = ".$bestellung_id.";"; if (!$this->db_query($qry_aufteilung)) $error = true; @@ -536,7 +536,7 @@ class wawi_bestellung extends basis_db $error = true; // bestelltag kopieren - $qry_bestelltag ="INSERT INTO wawi.tbl_bestellungtag (tag, bestellung_id, insertamum, insertvon) SELECT tag, ".$this->addslashes($newBestellung_id).", insertamum, insertvon + $qry_bestelltag ="INSERT INTO wawi.tbl_bestellungtag (tag, bestellung_id, insertamum, insertvon) SELECT tag, ".$this->addslashes($newBestellung_id).", now(), ".$this->addslashes($user)." from wawi.tbl_bestellungtag WHERE bestellung_id = ".$bestellung_id.";"; if (!$this->db_query($qry_bestelltag)) $error = true; @@ -578,4 +578,13 @@ class wawi_bestellung extends basis_db return false; } + /** + * + * Liefert true zurück wenn es schon eine Freigabe auf die KST gegeben hat + */ + public function freigabeKstErfolgt() + { + + } + } \ No newline at end of file diff --git a/wawi/bestellung.php b/wawi/bestellung.php index e0fcb630f..d6a76f00b 100644 --- a/wawi/bestellung.php +++ b/wawi/bestellung.php @@ -980,6 +980,7 @@ if($aktion == 'suche') function(data){ $("#btn_storniert").html("Storniert am: " +data); document.editForm.btn_submit.disabled=true; + document.editForm.btn_abschicken.disabled=true; }); } @@ -1213,219 +1214,250 @@ if($aktion == 'suche') $bestellung_new = new wawi_bestellung(); $bestellung_new->load($bestellung_id); $bestellung_new_brutto = $bestellung_new->getBrutto($bestellung_id); + $status = new wawi_bestellstatus(); - if(isset($_POST['btn_abschicken']) || isset($_POST['btn_submit']) || isset($_POST['btn_freigabe_kst'])) + // speichern + if(isset($_POST['btn_abschicken']) || isset($_POST['btn_submit'])) { - $aufteilung_anzahl = $_POST['anz_aufteilung']; - $bestellung_detail_anz = $_POST['detail_anz']; - - $bestellung_new->new = false; - $bestellung_new->besteller_uid=$user; - 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 = $_POST['titel']; - $bestellung_new->bemerkung = $_POST['bemerkung']; - $bestellung_new->liefertermin = $date->formatDatum($_POST['liefertermin'], 'Y-m-d'); - $bestellung_new->updateamum = date('Y-m-d H:i:s'); - $bestellung_new->updatevon = $user; - $tags = explode(";", $_POST['tags']); - $help_tags = new tags(); - $help_tags->bestellung_id = $bestellung_id; - $help_tags->deleteBestellungTag($tags); - - foreach ($tags as $bestelltags) + // wenn es status Storno oder Abgeschickt schon gibt, darf nicht gespeichert werden + if($status->isStatiVorhanden($bestellung_new->bestellung_id, 'Storno') || $status->isStatiVorhanden($bestellung_new->bestellung_id, 'Abgeschickt')) { - $tag_bestellung = new tags(); - $tag_bestellung->tag = trim($bestelltags); - $tag_bestellung->bestellung_id = $bestellung_id; - $tag_bestellung->insertvon = $user; - $tag_besetllung->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(); - } - } - // letzte leere zeile nicht speichern - for($i = 1; $i < $bestellung_detail_anz; $i++) + echo "Kein Speichern mehr möglich.
"; + echo " Zurück zur Bestellung "; + } + else { - $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"]); + $aufteilung_anzahl = $_POST['anz_aufteilung']; + $bestellung_detail_anz = $_POST['detail_anz']; - $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(); - } - } - - $bestell_detail->position = $_POST["pos_$i"]; - $bestell_detail->menge = $_POST["menge_$i"]; - $bestell_detail->verpackungseinheit = $_POST["ve_$i"]; - $bestell_detail->beschreibung = $_POST["beschreibung_$i"]; - $bestell_detail->artikelnummer = $_POST["artikelnr_$i"]; - $bestell_detail->preisprove = $_POST["preisprove_$i"]; - $bestell_detail->mwst = $_POST["mwst_$i"]; - $bestell_detail->updateamum = date('Y-m-d H:i:s'); - $bestell_detail->updatevon = $user; - $bestell_detail->new = false; - } + $bestellung_new->new = false; + $bestellung_new->besteller_uid=$user; + if(is_numeric($_POST['filter_konto'])) + $bestellung_new->konto_id = $_POST['filter_konto']; else - { - // Insert - $bestell_detail->bestellung_id = $_GET['bestellung']; - $bestell_detail->position = $_POST["pos_$i"]; - $bestell_detail->menge = $_POST["menge_$i"]; - $bestell_detail->verpackungseinheit = $_POST["ve_$i"]; - $bestell_detail->beschreibung = $_POST["beschreibung_$i"]; - $bestell_detail->artikelnummer = $_POST["artikelnr_$i"]; - $bestell_detail->preisprove = $_POST["preisprove_$i"]; - $bestell_detail->mwst = $_POST["mwst_$i"]; - $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; - } + $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 = $_POST['titel']; + $bestellung_new->bemerkung = $_POST['bemerkung']; + $bestellung_new->liefertermin = $date->formatDatum($_POST['liefertermin'], 'Y-m-d'); + $bestellung_new->updateamum = date('Y-m-d H:i:s'); + $bestellung_new->updatevon = $user; + $tags = explode(";", $_POST['tags']); + $help_tags = new tags(); + $help_tags->bestellung_id = $bestellung_id; + $help_tags->deleteBestellungTag($tags); - if(!$bestell_detail->save()) + foreach ($tags as $bestelltags) { - echo $bestell_detail->errormsg; - } - } - - 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($bestellung_new->save()) - { - echo "erfolgreich gespeichert.

"; - $save = true; - $_GET['method']= 'update'; - $_GET['id']= $bestellung_id; - } - echo " Zurück zur Bestellung "; - } - // Bestellung freigeben - if(isset($_POST['btn_abschicken']) ) - { - $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 = new benutzerberechtigung(); - $uids = $rechte->getFreigabeBenutzer($bestellung_new->kostenstelle_id, null); - foreach($uids as $uid) - { - // E-Mail an Kostenstellenverantwortliche senden - $msg ="$bestellung_new->bestellung_id freigeben. bestellung_id> drücken "; - $mail = new mail($uid.'@'.DOMAIN, 'no-reply', 'Freigabe Bestellung', $msg); - $mail->setHTMLContent($msg); - if(!$mail->send()) - echo 'Fehler beim Senden des Mails'; + $tag_bestellung = new tags(); + $tag_bestellung->tag = trim($bestelltags); + $tag_bestellung->bestellung_id = $bestellung_id; + $tag_bestellung->insertvon = $user; + $tag_besetllung->insertamum = date('Y-m-d H:i:s'); + + if(!$tag_bestellung->TagExists()) + { + $tag_bestellung->saveTag(); + $tag_bestellung->saveBestellungTag(); + } else - echo '
Mail verschickt!'; + { + if(!$tag_bestellung->BestellungTagExists()) + $tag_bestellung->saveBestellungTag(); + } + } + // letzte leere zeile nicht speichern + for($i = 1; $i < $bestellung_detail_anz; $i++) + { + $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(); + } + } + + $bestell_detail->position = $_POST["pos_$i"]; + $bestell_detail->menge = $_POST["menge_$i"]; + $bestell_detail->verpackungseinheit = $_POST["ve_$i"]; + $bestell_detail->beschreibung = $_POST["beschreibung_$i"]; + $bestell_detail->artikelnummer = $_POST["artikelnr_$i"]; + $bestell_detail->preisprove = $_POST["preisprove_$i"]; + $bestell_detail->mwst = $_POST["mwst_$i"]; + $bestell_detail->updateamum = date('Y-m-d H:i:s'); + $bestell_detail->updatevon = $user; + $bestell_detail->new = false; + } + else + { + // Insert + $bestell_detail->bestellung_id = $_GET['bestellung']; + $bestell_detail->position = $_POST["pos_$i"]; + $bestell_detail->menge = $_POST["menge_$i"]; + $bestell_detail->verpackungseinheit = $_POST["ve_$i"]; + $bestell_detail->beschreibung = $_POST["beschreibung_$i"]; + $bestell_detail->artikelnummer = $_POST["artikelnr_$i"]; + $bestell_detail->preisprove = $_POST["preisprove_$i"]; + $bestell_detail->mwst = $_POST["mwst_$i"]; + $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; + } + } + + 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($bestellung_new->save()) + { + echo "erfolgreich gespeichert.

"; + $save = true; + $_GET['method']= 'update'; + $_GET['id']= $bestellung_id; + } + echo " Zurück zur Bestellung "; + } + + } + // Bestellung freigeben wird in gang gesetzt + 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.
"; + echo " Zurück zur Bestellung "; + } + 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 = new benutzerberechtigung(); + $uids = $rechte->getFreigabeBenutzer($bestellung_new->kostenstelle_id, null); + foreach($uids as $uid) + { + // E-Mail an Kostenstellenverantwortliche senden + $msg ="$bestellung_new->bestellung_id freigeben. bestellung_id> drücken "; + $mail = new mail($uid.'@'.DOMAIN, 'no-reply', 'Freigabe Bestellung', $msg); + $mail->setHTMLContent($msg); + if(!$mail->send()) + echo 'Fehler beim Senden des Mails'; + else + echo '
Mail verschickt!'; + } } } } + // kostenstelle gibt frei if(isset($_POST['btn_freigabe_kst']) ) { - // 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()) + // wenn status Storno vorhanden, soll nicht mehr freigegeben werden. + if($status->isStatiVorhanden($bestellung_new->bestellung_id, 'Storno')) { - echo "Fehler beim Setzen auf Status Freigabe."; + echo "Keine Freigabe mehr möglich, da Storniert wurde.
"; + echo " Zurück zur Bestellung "; + } + 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()) + { + echo "Fehler beim Setzen auf Status Freigabe."; + } + + $bestellung_brutto = $bestellung_new->getBrutto($bestellung_new->bestellung_id); + echo $bestellung_brutto; } - - $bestellung_brutto = $bestellung_new->getBrutto($bestellung_new->bestellung_id); - echo $bestellung_brutto; } } }