11, "prefix" => "STHH1", "track_id" => "'ST01','ST02','ST03'", // "Linehaul" => "STHH932446", "STBX_SAME" => "STHH932444", "STBX_TIMED" => "STHH932445"), array( "hq_id" => 11, "prefix" => "STHH1", "track_id" => "'ST04'", "STBX_SAME" => "STHH933200", "STBX_TIMED" => ""), array( "hq_id" => 4, "prefix" => "STH1", "track_id" => "'STH01','STH02','STH03'", // "Linehaul" => "STH912002", "STBX_SAME" => "STH912003", "STBX_TIMED" => "STH912004"), array( "hq_id" => 4, "prefix" => "STH1", "track_id" => "'STH04'", "STBX_SAME" => "STH912132", "STBX_TIMED" => ""), array( "hq_id" => 8, "prefix" => "STL1", "track_id" => "'STL01','STL02','STL03'", // "Linehaul" => "STL914775", // "STBX_SAME" => "STL914776", "STBX_SAME" => "STL915137", // (ab 01.05.2015) "STBX_TIMED" => "STL914777"), array( "hq_id" => 7, "prefix" => "STE1", "track_id" => "'STE01','STE02','STE03'", // "Linehaul" => "STE902001", "STBX_SAME" => "STE902002", "STBX_TIMED" => "STE902003"), array( "hq_id" => 7, "prefix" => "STE1", "track_id" => "'STE04'", "STBX_SAME" => "STE902102", "STBX_TIMED" => ""), array( "hq_id" => 7, "prefix" => "STE1", "track_id" => "'STE05'", "STBX_SAME" => "STE902103", "STBX_TIMED" => ""), ); $invoicing_parties = array( 11 => array("Große Bahnstraße 11-25", "HAMBURG", "22525"), 4 => array("Ikarusallee 15", "HANNOVER", "30179"), 8 => array("Zschortauer Straße 69-71", "LEIPZIG", "04129"), 7 => array("Teilungsweg 28", "ESSEN", "45329") ); $invoicing_tokens = array( 11 => "S", 4 => "H", 8 => "L", 7 => "E" ); $inv_date_from_stat_sql = ""; if (date("d") < 15): $inv_date = date("Ymd", mktime(0, 0, 0, date("m"), 0, date("Y"))); $inv_date_from_sql = date("Y-m-d", mktime(0, 0, 0, date("m") - 1, 16, date("Y"))) . " 00:00:00"; $inv_date_to_sql = date("Y-m-d", mktime(0, 0, 0, date("m"), 0, date("Y"))) . " 23:59:59"; $inv_date_from_stat_sql = date("Y-m-d", mktime(0, 0, 0, date("m") - 1, 1, date("Y"))) . " 00:00:00"; $mail_text = "Hallo Herr Karstens,\n" . "\n" . "im Anhang die Abrechnungsdaten zum Monatsende inkl. der Monatsgesamtübersicht.\n" . "\n" . "Freundliche Grüße,\n" . "Carsten Annacker\n"; $mail_subject = "Abrechnung Amazon " . date("d.m.Y", mktime(0, 0, 0, date("m"), 0, date("Y"))); else: $inv_date = date("Ymd", mktime(0, 0, 0, date("m"), 15, date("Y"))); $inv_date_from_sql = date("Y-m-d", mktime(0, 0, 0, date("m"), 1, date("Y"))) . " 00:00:00"; $inv_date_to_sql = date("Y-m-d", mktime(0, 0, 0, date("m"), 15, date("Y"))) . " 23:59:59"; $mail_text = "Hallo Herr Karstens,\n" . "\n" . "im Anhang die Abrechnungsdaten zum 15. des Monats.\n" . "\n" . "Freundliche Grüße,\n" . "Carsten Annacker\n"; $mail_subject = "Abrechnung Amazon " . date("d.m.Y", mktime(0, 0, 0, date("m"), 15, date("Y"))); endif; //$inv_date = "20150615"; //$inv_date_from_sql = "2015-02-01 00:00:00"; //$inv_date_to_sql = "2015-02-15 23:59:59"; //echo $inv_date . "\n"; //echo $inv_date_from_sql . "\n"; //echo $inv_date_to_sql . "\n"; //die(); $mailObj = new htmlMimeMail(); $mailObj->setFrom("support@assecutor.de"); $mailObj->setSubject($mail_subject); $mailObj->setText($mail_text); if ($argv[2] == "prices"): foreach (array(11, 4, 8, 7) AS $hq_id) get_prices(); endif; foreach ($hq_settings AS $cs_eidA) { $hq_id = $cs_eidA["hq_id"]; $pre_len = 5; if ($hq_id == 11) $pre_len = 4; $cs_eid["STBX_SAME"] = $cs_eidA["STBX_SAME"]; $inv_no["STBX_SAME"] = 0; $line_items["STBX_SAME"] = ""; $line_item_no["STBX_SAME"] = 1; $sum["STBX_SAME"] = 0; $message["STBX_SAME"] = ""; $track_ids["STBX_SAME"] = ""; $no_of_segs["STBX_SAME"] = 21; $csv_file["STBX_SAME"] = ""; $csv_stat_file["STBX_SAME"] = ""; $cs_eid["STBX_TIMED"] = $cs_eidA["STBX_TIMED"]; $inv_no["STBX_TIMED"] = 0; $line_items["STBX_TIMED"] = ""; $line_item_no["STBX_TIMED"] = 1; $sum["STBX_TIMED"] = 0; $message["STBX_TIMES"] = ""; $track_ids["STBX_TIMED"] = ""; $no_of_segs["STBX_TIMED"] = 21; $csv_file["STBX_TIMED"] = ""; $csv_stat_file["STBX_TIMED"] = ""; $sum_stat = array(); $msg_date = date("Ymd"); $cur_inv_no = "10000001"; // Rechnungsnummer $sql_query = "SELECT MAX(RIGHT(ei_inv_no, 8)) FROM edi_invoice WHERE LEFT(ei_inv_no, " . strlen($cs_eidA["prefix"]) . ") = '" . $cs_eidA["prefix"] . "'"; $res = mysql_query($sql_query) or die ($sql_query . ": " . mysql_error()); if ($row = mysql_fetch_row($res)): if ($row[0] != NULL): $cur_inv_no = $row[0] + 1; mysql_free_result($res); endif; endif; //$sql_query = "SELECT es.ec_track_id, ec.ec_inv_no, ec.em_msg_id, ec.ec_type, ec.ec_amount, LEFT(es.es_date, 10) AS es_es_date, ec.ec_nad, em.em_nad1, em.em_nad2" . // " FROM edi_status AS es, edi_consignee AS ec, edi_message AS em " . // " WHERE es.es_status = 2 AND ec.ec_track_id = es.ec_track_id AND ec.em_msg_id = em.em_msg_id". // " ORDER BY ec.ec_type, es.ec_track_id"; //$sql_query = "SELECT DISTINCT es1.ec_track_id, ec.ec_inv_no, ec.em_msg_id, ec.ec_type, es1.es_amount, LEFT(es1.es_date, 10) AS es_es_date, ec.ec_nad, em.em_nad1, em.em_nad2" . // " FROM edi_status AS es1, edi_status AS es2, edi_consignee AS ec, edi_message AS em " . // " WHERE es1.es_status <= 1 AND es1.ec_track_id = es2.ec_track_id AND es2.es_status = 303 AND ec.ec_track_id = es1.ec_track_id AND ec.em_msg_id = em.em_msg_id AND es1.es_date > '$inv_date_from_sql' AND es1.es_date < '$inv_date_to_sql'". // " ORDER BY es_es_date, es1.ec_track_id"; // - Nicht stornierte Aufträge mit S1999 checken (äußert sich auch durch fehlerhaftes Auftauchen von S1999 in der DKT-Abrechnung) //( - zum testen edi.inc.php in mk_interchange() include_once("../tools/edi_ftp.inc.php"); auskommentieren! Und auch in temp_exec_query()!) // - Vor dem Rechnungslauf "Lost by carrier" aussortieren (es_status auf 4 setzen): // SELECT ec_track_id FROM `edi_status` WHERE es_status = 33 and es_date > '2012-03-15' //( - Und auch die Pakete, die gescannt aber gar nicht erst ausgeliefert wurden (z. B. Packstationen, auch es_status auf 4 setzen)): // SELECT tourarticle.* FROM tourarticle, job WHERE tourarticle.jb_id = job.jb_id AND job.cr_sid = "S1999" and trat_modify > "2012-03-16" AND tr_sort > 1) // - Falsche 411 ('Paket ohne Auftrag' d.h. fehlende Scans) reparieren (in 201 updaten, ebenso IFTSTA 602 in 303 in edi_status und Preise neu berechnen) // noch nicht abgerechnete erledigte Tracking-IDs finden // Doppelte Scannungen (es_status = 303) vermeiden durch DISTINCT $sql_query = "SELECT DISTINCT es1.ec_track_id, ec.ec_inv_no, ec.em_msg_id, ec.ec_type, es1.es_amount, LEFT(es1.es_date, 10) AS es_es_date, ec.ec_nad, em.em_nad1, em.em_nad2" . " FROM edi_status AS es1 LEFT JOIN phoenix.tourarticle AS trat ON es1.ec_track_id = trat.trat_serialno, phoenix.tour AS tr, phoenix.job AS jb, edi_status AS es2, edi_consignee AS ec, edi_message AS em" . " WHERE es1.es_status <= 1 AND LEFT(es1.ec_track_id, $pre_len) IN (" . $cs_eidA["track_id"] . ") AND es1.ec_track_id = es2.ec_track_id AND es2.es_status = 303 AND ec.ec_track_id = es1.ec_track_id AND ec.em_msg_id = em.em_msg_id AND es1.es_date > '$inv_date_from_sql' AND es1.es_date < '$inv_date_to_sql'" . " AND trat.jb_id = tr.jb_id AND trat.tr_sort = tr.tr_sort AND jb.jb_id = tr.jb_id AND csc_id_payer IN " . $csc_id_sql[$hq_id] . " AND tr.tr_sort = 1 AND jb.jb_storno IS NULL" . " ORDER BY es_es_date, es1.ec_track_id"; //echo $sql_query . "\n"; $res = mysql_query($sql_query) or die ($sql_query . ": " . mysql_error()); while ($row = mysql_fetch_array($res, MYSQL_ASSOC)): $ec_type = $row["ec_type"]; if ($row["ec_type"] == "STBX_NEXT"): $ec_type = "STBX_TIMED"; endif; $csv_file[$ec_type] .= $row["es_es_date"] . ";" . $row["ec_track_id"] . ";" . str_replace(".", ",", sprintf("%01.2f", $row["es_amount"])) . ";" . str_replace(".", ",", sprintf("%01.4f", round($row["es_amount"] * VAT, 4))) . ";" . str_replace(".", ",", sprintf("%01.4f", round($row["es_amount"] * (1 + VAT), 4))) . "\n"; $line_items[$ec_type] .= mk_line_item($line_item_no[$ec_type]++, $row["es_amount"], $row["ec_nad"], $row["em_msg_id"], $row["ec_track_id"], $row["ec_inv_no"]); // writeLog("invoicing track id: '" . $row["ec_track_id"] . "'"); // temp_exec_query("UPDATE edi_status SET es_status = 2 WHERE ec_track_id = '" . $row["ec_track_id"] . "' AND es_status = 1"); $track_ids[$ec_type] .= ($track_ids[$ec_type] == "" ? "" : "," ) . "'" . $row["ec_track_id"] . "'"; if (!in_array($row["es_es_date"], array_keys($sum_stat))): $sum_stat[$row["es_es_date"]] = array(); endif; if (!in_array($ec_type, array_keys($sum_stat[$row["es_es_date"]]))): $sum_stat[$row["es_es_date"]][$ec_type]["cnt"] = 0; $sum_stat[$row["es_es_date"]][$ec_type]["price"] = 0; endif; $sum_stat[$row["es_es_date"]][$ec_type]["cnt"]++; $sum_stat[$row["es_es_date"]][$ec_type]["price"] = $row["es_amount"]; $sum[$ec_type] += $row["es_amount"]; $no_of_segs[$ec_type] += 9; $em_nad1 = $row["em_nad1"]; // $em_nad2 = $row["em_nad2"]; $em_nad2 = 128414; // (ab 01.05.2015) endwhile; mysql_free_result($res); if ($line_items["STBX_SAME"] != ""): mk_interchange_vars(); $message = ""; $inv_no["STBX_SAME"] = substr($cs_eidA["prefix"], 0, -1) . $cur_inv_no++; $message = mk_message($inv_no["STBX_SAME"], $inv_date, $msg_date, $cs_eid["STBX_SAME"], $em_nad1, $em_nad2, $line_items["STBX_SAME"], $line_item_no["STBX_SAME"] -1, $sum["STBX_SAME"], $no_of_segs["STBX_SAME"]); writeLog("writing edi_invoice for invoice number '" . $inv_no["STBX_SAME"] . "'"); temp_exec_query("INSERT INTO edi_invoice (ei_inv_no, ei_msg_no, ei_ic_ref, ei_date, cs_eid) values('" . $inv_no["STBX_SAME"] . "', " . $anxe_message_reference_number++ . ", " . $anxe_interchange_control_reference . ", '" . $inv_date . "', '" . $cs_eid["STBX_SAME"] . "')"); writeLog("writing invoice references in edi_consignee"); temp_exec_query("UPDATE edi_consignee SET ei_inv_no = '" . $inv_no["STBX_SAME"] . "' WHERE ec_track_id IN (" . $track_ids["STBX_SAME"] . ")"); $csv_file["STBX_SAME"] .= ";Summe" . ";" . str_replace(".", ",", sprintf("%01.2f", $sum["STBX_SAME"])) . ";" . str_replace(".", ",", sprintf("%01.2f", round($sum["STBX_SAME"] * VAT, 2))) . ";" . str_replace(".", ",", sprintf("%01.2f", round($sum["STBX_SAME"] * (1 + VAT), 2))) . "\n"; $fileHandle = @fopen("../temp/edifact/" . $inv_no["STBX_SAME"] . "_" . $cs_eid["STBX_SAME"] . "_" . $inv_date . ".csv", 'w'); @fwrite($fileHandle, $csv_file["STBX_SAME"]); @fclose($fileHandle); $mailObj->addAttachment($mailObj->getFile("../temp/edifact/" . $inv_no["STBX_SAME"] . "_" . $cs_eid["STBX_SAME"] . "_" . $inv_date . ".csv"), $inv_no["STBX_SAME"] . "_" . $cs_eid["STBX_SAME"] . "_" . $inv_date . ".csv"); $total_cnt = 0; $total_sum = 0; foreach (array_keys($sum_stat) AS $stat_date) { // if ($sum_stat[$stat_date]["STBX_SAME"]["cnt"] != ""): $csv_stat_file["STBX_SAME"] .= $stat_date . ";" . $sum_stat[$stat_date]["STBX_SAME"]["cnt"] . ";" . str_replace(".", ",", sprintf("%01.2f", $sum_stat[$stat_date]["STBX_SAME"]["price"], 2)) . ";" . str_replace(".", ",", sprintf("%01.2f", ($sum_stat[$stat_date]["STBX_SAME"]["cnt"] * $sum_stat[$stat_date]["STBX_SAME"]["price"]))) ."\n"; // endif; $total_cnt += $sum_stat[$stat_date]["STBX_SAME"]["cnt"]; $total_sum += $sum_stat[$stat_date]["STBX_SAME"]["cnt"] * $sum_stat[$stat_date]["STBX_SAME"]["price"]; } $csv_stat_file["STBX_SAME"] .= "Gesamt:;" . $total_cnt . ";" . str_replace(".", ",", sprintf("%01.2f", round($total_sum / $total_cnt, 2))) . ";" . str_replace(".", ",", sprintf("%01.2f", $total_sum)); $fileHandle = @fopen("../temp/edifact/" . $inv_no["STBX_SAME"] . "_" . $cs_eid["STBX_SAME"] . "_" . $inv_date . "_stat.csv", 'w'); @fwrite($fileHandle, $csv_stat_file["STBX_SAME"]); @fclose($fileHandle); $mailObj->addAttachment($mailObj->getFile("../temp/edifact/" . $inv_no["STBX_SAME"] . "_" . $cs_eid["STBX_SAME"] . "_" . $inv_date . "_stat.csv"), $inv_no["STBX_SAME"] . "_" . $cs_eid["STBX_SAME"] . "_" . $inv_date . "_stat.csv"); mk_interchange(1, $message, "INVOIC"); endif; if ($line_items["STBX_TIMED"] != ""): mk_interchange_vars(); $message = ""; $inv_no["STBX_TIMED"] = substr($cs_eidA["prefix"], 0, -1) . $cur_inv_no; $message .= mk_message($inv_no["STBX_TIMED"], $inv_date, $msg_date, $cs_eid["STBX_TIMED"], $em_nad1, $em_nad2, $line_items["STBX_TIMED"], $line_item_no["STBX_TIMED"] -1, $sum["STBX_TIMED"], $no_of_segs["STBX_TIMED"]); writeLog("writing edi_invoice for invoice number '" . $inv_no["STBX_TIMED"] . "'"); temp_exec_query("INSERT INTO edi_invoice (ei_inv_no, ei_msg_no, ei_ic_ref, ei_date, cs_eid) values('" . $inv_no["STBX_TIMED"] . "', " . $anxe_message_reference_number . ", " . $anxe_interchange_control_reference . ", '" . $inv_date . "', '" . $cs_eid["STBX_TIMED"] . "')"); writeLog("writing invoice references in edi_consignee"); temp_exec_query("UPDATE edi_consignee SET ei_inv_no = '" . $inv_no["STBX_TIMED"] . "' WHERE ec_track_id IN (" . $track_ids["STBX_TIMED"] . ")"); $csv_file["STBX_TIMED"] .= ";Summe" . ";" . str_replace(".", ",", sprintf("%01.2f", $sum["STBX_TIMED"])) . ";" . str_replace(".", ",", sprintf("%01.2f", round($sum["STBX_TIMED"] * VAT, 2))) . ";" . str_replace(".", ",", sprintf("%01.2f", round($sum["STBX_TIMED"] * (1 + VAT), 2))) . "\n"; $fileHandle = @fopen("../temp/edifact/" . $inv_no["STBX_TIMED"] . "_" . $cs_eid["STBX_TIMED"] . "_" . $inv_date . ".csv", 'w'); @fwrite($fileHandle, $csv_file["STBX_TIMED"]); @fclose($fileHandle); $mailObj->addAttachment($mailObj->getFile("../temp/edifact/" . $inv_no["STBX_TIMED"] . "_" . $cs_eid["STBX_TIMED"] . "_" . $inv_date . ".csv"), $inv_no["STBX_TIMED"] . "_" . $cs_eid["STBX_TIMED"] . "_" . $inv_date . ".csv"); $total_cnt = 0; $total_sum = 0; foreach (array_keys($sum_stat) AS $stat_date) { // if ($sum_stat[$stat_date]["STBX_TIMED"]["cnt"] != ""): $csv_stat_file["STBX_TIMED"] .= $stat_date . ";" . $sum_stat[$stat_date]["STBX_TIMED"]["cnt"] . ";" . str_replace(".", ",", sprintf("%01.2f", $sum_stat[$stat_date]["STBX_TIMED"]["price"], 2)) . ";" . str_replace(".", ",", sprintf("%01.2f", ($sum_stat[$stat_date]["STBX_TIMED"]["cnt"] * $sum_stat[$stat_date]["STBX_TIMED"]["price"]))) ."\n"; // endif; $total_cnt += $sum_stat[$stat_date]["STBX_TIMED"]["cnt"]; $total_sum += $sum_stat[$stat_date]["STBX_TIMED"]["cnt"] * $sum_stat[$stat_date]["STBX_TIMED"]["price"]; } $csv_stat_file["STBX_TIMED"] .= "Gesamt:;" . $total_cnt . ";" . str_replace(".", ",", sprintf("%01.2f", round($total_sum / $total_cnt, 2))) . ";" . str_replace(".", ",", sprintf("%01.2f", $total_sum)); $fileHandle = @fopen("../temp/edifact/" . $inv_no["STBX_TIMED"] . "_" . $cs_eid["STBX_TIMED"] . "_" . $inv_date . "_stat.csv", 'w'); @fwrite($fileHandle, $csv_stat_file["STBX_TIMED"]); @fclose($fileHandle); $mailObj->addAttachment($mailObj->getFile("../temp/edifact/" . $inv_no["STBX_TIMED"] . "_" . $cs_eid["STBX_TIMED"] . "_" . $inv_date . "_stat.csv"), $inv_no["STBX_TIMED"] . "_" . $cs_eid["STBX_TIMED"] . "_" . $inv_date . "_stat.csv"); mk_interchange(1, $message, "INVOIC"); endif; if ($inv_date_from_stat_sql != "") { $stat_csv = file_get_contents("https://sb.assecutor.de/tools/statistic.php?dl=1&from=" . formDate(substr($inv_date_from_stat_sql, 0, 10)) . "&to=" . formDate(substr($inv_date_to_sql, 0, 10)) . "&hq_id=$hq_id"); $stat_csv_name = "Abrechnung Amazon " . $invoicing_tokens[$hq_id] . " " . substr($inv_date_from_stat_sql, 0, 10) . " - " . substr($inv_date_to_sql, 0, 10) . ".csv"; $fileHandle = @fopen("../temp/edifact/" . $stat_csv_name, 'w'); @fwrite($fileHandle, $stat_csv); @fclose($fileHandle); $mailObj->addAttachment($mailObj->getFile("../temp/edifact/" . $stat_csv_name), $stat_csv_name); } } $mailResult = $mailObj->send(array("annacker@gmx.net"), 'smtp'); function get_nad($en_id) { $sqlStmt = "SELECT en_nad FROM edi_nad WHERE en_id = $en_id"; $res = mysql_query($sqlStmt) or die ($sqlStmt . ": " . mysql_error()); if ($row = mysql_fetch_array($res, MYSQL_ASSOC)): $en_nad = str_replace("&", "&", $row["en_nad"]); $en_nad = str_replace("'", "'", $en_nad); // $en_nad = str_replace("<", "<", $en_nad); // $en_nad = str_replace(">", ">", $en_nad); // $en_nad = str_replace('"', """, $en_nad); return $en_nad; endif; return ""; } function temp_exec_query($sql_query) { global $argv; if ($argv[1] == "save"): exec_query ($sql_query); else: echo $sql_query . "\n"; endif; } function mk_line_item($line_item_no, $amount, $consignee_id, $em_msg_id, $track_id, $inv_no) { $consignee = get_nad($consignee_id); return // " " . " " . $line_item_no . "" . " " . // " " . " Free-form" . " Product" . " " . " " . "PACKAGE" . "" . " " . " " . // " " . " " . " Line item amount" . " " . ($amount + 0) . "" . " " . " " . // " " . " " . " Calculation price" . " " . ($amount + 0) . "" . " " . " " . // " " . " Tax" . " " . " Value added tax" . " " . " " . // " " . sprintf("%01.2f", VAT * 100) . "" . " " . VAT * 100 . "" . // (ab 01.05.2015) " " . " " . // //" " . $consignee . //" Consignee" . //" " . //" HOMER SIMPSON" . //" " . //" " . //" 5 SPRINGFIELD PLAZA" . //" " . //" SPRINGFIELD" . //" STIRLINGS" . //" FK15 0FS" . //" GB" . //" " . // " " . " " . " Waybill number" . " " . $em_msg_id . "" . " " . " " . // " " . " " . " Customer reference number" . " " . $track_id . "" . " " . " " . // " " . " " . " Shipping unit identification" . " " . $inv_no . "" . " " . " "; // // optional //" " . //" " . //" Pick-up/collection date/time of cargo" . //" 20050809" . //" CCYYMMDD" . //" " . //" " . // // optional //" " . //" " . //" Delivery date/time, expected" . //" 20050811" . //" CCYYMMDD" . //" " . //" " . // // IMHO not apllicable //" " . //" Charge" . //" " . //" Labelling" . //" LABELLING" . //" " . //" " . // //" " . //" " . //" Allowance or charge amount" . //" .20" . //" " . //" " . // //" " . //" Tax" . //" " . //" Value added tax" . //" " . //" " . //" 17.50" . //" " . //" "; } function mk_message($inv_no, $inv_date, $msg_date, $cs_eid, $ship_from_id, $invoicee_id, $line_items, $line_item_no, $amount, $no_segs) { global $anxe_message_reference_number, $invoicing_parties, $hq_id; $ship_from = get_nad($ship_from_id); //NAD+IV+5450534000048::9++AMAZON EU SARL:5 RUE PLAETIS LUXEMBOURG+CO ACCOUNTING SERVICE CENTER:MOOSACHER STRASSE 51+MUENCHEN++80809+DE //NAD+IV+5450534000048::9++AMAZON EU SARL:5 RUE PLAETIS LUXEMBOURG+CO ACCOUNTING SERVICE CENTER:MARCEL-BREUER-STRASSE 12+MUENCHEN++80807+DE $invoicee = str_replace("MOOSACHER STRASSE 51", "MARCEL-BREUER-STRASSE 12", str_replace("80809", "80807", get_nad($invoicee_id))); return // " " . " " . $anxe_message_reference_number . "" . " " . " Invoice message" . " D" . " 96A" . " UN/ECE/TRADE/WP.4" . " EAN008" . " " . " " . // " " . " " . " Commercial invoice" . " " . " " . " " . $inv_no . "" . " " . " Original" . " " . // " " . " " . " Invoice date/time" . " " . $inv_date . "" . " CCYYMMDD" . " " . " " . // " " . " " . " Document/message date/time" . " " . $msg_date . "" . " CCYYMMDD" . " " . " " . // " " . " " . " Internal customer number" . " " . $cs_eid . "" . " " . " " . // " " . " Carrier" . " " . " " . "STBX" . "" . " " . " " . " " . "Stadtbote GmbH" . "" . " " . " " . " " . $invoicing_parties[$hq_id][0] . "" . " " . " " . $invoicing_parties[$hq_id][1] . "" . " " . $invoicing_parties[$hq_id][2] . "" . " " . "DE" . "" . " " . // " " . " " . " VAT registration number" . " " . "DE242116880" . "" . " " . " " . // //" " . $ship_from . //" Ship from" . //" " . //" 5450534000109" . //" EAN (International Article Numbering association)" . //" " . //" " . //" AMAZON EU SARL" . //" " . //" " . //" MARSTON GATE FULFILLMENT CENTRE" . //" " . //" RIDGEMONT" . //" MK43 0ZA" . //" GB" . //" " . // //" " . $invoicee . //" Invoicee" . //" " . //" 5450534000055" . //" EAN (International Article Numbering association)" . //" " . //" " . //" AMAZON EU SARL" . //" 5 RUE PLAETIS" . //" " . //" " . // //" " . // " " . " " . " VAT registration number" . // " " . "LU20260743" . "" . " " . "DE814584193" . "" . // (ab 01.05.2015) " " . " " . // " " . " " . " Reference currency" . " " . "EUR" . "" . " Invoicing currency" . " " . " " . // " " . " Basic" . " " . " Date of invoice" . " Day" . " " . "45" . "" . " " . " " . // " " . " " . " Percentage of invoice" . " " . "0". "" . " Invoice value" . " " . " " . $line_items . // " " . " Detail/summary section separation" . " " . // " " . " " . " Number of line items in message" . " " . $line_item_no . "" . " " . " " . // " " . " " . " Total line items amount" . " " . $amount . "" . " " . " " . // " " . " " . " Invoice amount" . " " . ($amount + round($amount * VAT, 2)) . "" . " " . " " . // " " . " Tax" . " " . " Value added tax" . " " . " " . // " " . sprintf("%01.2f", VAT * 100) . "" . " " . VAT * 100 . "" . // (ab 01.05.2015) " " . " " . // " " . " " . " Tax amount" . " " . round($amount * VAT, 2) . "" . " " . " " . // " " . " " . " Taxable amount" . " " . $amount . "" . " " . " " . // " " . " " . $no_segs . "" . " " . $anxe_message_reference_number . "" . " "; } function get_prices() { global $price_ranges, $hq_id, $hq_prefixes, $inv_date_from_sql, $inv_date_to_sql; $pre_len = strlen($hq_prefixes[$hq_id]) + 2; // if (date("d") <= 15) // $last_inv_date = date("Y-m-d", mktime(0, 0, 0, date("m"), 1, date("Y"))); // else // $last_inv_date = date("Y-m-d", mktime(0, 0, 0, date("m"), 16, date("Y"))); $last_inv_date = substr($inv_date_from_sql, 0, 10); //$last_inv_date = "2013-06-01"; $i = 0; while ($i == 0 || $cur_date != $last_inv_date): // $cur_date = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - $i++, date("Y"))); $cur_date = date("Y-m-d", mktime(0, 0, 0, substr($inv_date_to_sql, 5, 2), substr($inv_date_to_sql, 8, 2) - $i++, substr($inv_date_to_sql, 0, 4))); writeLog($cur_date); // Preise ermitteln und eintragen foreach(array("('" . $hq_prefixes[$hq_id] . "01','" . $hq_prefixes[$hq_id] . "04','" . $hq_prefixes[$hq_id] . "05')", "('" . $hq_prefixes[$hq_id] . "02','" . $hq_prefixes[$hq_id] . "03')") AS $type_clause) { $FROM_CLAUSE = " FROM phoenix.tourarticle AS ta1, phoenix.tourarticleprocess AS tp1, phoenix.tourarticle AS ta2, phoenix.tourarticleprocess AS tp2, phoenix.job AS jb" . " WHERE ta1.trat_id = tp1.trat_id AND (tp1.tratp_type = '102' OR tp1.tratp_type = '101') AND ta2.trat_id = tp2.trat_id AND tp2.tratp_type = '201'" . " AND ta1.trat_serialno = ta2.trat_serialno AND LEFT(tp1.tratp_createtime, 10) = '" . $cur_date . "' AND LEFT(ta1.trat_serialno, $pre_len) IN " . $type_clause . " AND ta2.jb_id = jb.jb_id AND jb.jb_storno IS NULL"; $sql_query = "SELECT count(*) AS cnt" . $FROM_CLAUSE; $res = mysql_query($sql_query) or die ($sql_query . ": " . mysql_error()); while ($row = mysql_fetch_array($res, MYSQL_ASSOC)): writeLog($row["cnt"]); $es_amount = get_price($row["cnt"]); $sql_query = "SELECT ta1.trat_serialno" . $FROM_CLAUSE; $res1 = mysql_query($sql_query) or die ($sql_query . ": " . mysql_error()); while ($row1 = mysql_fetch_array($res1, MYSQL_ASSOC)): exec_query("UPDATE phoenix_log.edi_status SET es_amount = $es_amount WHERE es_status IN (0,1) AND ec_track_id = '" . $row1["trat_serialno"] . "'"); endwhile; endwhile; mysql_free_result($res); } endwhile; } function formDate($sqlDate) { return substr($sqlDate, 8, 2) . "." . substr($sqlDate, 5, 2) . "." . substr($sqlDate, 0, 4); } ?>