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" .
" " . round($amount, 2) . "" .
" " .
" " .
//
" " .
" " .
" Invoice amount" .
" " . (round($amount, 2) + 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" .
" " . round($amount, 2) . "" .
" " .
" " .
//
" " .
" " . $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);
}
?>