$zeile = explode(';', $arr[$a]); $pos_typ = $zeile[2]; // Einheit LV LG if ($pos_typ == 'Position') { $artikel_nr = ltrim(rtrim($zeile[0])) . ltrim(rtrim($zeile[16])); $menge = nummer_komma2punkt($zeile[3]); $vpe = $zeile[4]; $pos_netto = nummer_komma2punkt($zeile[10]); $e_preis = $pos_netto / $menge; $rabatt1 = $zeile[6]; $listenpreis = $pos_netto / (100 - $rabatt1) * 100 / $menge; $bezeichnung = $zeile[1]; $mwst = $zeile[7]; $r1 = new rechnung(); if (!is_array($r1->artikel_info($aussteller_id, $artikel_nr))) { $r1->artikel_leistung_mit_artikelnr_speichern($aussteller_id, $bezeichnung, $listenpreis, $artikel_nr, $rabatt1, $vpe, $mwst, $skonto); } echo "{$a}. {$bezeichnung}<br>"; $r->position_speichern($beleg_nr, $beleg_nr, $aussteller_id, $artikel_nr, $menge, $listenpreis, $mwst, $skonto, $rabatt1, $pos_netto); $b_pos++; } if ($pos_typ == 'LG') { $pool_bez = $zeile[0] . ' ' . $zeile[1]; $rr = new rechnungen(); $rr->insert_pool_bez_in_gruppe($pool_bez, $beleg_nr, $b_pos); } } // end for weiterleiten_in_sec("?daten=rechnungen&option=rechnungs_uebersicht&belegnr={$beleg_nr}", 3); } break;
$rabatt = $_REQUEST["rabatt"]; $pos_mwst = $_REQUEST["pos_mwst"]; $g_netto = $_REQUEST["g_netto"]; $pos_skonto = $_REQUEST["pos_skonto"]; $r = new rechnung(); // $r->rechnung_grunddaten_holen($belegnr); $letzte_rech_pos_id = $r->get_last_rechnung_pos_id(); $letzte_rech_pos_id = $letzte_rech_pos_id + 1; /* Abfragen ob Artikel im Katalog "so" vorhanden */ $db_abfrage = "select * from POSITIONEN_KATALOG where ART_LIEFERANT='{$lieferant_id}' && ARTIKEL_NR='{$artikel_nr}' && AKTUELL='1' && LISTENPREIS='{$preis}' && RABATT_SATZ='{$rabatt}' && BEZEICHNUNG='{$bez}' && EINHEIT='{$einheit}' && MWST_SATZ='{$pos_mwst}' && SKONTO='{$pos_skonto}'"; echo $db_abfrage; $result = mysql_query($db_abfrage) or die(mysql_error()); $numrows = mysql_numrows($result); /* Falls nicht so vorhanden, artikel speichern */ if (!$numrows) { $r->artikel_leistung_mit_artikelnr_speichern($lieferant_id, $bez, $preis, $artikel_nr, $rabatt, $einheit, $pos_mwst, $pos_skonto); /* Falls vorhanden, deaktivieren und als neuen Datensatz speichern */ } else { /* * Deaktiviert weil falsch * $db_abfrage = "UPDATE POSITIONEN_KATALOG SET AKTUELL='0' where ART_LIEFERANT='$lieferant_id' && ARTIKEL_NR='$artikel_nr' && AKTUELL='1' && LISTENPREIS='$preis' && RABATT_SATZ='$rabatt' && BEZEICHNUNG='$bez' && EINHEIT='$einheit' && MWST_SATZ='$pos_mwst' && SKONTO='$pos_skonto'"; * $result = mysql_query($db_abfrage) or * die(mysql_error()); */ } $r2 = new rechnungen(); /* Alte Position aus der Rechnung deaktivieren */ $r->position_deaktivieren($pos, $belegnr); /* Psition neu speichern */ $db_abfrage = "INSERT INTO RECHNUNGEN_POSITIONEN VALUES (NULL, '{$letzte_rech_pos_id}', '{$pos}', '{$belegnr}', '{$belegnr}', '{$lieferant_id}','{$artikel_nr}', '{$menge}','{$preis}','{$pos_mwst}', '{$rabatt}', '{$pos_skonto}', '{$g_netto}','1')"; // echo "$letzte_rech_pos_id $pos $belegnr $lieferant_id";
function leistung_in_katalog($datum, $benutzer_id, $leistungs_beschreibung, $zettel_id, $dauer_min, $kostentraeger_typ, $kostentraeger_bez, $hinweis, $beginn, $ende) { // echo "$datum, $benutzer_id, $leistungs_beschreibung, $zettel_id, $dauer_min, $kostentraeger_typ, $kostentraeger_bez GW $this->gewerk_id "; $lk_id = $this->letzte_leistung_id() + 1; $datum = date_german2mysql($datum); $bb = new benutzer(); $bb->get_benutzer_infos($benutzer_id); $benutzer_name = $bb->benutzername; $datum_d = date_mysql2german($datum); $leistungs_beschreibung = "{$datum_d} {$beginn}-{$ende} Uhr {$benutzer_name} - {$leistungs_beschreibung}"; $db_abfrage = "INSERT INTO LEISTUNGSKATALOG VALUES (NULL, '{$lk_id}', '{$leistungs_beschreibung}', '{$this->gewerk_id}', '1')"; $resultat = mysql_query($db_abfrage) or die(mysql_error()); /* Protokollieren */ $last_dat = mysql_insert_id(); if ($last_dat) { protokollieren('LEISTUNGSKATALOG', $last_dat, '0'); /* Leistung ins Lieferkatalog speichern */ $bp_partner_id = $this->get_partner_id_benutzer($benutzer_id); $artikel_nr = 'L-' . $benutzer_id . '-' . $lk_id; $artikel_preis = $this->stundensatz($benutzer_id); $r = new rechnung(); $r->artikel_leistung_mit_artikelnr_speichern($bp_partner_id, $leistungs_beschreibung, $artikel_preis, $artikel_nr, '0', 'Std', '19', '0.00'); // $r->artikel_leistung_speichern($bp_partner_id, $leistungs_beschreibung, $artikel_preis, '0', 'Std', '19'); $zugewiesene_l_id = $this->get_leistung_id_by_beschr($this->gewerk_id, $leistungs_beschreibung); $datum = date_mysql2german($datum); // weil die nachfolgende funktion deutsches datumsformat erwartet $this->zettel_pos_speichern($datum, $benutzer_id, $zugewiesene_l_id, $zettel_id, $dauer_min, $kostentraeger_typ, $kostentraeger_bez, $hinweis, $beginn, $ende); weiterleiten_in_sec("?daten=zeiterfassung&option=zettel_eingabe&zettel_id={$zettel_id}", 1); } else { hinweis_ausgeben("Leistungsbeschreibung zu lang, max 160 zeichen"); } }