From 64b3cfa9bcb0340b271c9eb658e82bbb544e5a16 Mon Sep 17 00:00:00 2001 From: Karl Burkhart Date: Wed, 1 Dec 2010 16:13:35 +0000 Subject: [PATCH] --- wawi/bestellung.php | 776 +++++++++++++++++++++---------------- wawi/wawi_autocomplete.php | 37 ++ 2 files changed, 484 insertions(+), 329 deletions(-) diff --git a/wawi/bestellung.php b/wawi/bestellung.php index 9cebee697..5116d9076 100644 --- a/wawi/bestellung.php +++ b/wawi/bestellung.php @@ -38,6 +38,7 @@ require_once '../include/wawi_bestellstatus.class.php'; require_once '../include/wawi_tags.class.php'; $aktion =''; +$test = 0; if(isset($_POST['getKonto'])) { @@ -146,6 +147,7 @@ if(isset($_POST['getDetailRow']) && isset($_POST['id'])) if(is_numeric($_POST['id'])) { echo getDetailRow($_POST['id']); + $test++; exit; } else @@ -624,361 +626,460 @@ if($aktion == 'suche') } } else if($_GET['method']=='update') - { + { // Bestellung Editieren - if(!$rechte->isberechtigt('wawi/bestellung',null, 'su')) - die('Sie haben keine Berechtigung zum Bearbeiten von Bestellungen'); - - $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(); - $aufteilung->getAufteilungFromKostenstelle($bestellung->kostenstelle_id); - $firma = new firma(); - $firma->load($bestellung->firma_id); - $liefertermin = $date->formatDatum($bestellung->liefertermin, 'd.m.Y'); - $allStandorte = new standort(); - $allStandorte->getStandorteWithTyp('Intern'); - $status= new wawi_bestellstatus(); - $bestell_tag = new wawi_tags(); - $bestell_tag->GetTagsByBestellung($bestellung->bestellung_id); - - $summe= 0; - $konto_vorhanden = false; - - echo "

Bearbeiten

"; - echo "
\n"; - echo "

Bestellnummer: ".$bestellung->bestell_nr."

"; - - //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 "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo ""; - echo "
Titel: Erstellt am:".$date->formatDatum($bestellung->insertamum, 'd.m.Y')."
Firma: \n"; - echo "Liefertermin:
Kostenstelle: $kostenstelle->bezeichnungLieferadresse:\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo"\n"; + $bestell_tag->GetTagsByBestellung($bestellung->bestellung_id); + $tag_help = $bestell_tag->GetStringTags(); + 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"; - $tag_help = $bestell_tag->GetStringTags(); - echo ""; + echo "
Titel: Erstellt am:

".$date->formatDatum($bestellung->insertamum, 'd.m.Y')."

Firma: \n"; + echo "Liefertermin:
Kostenstelle: Lieferadresse:
Konto: Rechnungsadresse:
Bemerkungen: Bestellt:\n"; + + if(!$status->isStatiVorhanden($bestellung->bestellung_id, 'Bestellung')) + { + echo ""; + echo ""; + echo ""; + } + else + { + echo "Bestellt am: ".$date->formatDatum($status->datum,'d.m.Y'); } - echo "\n"; - } + echo "
Tags:\n"; - echo "
Konto: Storniert:"; + $disabled=''; + if(!$status->isStatiVorhanden($bestellung->bestellung_id, 'Storno') ) { - $selected = 'selected'; - $konto_vorhanden = true; - } - echo '\n"; - - } - //wenn die konto_id von der bestellung nicht in den Konten die der Kostenstelle zugeordnet sind befidet --> selbst hinschreiben - if(!$konto_vorhanden) - { - echo '\n"; - } - echo "Rechnungsadresse:"; - echo "\n"; - } - echo "
Bemerkungen: Bestellt:\n"; - - if(!$status->isStatiVorhanden($bestellung->bestellung_id, 'Bestellung')) - { - echo ""; - echo ""; - echo ""; - } - else - { - echo "Bestellt am: ".$date->formatDatum($status->datum,'d.m.Y'); - } - - echo "
Tags:\n"; + echo ""; + } + else + { + echo "Storniert am: ".$date->formatDatum($status->datum, 'd.m.Y'); + } + echo "
\n"; + echo "
"; + + //tabelle Positonen + 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)))); + getDetailRow($i, $det->bestelldetail_id, $det->menge, $det->verpackungseinheit, $det->beschreibung, $det->artikelnummer, $det->preisprove, $det->mwst, sprintf("%01.2f",$brutto)); + + $summe+=$brutto; + $i++; + } + getDetailRow($i); + $test = $i; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + echo "
LöschenPosMengeVEBezeichnungArtikelnr.Preis/VEUStBruttoTags
Gesamtpreis/Brutto:
\n"; + echo "

\n"; + + + echo ' + '; - - echo "
Storniert:"; - $disabled=''; - if(!$status->isStatiVorhanden($bestellung->bestellung_id, 'Storno') ) - { - if(!$status->isStatiVorhanden($bestellung->bestellung_id, 'Bestellung')) - $disabled = 'disabled'; - echo ""; - echo ""; - echo ""; - } - else - { - echo "Storniert am: ".$date->formatDatum($status->datum, 'd.m.Y'); - } - echo "
\n"; - echo "
"; - - //tabelle Positonen - 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)))); - getDetailRow($i, $det->position, $det->menge, $det->verpackungseinheit, $det->beschreibung, $det->artikelnummer, $det->preisprove, $det->mwst, sprintf("%01.2f",$brutto)); - - $summe+=$brutto; - $i++; - } - getDetailRow($i); - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - - echo "
LöschenPosMengeVEBezeichnungArtikelnr.Preis/VEUStBruttoPosition
Gesamtpreis/Brutto:
\n"; - echo "

\n"; - - - echo ' - '; - - - - // div Aufteilung --> kann ein und ausgeblendet werden - echo "Aufteilung\n"; + + $(document).ready(function() + { + summe(); + }); + + /** + * Fuegt eine neue Zeile fuer den Betrag hinzu wenn die + * uebergebene id, die der letzte Zeile ist + * und der Betrag eingetragen wurde + */ + function checkNewRow(id) + { + var betrag=""; + betrag = $("#preisprove_"+id).val(); + + // Wenn der betrag nicht leer ist, + // und die letzte reihe ist, + // dann eine neue Zeile hinzufuegen + if(betrag.length>0 && anzahlRows==id) + { + $.post("bestellung.php", {id: id+1, getDetailRow: "true"}, + function(data){ + $("#detailTable").append(data); + anzahlRows=anzahlRows+1; + var test = 0; + test = document.getElementById("detail_anz").value; + document.getElementById("detail_anz").value = parseFloat(test) +1; + }); + } + + } + + '; + + + + // div Aufteilung --> kann ein und ausgeblendet werden + echo "Aufteilung\n"; + + echo "
\n"; + echo ""; + echo "\n"; + foreach($aufteilung->result as $auf) + { + echo ""; + } + echo ""; + echo "
".$auf->oe_kurzbz.$auf->anteil."
"; + echo "
"; + echo "

"; + $disabled =''; + if($status->isStatiVorhanden($bestellung->bestellung_id, 'Storno') ) + $disabled ='disabled'; + echo "\n"; - echo "
\n"; - echo ""; - echo "\n"; - foreach($aufteilung->result as $auf) - { - echo ""; } - echo ""; - echo "
".$auf->oe_kurzbz.$auf->anteil."
"; - echo "
"; - echo "

"; - echo "\n"; + else + { + // Update auf Bestellung + $date = new datum(); + + $bestellung_id = $_GET['bestellung']; + $bestellung_detail_anz = $_POST['detail_anz']; + $bestellung_new = new wawi_bestellung(); + $bestellung_new->load($bestellung_id); + + $bestellung_new->new = false; + $bestellung_new->besteller_uid=$user; + $bestellung_new->konto_id = $_POST['filter_konto']; + $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; + + // letzte leere zeile nicht speichern + for($i = 1; $i < $bestellung_detail_anz; $i++) + { + // gibt es ein bestelldetail schon + $detail_id = $_POST["bestelldetailid_$i"]; + if($detail_id != '') + { + // Update + $bestell_detail = new wawi_bestelldetail(); + $bestell_detail->load($detail_id); + + $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 = new wawi_bestelldetail(); + + $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; + } + + } + + if($bestellung_new->save()) + { + echo "erfolgreich gespeichert.

"; + } + echo " Zurück zur Bestellung "; + + + + } } - function getDetailRow($i, $pos='', $menge='', $ve='', $beschreibung='', $artikelnr='', $preisprove='', $mwst='', $brutto='') + + + function getDetailRow($i, $bestelldetail_id='', $menge='', $ve='', $beschreibung='', $artikelnr='', $preisprove='', $mwst='', $brutto='') { echo "\n"; echo "delete\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -986,6 +1087,23 @@ if($aktion == 'suche') echo "\n"; echo "\n"; echo "\n"; - echo "".$i.""; +/* $detail_tag = new wawi_tags(); + $detail_tag->GetTagsByBesteldetail($bestelldetail_id); + $help = $detail_tag->GetStringTags(); */ + echo ""; + + /* echo ' ';*/ + + echo ""; echo "\n"; } \ No newline at end of file diff --git a/wawi/wawi_autocomplete.php b/wawi/wawi_autocomplete.php index 69b70d2d0..f203670d5 100644 --- a/wawi/wawi_autocomplete.php +++ b/wawi/wawi_autocomplete.php @@ -43,6 +43,7 @@ require_once('../include/betriebsmittelstatus.class.php'); require_once('../include/betriebsmittel_betriebsmittelstatus.class.php'); require_once ('../include/firma.class.php'); + require_once ('../include/wawi_tags.class.php'); if (!$uid = get_uid()) die('Keine UID gefunden:'.$uid.' ! Zurück'); @@ -334,6 +335,40 @@ cellSeparator (default value: "|") echo html_entity_decode($sFirma->result[$i]->name).'|'.html_entity_decode($sFirma->result[$i]->firma_id)."\n"; break; + case 'tags': + $bestell_id = $_REQUEST['bestell_id']; + + $tag_search=trim((isset($_REQUEST['q']) ? $_REQUEST['q']:'')); + + if (is_null($bestell_id) || $tag_search=='') + exit(); + + $tags = new wawi_tags(); + + if (!$tags->GetTagsByBestellung($bestell_id)) + exit($tags->errormsg."\n"); + + for ($i=0;$iresult);$i++) + echo html_entity_decode($tags->result[$i]->tag)."\n"; + break; + + case 'detail_tags': + $detail = $_REQUEST['detail_id']; + + $tag_search=trim((isset($_REQUEST['q']) ? $_REQUEST['q']:'')); + + if (is_null($detail) || $tag_search=='') + exit(); + + $tags = new wawi_tags(); + + if (!$tags->GetTagsByBesteldetail($detail)) + exit($tags->errormsg."\n"); + + for ($i=0;$iresult);$i++) + echo html_entity_decode($tags->result[$i]->tag)."\n"; + break; + // Mitarbeiter Search case 'wawi_mitarbeiter_search': $mitarbeiter_search=trim((isset($_REQUEST['q']) ? $_REQUEST['q']:'')); @@ -439,6 +474,8 @@ cellSeparator (default value: "|") } break; + + // Studiengang Suche case 'wawi_studiengang_search': $studiengang_search=trim((isset($_REQUEST['q']) ? $_REQUEST['q']:''));