diff --git a/include/tw/vilesci_menu_main.inc.php b/include/tw/vilesci_menu_main.inc.php index 50f8eddf7..94b407712 100644 --- a/include/tw/vilesci_menu_main.inc.php +++ b/include/tw/vilesci_menu_main.inc.php @@ -193,7 +193,7 @@ $menu=array 'Inventar'=> array ( 'name'=>'Inventar', 'permissions'=>array('admin','wawi','support','wawi/inventar'), - 'Neu'=>array('name'=>'Neu', 'link'=>'inventar/inventar_pflege.php', 'target'=>'main'), + 'Neu'=>array('name'=>'Neu', 'link'=>'inventar/inventar_pflege.php?vorlage=false', 'target'=>'main'), 'Suche'=>array('name'=>'Suche', 'link'=>'inventar/inventar.php', 'target'=>'main'), 'AfA'=>array('name'=>'AfA', 'link'=>'inventar/inventar_afa.php', 'target'=>'main'), 'Inventur'=>array('name'=>'Inventur', 'link'=>'inventar/inventar_inventur.php', 'target'=>'main'), diff --git a/include/wawi_bestellung.class.php b/include/wawi_bestellung.class.php index a824fd6c6..f0d8c86cb 100644 --- a/include/wawi_bestellung.class.php +++ b/include/wawi_bestellung.class.php @@ -174,8 +174,11 @@ class wawi_bestellung extends basis_db * @param $konto_id * @param $mitarbeiter_uid * @param $rechnung + * @param $filter_firma + * @param $kostenstelle_id + * @param $tag */ - public function getAllSearch($bestellnr, $titel, $evon, $ebis, $bvon, $bbis, $firma_id, $oe_kurzbz, $konto_id, $mitarbeiter_uid, $rechnung, $filter_firma, $kostenstelle_id=null) + public function getAllSearch($bestellnr, $titel, $evon, $ebis, $bvon, $bbis, $firma_id, $oe_kurzbz, $konto_id, $mitarbeiter_uid, $rechnung, $filter_firma, $kostenstelle_id=null, $tag=null) { $first = true; $qry = "SELECT distinct on (bestellung.bestellung_id) *, bestellung.updateamum as update, bestellung.updatevon as update_von, bestellung.insertamum as insert, bestellung.insertvon as insert_von @@ -225,7 +228,12 @@ class wawi_bestellung extends basis_db if($kostenstelle_id!='') $qry.= ' AND kostenstelle_id='.$this->addslashes($kostenstelle_id); - + + if($tag!='') + $qry.= ' AND (EXISTS (SELECT 1 FROM wawi.tbl_bestellungtag WHERE tag='.$this->addslashes($tag).' AND bestellung_id=bestellung.bestellung_id) + OR EXISTS (SELECT 1 FROM wawi.tbl_bestelldetailtag JOIN wawi.tbl_bestelldetail USING(bestelldetail_id) WHERE tag='.$this->addslashes($tag).' AND bestellung_id=bestellung.bestellung_id) + )'; + if(!$this->db_query($qry)) { $this->errormsg = "Fehler bei der Datenbankabfrage."; diff --git a/include/wawi_rechnung.class.php b/include/wawi_rechnung.class.php index fa7e0403d..13b6061ac 100644 --- a/include/wawi_rechnung.class.php +++ b/include/wawi_rechnung.class.php @@ -29,7 +29,7 @@ class wawi_rechnung extends basis_db { public $rechnung_id; // serial public $bestellung_id; // int - public $rechnungstyp_kurzbz='Zahlung';// varchar + public $rechnungstyp_kurzbz='Rechnung';// varchar public $buchungsdatum; // date public $rechnungsnr; // varchar public $rechnungsdatum; // date diff --git a/rdf/bestellung.rdf.php b/rdf/bestellung.rdf.php index 69157f241..4f0cb2093 100644 --- a/rdf/bestellung.rdf.php +++ b/rdf/bestellung.rdf.php @@ -65,23 +65,31 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") $lieferadresse->load($bestellung->lieferadresse); $firma = new firma(); - $firma->load($bestellung->firma_id); - $kundennummer = $firma->get_kundennummer($bestellung->firma_id, $kostenstelle->oe_kurzbz); - $standort = new standort(); - $standort->load_firma($firma->firma_id); - if(isset($standort->result[0])) - $standort = $standort->result[0]; - $empfaengeradresse = new adresse(); - $empfaengeradresse->load($standort->adresse_id); - $kontakt = new kontakt(); - $kontakt->loadFirmaKontakttyp($standort->standort_id, 'telefon'); - $telefon = $kontakt->kontakt; - $kontakt = new kontakt(); - $kontakt->loadFirmaKontakttyp($standort->standort_id, 'fax'); - $fax = $kontakt->kontakt; - + if($bestellung->firma_id!='') + { + $firma->load($bestellung->firma_id); + $kundennummer = $firma->get_kundennummer($bestellung->firma_id, $kostenstelle->oe_kurzbz); + + $standort->load_firma($firma->firma_id); + if(isset($standort->result[0])) + $standort = $standort->result[0]; + + $empfaengeradresse->load($standort->adresse_id); + $kontakt = new kontakt(); + $kontakt->loadFirmaKontakttyp($standort->standort_id, 'telefon'); + $telefon = $kontakt->kontakt; + $kontakt = new kontakt(); + $kontakt->loadFirmaKontakttyp($standort->standort_id, 'fax'); + $fax = $kontakt->kontakt; + } + else + { + $telefon=''; + $fax=''; + $kundennummer=''; + } $datum_obj = new datum(); header("Content-type: application/xhtml+xml"); diff --git a/vilesci/inventar/inventar_pflege.php b/vilesci/inventar/inventar_pflege.php index d7adb3194..830ee06c2 100644 --- a/vilesci/inventar/inventar_pflege.php +++ b/vilesci/inventar/inventar_pflege.php @@ -355,6 +355,20 @@ item.value=item.value.substring(0,item.value.length-1); } } + + function SubmitOhneVorlage() + { + first = document.getElementById('bestellung_id_array0') + document.getElementById('bestellung_id').value=first.value; + document.sendform.submit(); + } + + function SubmitOhneVorlageDetail() + { + first = document.getElementById('bestelldetail_id_array0') + document.getElementById('bestelldetail_id').value=first.value; + document.sendform.submit(); + }
@@ -947,7 +961,7 @@ for ($pos=0;$pos<$anzahl;$pos++)| - + 0) {setTimeout('SubmitOhneVorlage()',1300);}\"":""); ?> name="bestellung_id_array[]" size="10" maxlength="41" value=""> |
-
+ 0) {setTimeout('SubmitOhneVorlageDetail()',1300);}\"":""); ?> name="bestelldetail_id_array[]" size="6" maxlength="41" value="">
';
- }
- else if($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 zum Suchen von Bestellungen');
-
- $newBestellung = new wawi_bestellung();
- $newBestellung->titel = $_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
- {
- echo "Bestellung erfolgreich angelegt. ";
- $_GET['method']= 'update';
- $_GET['id'] = $bestell_id;
+ alert("Keine Kostenstelle ausgewählt.");
+ return false;
}
+ return true;
}
- }
- else if($_GET['method']=='delete')
- {
- // Bestellung löschen
- $id = (isset($_GET['id'])?$_GET['id']:null);
- $bestellung = new wawi_bestellung();
- $bestellung->load($id);
+ ';
+}
+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 zum Suchen von Bestellungen');
- if(!$rechte->isberechtigt('wawi/bestellung',null, 'suid', $bestellung->kostenstelle_id))
- die('Sie haben keine Berechtigung zum Löschen von Bestellungen');
-
- if($bestellung->RechnungVorhanden($id))
+ $newBestellung = new wawi_bestellung();
+ $newBestellung->titel = $_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 'Kann nicht gelöscht werden. Der Bestellung ist eine Rechnung zugeordnet.';
+ echo $newBestellung->errormsg;
}
else
{
- if($bestellung->delete($id))
- echo 'Bestellung erfolgreich gelöscht. '; - else - echo $bestellung->errormsg; + echo "Bestellung erfolgreich angelegt. "; + $_GET['method']= 'update'; + $_GET['id'] = $bestell_id; } } - else if($_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); - - } - else if($_GET['method']=='copy') - { - $bestellung_id = $_GET['id']; - $bestellung = new wawi_bestellung(); - if ($bestellung_neu = $bestellung->copyBestellung($bestellung_id, $user)) - { - $_GET['method']='update'; - $_GET['id']=$bestellung_neu; - echo "Erfolgreich kopiert"; - } - - } - if($_GET['method']=='update') - { - echo ' '; - - // Bestellung Editieren - if(isset($_GET['bestellung'])) - { - // Update auf Bestellung - $date = new datum(); - //var_dump($_POST); - $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(); - - // speichern - if(isset($_POST['btn_abschicken']) || isset($_POST['btn_submit'])) - { - // 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')) - { - echo "Kein Speichern mehr möglich. "; - } - else - { - - - $aufteilung_anzahl = $_POST['anz_aufteilung']; - $bestellung_detail_anz = $_POST['detail_anz']; +} +elseif($_GET['method']=='delete') +{ + // Bestellung löschen + $id = (isset($_GET['id'])?$_GET['id']:null); + $bestellung = new wawi_bestellung(); + $bestellung->load($id); - $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 = $_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']; - - // wenn sich kostenstelle geändert hat, neue bestellnummer generieren - if($bestellung_new->kostenstelle_id != $bestellung_old->kostenstelle_id) - $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_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++) - { - // wenn ein Detail gelöscht wird Durchlauf überspringen - if(!isset($_POST["bestelldetailid_$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["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 - $menge = $_POST["menge_$i"]; - if($menge == '') - $menge = '0'; - $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["preisprove_$i"]); - $bestell_detail->mwst = $_POST["mwst_$i"]; - 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; - } + if(!$rechte->isberechtigt('wawi/bestellung',null, 'suid', $bestellung->kostenstelle_id)) + die('Sie haben keine Berechtigung zum Löschen von Bestellungen'); - for($i=0; $i<$aufteilung_anzahl; $i++) + if($bestellung->RechnungVorhanden($id)) + { + echo 'Kann nicht gelöscht werden. Der Bestellung ist eine Rechnung zugeordnet.'; + } + 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(); + if ($bestellung_neu = $bestellung->copyBestellung($bestellung_id, $user)) + { + $_GET['method']='update'; + $_GET['id']=$bestellung_neu; + echo "Erfolgreich kopiert"; + } + +} +if($_GET['method']=='update') +{ + echo ' '; + + // Bestellung Editieren + if(isset($_GET['bestellung'])) + { + // Update auf Bestellung + $date = new datum(); + //var_dump($_POST); + $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(); + + // speichern + if(isset($_POST['btn_abschicken']) || isset($_POST['btn_submit'])) + { + // 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')) + { + echo "Kein Speichern mehr möglich. "; + } + else + { + + + $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 = $_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']; + + // wenn sich kostenstelle geändert hat, neue bestellnummer generieren + if($bestellung_new->kostenstelle_id != $bestellung_old->kostenstelle_id) + $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_besetllung->insertamum = date('Y-m-d H:i:s'); + + if(!$tag_bestellung->TagExists()) { - $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(); + $tag_bestellung->saveTag(); + $tag_bestellung->saveBestellungTag(); } - if($bestellung_new->save()) + else { - echo "erfolgreich gespeichert. "; - $save = true; + if(!$tag_bestellung->BestellungTagExists()) + $tag_bestellung->saveBestellungTag(); + } + } + // letzte leere zeile nicht speichern + for($i = 1; $i < $bestellung_detail_anz; $i++) + { + // wenn ein Detail gelöscht wird Durchlauf überspringen + if(!isset($_POST["bestelldetailid_$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["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 + $menge = $_POST["menge_$i"]; + if($menge == '') + $menge = '0'; + $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["preisprove_$i"]); + $bestell_detail->mwst = $_POST["mwst_$i"]; + 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; + } + + 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; + } + } + } + // 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. "; + 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) + { + $kst_mail = new wawi_kostenstelle(); + $kst_mail->load($bestellung_new->kostenstelle_id); + $firma_mail = new firma(); + $firma_mail->load($bestellung_new->firma_id); + $konto_mail = new wawi_konto(); + $konto_mail->load($bestellung_new->konto_id); + + // 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_new->bestell_nr." "; + $email.="Titel: ".$bestellung_new->titel." "; + $email.="Firma: ".$firma_mail->name." "; + $email.="Erstellt am: ".$bestellung_new->insertamum." "; + $email.="Kostenstelle: ".$kst_mail->bezeichnung." Konto: ".$konto_mail->kurzbz." "; + + $email.="Link: zur Bestellung "; + + + + $mail = new mail($uid.'@'.DOMAIN, '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()) + echo 'Fehler beim Senden des Mails'; + else + echo ' Mail verschickt an '.$uid.'!'; } } } - // Bestellung freigeben wird in gang gesetzt --> durch Abschick Button - if(isset($_POST['btn_abschicken']) ) - { - // wenn status Storno vorhanden ist kann nicht mehr freigegeben werden + } + // kostenstelle gibt frei + if(isset($_POST['btn_freigabe']) ) + { + if(!isset($_POST['freigabe_oe'])) + { + // Kostenstelle gibt frei + // wenn status Storno vorhanden, soll 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')) + { + // 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. "; + } + else + { + echo "FREIGABE KOSTENSTELLE erfolgreich"; + + // wer ist freigabeberechtigt auf nächsthöhere Organisationseinheit + $oes = array(); + $oes = $bestellung_new->FreigabeOe($bestellung_id); + $freigabe= false; + foreach($oes as $o) { - $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); + if(!$status->isStatiVorhanden($bestellung_new->bestellung_id, 'Freigabe', $o)) + { + $rechte = new benutzerberechtigung(); + $uids = $rechte->getFreigabeBenutzer(null, $o); + $freigabe = true; + break; + } + } + if(!$freigabe == false) + { + // es wurde noch nicht alles Freigegeben foreach($uids as $uid) { + // E-Mail an OE_Verantwortlichen senden $kst_mail = new wawi_kostenstelle(); $kst_mail->load($bestellung_new->kostenstelle_id); $firma_mail = new firma(); @@ -983,1014 +1088,940 @@ if($aktion == 'suche') $email.="Kostenstelle: ".$kst_mail->bezeichnung." Konto: ".$konto_mail->kurzbz." "; $email.="Link: zur Bestellung "; - - - + $mail = new mail($uid.'@'.DOMAIN, '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()) echo 'Fehler beim Senden des Mails'; else - echo ' Mail verschickt an '.$uid.'!'; + echo " Mail verschickt an $uid!"; } } } } - // kostenstelle gibt frei - if(isset($_POST['btn_freigabe']) ) + } + else { - if(!isset($_POST['freigabe_oe'])) + // OE gibt frei + // wenn status Storno vorhanden, soll nicht mehr freigegeben werden. + if($status->isStatiVorhanden($bestellung_new->bestellung_id, 'Storno')) { - // Kostenstelle gibt frei - // wenn status Storno vorhanden, soll nicht mehr freigegeben werden. - if($status->isStatiVorhanden($bestellung_new->bestellung_id, 'Storno')) - { - echo "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()) - { - echo "Fehler beim Setzen auf Status Freigabe. "; - } - else - { - echo "FREIGABE KOSTENSTELLE erfolgreich"; - - // 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 = new benutzerberechtigung(); - $uids = $rechte->getFreigabeBenutzer(null, $o); - $freigabe = true; - break; - } - } - if(!$freigabe == false) - { - // es wurde noch nicht alles Freigegeben - foreach($uids as $uid) - { - // E-Mail an OE_Verantwortlichen senden - - $kst_mail = new wawi_kostenstelle(); - $kst_mail->load($bestellung_new->kostenstelle_id); - $firma_mail = new firma(); - $firma_mail->load($bestellung_new->firma_id); - $konto_mail = new wawi_konto(); - $konto_mail->load($bestellung_new->konto_id); - - // 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_new->bestell_nr." "; - $email.="Titel: ".$bestellung_new->titel." "; - $email.="Firma: ".$firma_mail->name." "; - $email.="Erstellt am: ".$bestellung_new->insertamum." "; - $email.="Kostenstelle: ".$kst_mail->bezeichnung." Konto: ".$konto_mail->kurzbz." "; - - $email.="Link: zur Bestellung "; - - $mail = new mail($uid.'@'.DOMAIN, '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()) - echo 'Fehler beim Senden des Mails'; - else - echo " Mail verschickt an $uid!"; - } - } - } - } + echo "Keine Freigabe mehr möglich, da Storniert wurde. "; + echo " Zurück zur Bestellung "; } else { - // OE gibt frei - // wenn status Storno vorhanden, soll 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 - { - // 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()) - { - echo "Fehler beim Setzen auf Status Freigabe. "; - echo " Zurück zur Bestellung "; - } - else - { - echo "FREIGABE OE erfolgreich"; - - // 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 = new benutzerberechtigung(); - $uids = $rechte->getFreigabeBenutzer(null, $o); - $freigabe = true; - break; - } - } - if(!$freigabe == false) - { - // es wurde noch nicht alles Freigegeben - foreach($uids as $uid) - { - // E-Mail an OE_Verantwortlichen senden - $msg ="Eine Bestellung wurde angelegt und muss von Ihnen noch freigegeben werden. \n bestellung_id> Link zur Bestellung $bestellung_new->bestellung_id "; - $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!'; - } - } - } - } - } - } - $_GET['method']='update'; - $_GET['id']=$bestellung_new->bestellung_id; - } - // Bestellung Editieren - $id = (isset($_GET['id'])?$_GET['id']:null); - - $bestellung = new wawi_bestellung(); - $bestellung->load($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 =''; - - if($restBudget < 0) - $alert = 'Ihr aktuelles Budget ist bereits überzogen.'; - echo " Bearbeiten$alert ";
- echo " |