X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=pepper%2Fexport_to_erp%2Fexport_to_erp.php;fp=pepper%2Fexport_to_erp%2Fexport_to_erp.php;h=0000000000000000000000000000000000000000;hb=2da792841b9be1d8f6d9ce7bdc7a0d9b24542396;hp=b5d8323200f67550fb259a4f9aa7e3d86e7f3957;hpb=d440aa097f47460e6022a88edf8f889db2ad0ad4;p=kivitendo-erp.git diff --git a/pepper/export_to_erp/export_to_erp.php b/pepper/export_to_erp/export_to_erp.php deleted file mode 100644 index b5d832320..000000000 --- a/pepper/export_to_erp/export_to_erp.php +++ /dev/null @@ -1,291 +0,0 @@ - - - Lx-ERP Export der Shopartikel - - - - -getDebugInfo()); -if (DB::isError($db)) { - dbFehler("",$db->getDebugInfo()); - die ($db->getDebugInfo()); -}; -$db2=DB::connect($ERPdns); -if (!$db2) dbFehler("",$db2->getDebugInfo()); -if (DB::isError($db2)) { - dbFehler("",$db2->getDebugInfo()); - die ($db2->getDebugInfo()); -}; -/**************************************************** -* dbFehler -* in: sql,err = string -* out: -* Fehlermeldungen ausgeben -*****************************************************/ -function dbFehler($sql,$err) { -global $showErr; - if ($showErr) - echo "$sql : $err
"; -} -function checkBestellung($status) { -global $db; - if ($status=="B") { $where="";} // B = alle Bestellungeb, N = neue, Y = alte - else { $where="where Bestellung_bezahlt = '$status'";} - $sql="select * from bestellung $where order by Datum"; - $rs=$db->getAll($sql,DB_FETCHMODE_ASSOC); - return (count($rs)>0)?count($rs):false; -} -function getBestellKunde($BID) { -global $db; - $sql="select * from kunde left join bestellung_kunde on Kunden_ID=FK_Kunden_ID where FK_Bestellungs_ID=$BID"; - $rs=$db->getAll($sql,DB_FETCHMODE_ASSOC); - return $rs[0]["Kunden_Nr"]; -} -function sonderkosten($transID,$data,$id,$f) { -global $db2,$versand,$nachn,$minder,$treuh,$paypal; - $sql="insert into orderitems (trans_id, parts_id, description, qty, sellprice, unit, ship, discount) values ("; - $sql.=$transID.",".${$id}["ID"].",'".${$id}["TXT"]."',1,".$data.",'mal',0,0)"; - fputs($f,"$transID,".${$id}["ID"].",'".${$id}["TXT"]."',1,$data\n"); - if (!$db2->query($sql)) { return false; } - else { return true; }; -} -function insBestArtikel($zeile,$transID) { -global $db,$db2,$div07,$div16,$f, - $versandID,$nachnID,$minderID,$treuhID,$paypalID; - $BID=$zeile["Bestellungs_ID"]; - $sql ="select * from artikel left join artikel_bestellung on Artikel_ID=FK_Artikel_ID "; - $sql.="left join bestellung on Bestellungs_ID=FK_Bestellungs_ID where Bestellungs_ID=$BID"; - $rs=$db->getAll($sql,DB_FETCHMODE_ASSOC); - $ok=true; - foreach ($rs as $zeile) { - $sql="select * from parts where partnumber='".$zeile["Artikel_Nr"]."'"; - $rs2=$db2->getAll($sql,DB_FETCHMODE_ASSOC); - if ( $rs2[0]["id"]) {$artID=$rs2[0]["id"]; } - else { $artID=($zeile["MwSt_Satz"]=="7")?$div07["ID"]:$div16["ID"]; }; - //$preis=round($zeile["Preis"]/($zeile["MwSt_Satz"]+100)*100,2); - $preis=$zeile["Preis"]; - $notes=$zeile["Artikelname"]; - $vari=split(chr(254),$zeile["Variation"]); - if ($vari) { for($cnt=0; $cntquery($sql)) { $ok=false; break; }; - fputs($f,$transID.",".$artID.",'".$zeile["Artikelname"]."',".$zeile["Anzahl"].",".$preis."\n"); - echo "-".$artID." ".$zeile["Anzahl"]." x ".$preis." ".$zeile["Artikelname"]."
"; - } - if ($zeile["Versandkosten"]) { - $rc=sonderkosten($transID,$zeile["Versandkosten"],"versand",$f); - } - if ($zeile["Nachnamebetrag"]) { - $rc=sonderkosten($transID,$zeile["Nachnamebetrag"],"nachn",$f); - } - if ($zeile["Mindermengenzuschlag"]) { - $rc=sonderkosten($transID,$zeile["Mindermengenzuschlag"],"minder",$f); - } - if ($zeile["Treuhandkosten"]) { - $rc=sonderkosten($transID,$zeile["Treuhandkosten"],"treuh",$f); - } - if ($zeile["Paypalkosten"]) { - $rc=sonderkosten($transID,$zeile["Paypalkosten"],"paypal",$f); - } - if ($ok) { - $sql="update bestellung set Bestellung_bezahlt='Y' WHERE Bestellungs_ID =$BID"; - $rc=$db->query($sql); - fputs($f,"ok\n"); - return true; - } else { - $sql="delete from orderitems where trans_id=$transID"; - $rc=$db->query($sql); - $sql="delete from oe where id=$transID"; - $rc=$db->query($sql); - fputs($f,"Fehler (insBestArtikel)!!!!\n"); - return false; - } -} -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"]."
"; - if (!insBestArtikel($zeile,$rs2[0]["id"])) { $ok=false; break; }; - } - return $ok; -} -function chkKdData($data) { -global $db2; - $sql="select * from customer where id = ".$data["Kunden_Nr"]; - $rs=$db2->getAll($sql,DB_FETCHMODE_ASSOC); - if ($rs[0]["zipcode"]<>$data["Plz"]) $set.="zipcode='".$data["Plz"]."',"; - if ($rs[0]["city"]<>$data["Ort"]) $set.="city='".$data["Ort"]."',"; - if ($rs[0]["land"]<>$data["Land"]) $set.="land='".$data["Land"]."',"; - if ($rs[0]["phone"]<>$data["Tel"])$set.="phone='".$data["Tel"]."',"; - if ($rs[0]["fax"]<>$data["Fax"]) $set.="fax='".$data["Fax"]."',"; - if ($rs[0]["email"]<>$data["Email"])$set.="email='".$data["Email"]."',"; - if ($rs[0]["notes"]<>$data["Beschreibung"])$set.="notes='".$data["Beschreibung"]."',"; - if ($data["Firma"]) { - if ($rs[0]["name"]<>$data["Firma"]) $set.="set name='".$data["Firma"]."',"; - if ($rs[0]["name2"]<>$data["Anrede"]." ".$data["Vorname"]." ".$data["Nachname"]) $set.="name2='".$data["Anrede"]." ".$data["Vorname"]." ".$data["Nachname"]."',"; - } else { - if ($rs[0]["name"]<>$data["Nachname"].", ".$data["Vorname"]) $set.="set name='".$data["Nachname"].", ".$data["Vorname"]."',"; - } - if ($data["Strasse"]) { - if ($rs[0]["street"]<>$data["Strasse"]) $set.="street='".$data["Strasse"]."',"; - } else if ($data["Postfach"]) { - if ($rs[0]["street"]<>$data["Postfach"]) $set.="street='".$data["Postfach"]."',"; - }; - if ($set) { - $sql="update customer set ".substr($set,0,-1)." where id=".$rs[0]["id"]; - $rc=$db2->query($sql); - } -} -function insKdData($data) { -global $db2; - $newID=$data["Kunden_ID"]; - $sql="insert into customer (name) values ('$newID')"; - $rc=$db2->query($sql); - $sql="select * from customer where name = '$newID'"; - $rs=$db2->getAll($sql,DB_FETCHMODE_ASSOC); - if ($data["Firma"]) { $set.="set name='".$data["Firma"]."',name2='".$data["Anrede"]." ".$data["Vorname"]." ".$data["Nachname"]."',"; } - else { $set.="set name='".$data["Nachname"].", ".$data["Vorname"]."',"; } - if ($data["Strasse"]) { $set.="street='".$data["Strasse"]."',"; } - else if ($data["Postfach"]) { $set.="street='".$data["Postfach"]."',"; }; - $set.="zipcode='".$data["Plz"]."',"; - $set.="city='".$data["Ort"]."',"; - $set.="land='".$data["Land"]."',"; - $set.="phone='".$data["Tel"]."',"; - $set.="fax='".$data["Fax"]."',"; - $set.="email='".$data["Email"]."',"; - $set.="notes='".$data["Beschreibung"]."',"; - $set.="taxincluded='f' "; - $sql="update customer ".$set; - $sql.="where id=".$rs[0]["id"]; - $rc=$db2->query($sql); - return $rs[0]["id"]; -} -function checkKunde() { -global $db,$f; - $sql="select * from kunde left join bestellung_kunde on FK_Kunden_ID=Kunden_ID left join bestellung on Bestellungs_ID=FK_Bestellungs_ID where Bestellung_bezahlt='N'"; - $rs=$db->getAll($sql,DB_FETCHMODE_ASSOC); - $ok=true; - $anzahl=count($rs); - $neu=0; $old=0; - foreach ($rs as $zeile) { - if ($zeile["Kunden_Nr"]>0) { - chkKdData($zeile); - $old++; - } else { - $zeile["Kunden_Nr"]=insKdData($zeile); - if ($zeile["Kunden_Nr"]>0) { - $sql="update kunde set Kunden_Nr='".$zeile["Kunden_Nr"]."' where k_ID=".$zeile["k_ID"]; - $rc=$db->query($sql); - } else { - $ok=false; break; - } - $neu++; - } - fputs($f,$zeile["Nachname"]." ".$zeile["Firma"]."\n"); - fputs($f,"\n----------------------------------------\n\n"); - } - return ($ok)?array($anzahl,$neu,$old):false; -} - -function savedata($str) { -global $f; - foreach ($str as $val) { - $str.=$val.","; - } - fputs($f,substr($str,0,-1)."\n"); -} - -$f=fopen("./module/export_to_erp/tmp/".date("y-m-dH:i").".shop","w"); -$ok=checkBestellung("N"); -if ($ok) { - echo "Es liegen $ok Bestellungen vor.
"; - fputs($f,"Es liegen $ok Bestellungen vor. \n"); - $ok=checkKunde(); - if ($ok) { - echo $ok[0]." Kunden, davon ".$ok[1]." neue(r) Kunde(n).
"; - fputs($f,$ok[0]." Kunden, davon ".$ok[1]." neue(r) Kunde(n).\n"); - $ok=getBestellung_(); - if ($ok) { echo "Daten transferiert!"; fputs($f,"Daten transferiert!\n");} - else { echo "Fehler (Bestellungen)! ! ! "; fputs($f,"Fehler (Bestellungen)! ! !\n");}; - } else { - echo "Fehler (Kunden)! ! ! "; fputs($f,"Fehler (Kunden)! ! !\n"); - } -} else { echo "Keine Bestellungen!
"; fputs($f,"keine Bestellungen\n");}; - -fclose($f); - -if ($backlink == 6) { - echo ""; -} -else { - echo ""; -} - -?> - -