function getBestellung() { global $db, $db2, $ERPusr, $f, $preA, $auftrnr; $sql = "select * from bestellung where Bestellung_bezahlt='N' order by Bestellungs_ID"; $rs = $db->getAll($sql, DB_FETCHMODE_ASSOC); $ok = true; foreach ($rs as $zeile) { $kdnr = getBestellKunde($zeile["Bestellungs_ID"]); echo "Kunde:[ Buchungsnummer:{$kdnr} ] "; $newID = uniqid(rand()); if (ereg("&r=([0-9]+)", $zeile["Bestellung_string"], $refnr)) { $refnr = $refnr[1]; } else { $refnr = $zeile["Bestellungs_ID"]; } if ($auftrnr) { $anr = $preA . getNextAnr(); } else { $anr = $preA . $refnr; } $sql = "insert into oe (notes,ordnumber,cusordnumber) values ('{$newID}','{$anr}','{$refnr}')"; $rc = query($db2, $sql); $sql = "select * from oe where notes = '{$newID}'"; $rs2 = $db2->getAll($sql, DB_FETCHMODE_ASSOC); $Bezahlung = $zeile["Bezahlungsart"]; if ($Bezahlung == "Lastschrift") { $sql = "select * from kunde where Kunden_Nr={$kdnr}"; $kd = $db->getAll($sql, DB_FETCHMODE_ASSOC); $Bezahlung .= "\nKontoinhaber: " . $kd[0]["kontoinhaber"] . "\n"; $Bezahlung .= "Bankname: " . $kd[0]["bankname"] . "\n"; $Bezahlung .= "Blz: " . $kd[0]["blz"] . "\n"; $Bezahlung .= "KontoNr: " . $kd[0]["kontonummer"]; } $sql = "update oe set transdate='" . $zeile["Datum"] . "', intnotes='" . $zeile["Anmerkung"]; $sql .= "', customer_id={$kdnr}, amount=" . $zeile["Rechnungsbetrag"] . ", netamount=" . ($zeile["Rechnungsbetrag"] - $zeile["MwSt"]); $sql .= ", reqdate='" . $zeile["Datum"] . "', notes='{$Bezahlung}', taxincluded='f', curr='EUR',employee_id=" . $ERPusr["ID"] . ", vendor_id=0 "; $sql .= "where id=" . $rs2[0]["id"]; $rc = query($db2, $sql); fputs($f, "ordnumber=" . $zeile["Bestellungs_ID"] . ", transdate='" . $zeile["Datum"] . "', customer_id={$kdnr}, amount=" . ($zeile["Rechnungsbetrag"] + $zeile["MwSt"]) . ", notes=" . $zeile["Bezahlungsart"] . "\n"); echo "Auftrag:[ Buchungsnummer:" . $rs2[0]["id"] . " AuftrNr:<b>" . $anr . "</b> ]<br>"; if (!insBestArtikel($zeile, $rs2[0]["id"])) { $ok = false; echo " Fehler<br>"; break; } else { echo " ok<br>"; } } return $ok; }
function insAuftrag($data) { global $ERPusr, $versand, $nachn, $minder, $paypal, $auftrnr; $Zahlmethode = array("authorizenet" => "Authorize.net", "banktransfer" => "Lastschriftverfahren", "cc" => "Kreditkarte", "cod" => "Nachnahme", "eustandardtransfer" => "EU-Standard Bank Transfer", "iclear" => "iclear Rechnungskauf", "invoice" => "Rechnung", "ipayment" => "iPayment", "liberecobanktransfer" => "Lastschriftverfahren", "liberecocc" => "Kreditkarte", "moneybookers" => "Moneybookers.com", "moneyorder" => "Scheck/Vorkasse", "nochex" => "NOCHEX", "paypal" => "PayPal", "pm2checkout" => "2CheckOut", "psigate" => "PSiGate", "qenta" => "qenta.at", "secpay" => "SECPay"); $brutto = getBrutto($data["orders_id"]); $mwst = getMwst($data["orders_id"]); $netto = $brutto - $mwst; $versandK = getSonderkosten($data["orders_id"], "Versand"); $nachnK = getSonderkosten($data["orders_id"], "NachName"); $mindermK = getSonderkosten($data["orders_id"], "Minder"); $paypalK = getSonderkosten($data["orders_id"], "Paypal"); // Hier beginnt die Transaktion $rc = query("erp", "BEGIN", "chkKunde"); if ($rc === -99) { echo "Probleme mit Datenbank, Abbruch!"; exit; } if ($auftrnr) { $auftrag = $GLOBALS["preA"] . getNextAnr(); } else { $auftrag = $GLOBALS["preA"] . $data["orders_id"]; } $sql = "select count(*) as cnt from oe where ordnumber = '{$auftrag}'"; $rs = getAll("erp", $sql, "insAuftrag"); if ($rs[0]["cnt"] > 0) { $auftrag = $GLOBALS["preA"] . getNextAnr(); } $newID = uniqid(rand()); $sql = "insert into oe (notes,ordnumber,cusordnumber) values ('{$newID}','{$auftrag}','" . $data["kdnr"] . "')"; $rc = query("erp", $sql, "insAuftrag"); $sql = "select * from oe where notes = '{$newID}'"; $rs2 = getAll("erp", $sql, "insAuftrag"); if ($data["cc_type"]) { $BEZAHLEN .= $data["cc_type"] . "\n" . $data["cc_owner"] . "\n" . $data["cc_number"] . "\n" . $data["cc_expires"] . "\n"; } else { $BEZAHLEN = $Zahlmethode[$data["payment_method"]] . "\nKontoinhaber: "; $BEZAHLEN .= $data["banktransfer_owner"] . "\nBanknummer: " . $data["banktransfer_blz"]; $BEZAHLEN .= "\nKontonummer: " . $data["banktransfer_number"] . "\nBank: " . $data["banktransfer_bankname"] . "\n"; } $sql = "update oe set cusordnumber=" . $data["orders_id"] . ", transdate='" . $data["date_purchased"] . "', customer_id=" . $data["kdnr"] . ", "; $sql .= "amount=" . $brutto . ", netamount=" . $netto . ", reqdate='" . $data["date_purchased"] . "', taxincluded='f', "; if ($data["shipto"] > 0) { $sql .= "shipto_id=" . $data["shipto"] . ", "; } $sql .= "intnotes='" . $data["comments"] . "',notes='" . $BEZAHLEN . "', curr='EUR',employee_id=" . $ERPusr["ID"] . ", vendor_id=0 "; $sql .= "where id=" . $rs2[0]["id"]; $rc = query("erp", $sql, "insAuftrag"); if ($rc === -99) { echo "Auftrag " . $data["orders_id"] . " konnte nicht angelegt werden.<br>"; $rc = query("erp", "ROLLBACK", "chkKunde"); return false; } echo "Auftrag:[ Buchungsnummer:" . $rs2[0]["id"] . " AuftrNr:<b>" . $auftrag . "</b> ]<br>"; if (!insBestArtikel($data["orders_id"], $rs2[0]["id"])) { echo "Auftrag " . $data["orders_id"] . " konnte nicht angelegt werden.<br>"; $rc = query("erp", "ROLLBACK", "chkKunde"); return false; } if ($versandK) { $sql = "insert into orderitems (trans_id, parts_id, description, qty, sellprice, unit, ship, discount) values ("; $sql .= $rs2[0]["id"] . "," . $versand["ID"] . ",'" . $versand["TXT"] . "',1," . $versandK . ",'mal',0,0)"; $rc = query("erp", $sql, "insAuftrag"); if ($rc === -99) { echo "Auftrag {$auftrag} : Fehler bei den Versandkosten<br>"; } } if ($nachnK) { $sql = "insert into orderitems (trans_id, parts_id, description, qty, sellprice, unit, ship, discount) values ("; $sql .= $rs2[0]["id"] . "," . $nachn["ID"] . ",'" . $nachn["TXT"] . "',1," . $nachnK . ",'mal',0,0)"; $rc = query("erp", $sql, "insAuftrag"); if ($rc === -99) { echo "Auftrag {$auftrag} : Fehler bei den Nachnamekosten<br>"; } } if ($mindermK) { $sql = "insert into orderitems (trans_id, parts_id, description, qty, sellprice, unit, ship, discount) values ("; $sql .= $rs2[0]["id"] . "," . $minder["ID"] . ",'" . $minder["TXT"] . "',1," . $mindermK . ",'mal',0,0)"; $rc = query("erp", $sql, "insAuftrag"); if ($rc === -99) { echo "Auftrag {$auftrag} : Fehler beim Mindermengenzuschlag<br>"; } } if ($paypalK) { $sql = "insert into orderitems (trans_id, parts_id, description, qty, sellprice, unit, ship, discount) values ("; $sql .= $rs2[0]["id"] . "," . $paypal["ID"] . ",'" . $paypal["TXT"] . "',1," . $paypalK . ",'mal',0,0)"; $rc = query("erp", $sql, "insAuftrag"); if ($rc === -99) { echo "Auftrag {$auftrag} : Fehler bei den PayPal-Kosten<br>"; } } $rc = query("erp", "COMMIT", "Auftrag"); if ($rc === -99) { echo "Probleme mit Datenbank, Abbruch!"; exit; } $sql = "update " . PREFIX . "orders set orders_status ='3' WHERE orders_id =" . $data["orders_id"]; $rc = query("shop", $sql, "insBestArtikel"); return true; }
function getBestellung_() { global $db, $db2, $ERPusr, $f; $sql = "select * from bestellung where Bestellung_bezahlt='N' order by Bestellungs_ID"; $rs = $db->getAll($sql, DB_FETCHMODE_ASSOC); $ok = true; foreach ($rs as $zeile) { $kdnr = getBestellKunde($zeile["Bestellungs_ID"]); $newID = uniqid(rand()); $sql = "insert into oe (notes) values ('{$newID}')"; $rc = $db2->query($sql); $sql = "select * from oe where notes = '{$newID}'"; $rs2 = $db2->getAll($sql, DB_FETCHMODE_ASSOC); $Bezahlung = $zeile["Bezahlungsart"]; if ($Bezahlung == "Lastschrift") { $sql = "select * from kunde where Kunden_Nr={$kdnr}"; $kd = $db->getAll($sql, DB_FETCHMODE_ASSOC); $Bezahlung .= "\nKontoinhaber: " . $kd[0]["kontoinhaber"] . "\n"; $Bezahlung .= "Bankname: " . $kd[0]["bankname"] . "\n"; $Bezahlung .= "Blz: " . $kd[0]["blz"] . "\n"; $Bezahlung .= "KontoNr: " . $kd[0]["kontonummer"]; } $sql = "update oe set ordnumber=" . $zeile["Bestellungs_ID"] . ", transdate='" . $zeile["Datum"] . "', intnotes='" . $zeile["Anmerkung"]; $sql .= "', customer_id={$kdnr}, amount=" . ($zeile["Rechnungsbetrag"] + $zeile["MwSt"]) . ", netamount=" . $zeile["Rechnungsbetrag"]; $sql .= ", reqdate='" . $zeile["Datum"] . "', notes='{$Bezahlung}', taxincluded='f', curr='EUR',employee_id=" . $ERPusr["ID"] . ", vendor_id=0 "; $sql .= "where id=" . $rs2[0]["id"]; $rc = $db2->query($sql); fputs($f, "ordnumber=" . $zeile["Bestellungs_ID"] . ", transdate='" . $zeile["Datum"] . "', customer_id={$kdnr}, amount=" . ($zeile["Rechnungsbetrag"] + $zeile["MwSt"]) . ", notes=" . $zeile["Bezahlungsart"] . "\n"); echo $rs2[0]["id"] . "<br>"; if (!insBestArtikel($zeile, $rs2[0]["id"])) { $ok = false; break; } } return $ok; }