1. Import

This commit is contained in:
2026-03-29 10:34:57 +02:00
parent b0e00c1259
commit a1129565af
4899 changed files with 3007593 additions and 0 deletions

101
html/tools/edi_scnd.php Normal file
View File

@@ -0,0 +1,101 @@
<?php
define("LOG_NAME", "edi_scnd");
include_once("../tools/edi.inc.php");
if (!isset($argv[1]) || $argv[1] == ""):
die("missing parameter\n");
else:
$sql_query = "SELECT trat_serialno FROM phoenix.tourarticle AS ta, phoenix.tourarticleprocess AS tp WHERE ta.trat_id = " . $argv[1] . " AND ta.trat_id = tp.trat_id";
$res = mysql_query($sql_query) or die ($sql_query . ": " . mysql_error());
$row = mysql_fetch_row($res);
$trat_serialno = $row[0];
mysql_free_result($res);
$sql_query = "SELECT count(*) FROM phoenix.tourarticle AS ta, phoenix.tourarticleprocess AS tp WHERE trat_serialno = '" . $trat_serialno . "' AND ta.trat_id = tp.trat_id AND tratp_type = 304";
$res = mysql_query($sql_query) or die ($sql_query . ": " . mysql_error());
$row = mysql_fetch_row($res);
$cnt = $row[0];
mysql_free_result($res);
if ($cnt == 1):
// Erste Auslieferung ohne Erfolg, zweite Auslieferung muss generiert werden
copy_tour($argv[1]);
elseif ($cnt > 1):
// Zweite Auslieferung ohne Erfolg, keine weitere Auslieferung mehr
//"416" => "640", // "Undeliverable, return to sender (Amazon)",
$sql_query = "SELECT tr.jb_id, tr.tr_sort, tr_comp, tr_person, tr_comp2, tr_hsno, tr_cs_freetext, trat_serialno, ad_zipcode, ad_city, ad_street, hq_id " .
" FROM phoenix.tourarticle AS ta, phoenix.tour AS tr, phoenix.address AS ad, phoenix.job AS jb WHERE trat_id = " . $argv[1] . " AND ta.jb_id = tr.jb_id AND ta.tr_sort = tr.tr_sort AND ad.ad_id = tr.ad_id AND tr.jb_id = jb.jb_id";
$res = mysql_query($sql_query) or die ($sql_query . ": " . mysql_error());
$row = mysql_fetch_array($res, MYSQL_ASSOC);
$mailObj = new htmlMimeMail();
$mailObj->setFrom($mailaddr[$row["hq_id"]]["from"]);
// $mailObj->setCc("leier@stadtbote.de");
$mailObj->setBcc($mailaddr[$row["hq_id"]]["bcc"]);
$mailObj->setSubject($row["trat_serialno"] . " - Zweite Zustellung gescheitert");
$mailObj->setText(
"Zweiter Auslieferungsversuch erfolglos:\n\n" .
"Track-id: " . $row["trat_serialno"] . "\n" .
"Adresse: " . $row["tr_comp"] . ", " . $row["ad_street"] . " " . $row["tr_hsno"] . ", " . $row["ad_zipcode"] . " " . $row["ad_city"] . "\n" .
"Auftrag:  " . $row["jb_id"] . ", " . "Station Nr. " . $row["tr_sort"] . "\n" .
"Fahrer:  " . $row["tr_cs_freetext"] . "\n" .
"Typ:      " . $row["tr_comp2"] ."\n");
$mailResult = $mailObj->send($mailaddr[$row["hq_id"]]["sendto"], 'smtp');
// $mailResult = $mailObj->send(array(), 'smtp');
writeLog("result of sending mail for jb_id/trsort = '" . $row["jb_id"] . "/" . $row["tr_sort"] . "': '" . $mailResult . "'");
mysql_free_result($res);
endif;
endif;
function copy_tour($trat_id)
{
global $jb_idA;
$sql_query = "SELECT tr.jb_id, tr.tr_sort, ad_id, tr_comp, tr_person, tr_comp2, tr_phone, tr_hsno, tr_remark, tr.csc_id, tr_ware_from_to, tr_cs_freetext, trat_serialno, hq_id" .
" FROM phoenix.tourarticle AS ta, phoenix.tour AS tr, phoenix.job AS jb WHERE trat_id = $trat_id AND ta.jb_id = tr.jb_id AND ta.tr_sort = tr.tr_sort AND tr.jb_id = jb.jb_id";
$res = mysql_query($sql_query) or die ($sql_query . ": " . mysql_error());
$row = mysql_fetch_array($res, MYSQL_ASSOC);
$jb_id_new = $jb_idA[$row["hq_id"]][$row["tr_comp2"]];
if ($row["tr_comp2"] == "STBX_TIMED")
$jb_id_new = $jb_idA[$row["hq_id"]]["STBX_NEXT"];
do {
$sql_query = "SELECT jb_status FROM phoenix.job WHERE jb_id = $jb_id_new";
$res1 = mysql_query($sql_query) or die ($sql_query . ": " . mysql_error());
$row1 = mysql_fetch_array($res1, MYSQL_ASSOC);
if ($row1["jb_status"] == 997):
writeLog("waiting for running 'edi_iftmin.php' to terminate...");
sleep(10); // wait 10 seconds...
endif;
mysql_free_result($res1);
} while ($row1["jb_status"] == 997);
$sql_query = "SELECT trat_serialno FROM phoenix.tourarticle WHERE jb_id = $jb_id_new AND trat_serialno = '" . $row["trat_serialno"] . "'";
$res2 = mysql_query($sql_query) or die ($sql_query . ": " . mysql_error());
writeLog("[$sql_query]");
if ($row2 = mysql_fetch_row($res2)):
writeLog("not copying undelivered tourstop: trat_id = $trat_id, jb_id = '" . $row["jb_id"] . "', tr_sort = '" . $row["tr_sort"] . "': '" . $row["trat_serialno"] . "' was already previously copied to jb_id = '$jb_id_new'");
else:
$sql_query = "SELECT MAX(tr_sort) FROM phoenix.tour WHERE jb_id = " . $jb_id_new;
$res1 = mysql_query($sql_query) or die ($sql_query . ": " . mysql_error());
$row1 = mysql_fetch_row($res1);
$tr_sort_new = $row1[0] + 1;
if ($tr_sort_new == 1)
$tr_sort_new = 2;
mysql_free_result($res1);
writeLog("copying undelivered tourstop: trat_id = $trat_id, jb_id = '" . $row["jb_id"] . "', tr_sort = '" . $row["tr_sort"] . "' => jb_id_new = '$jb_id_new', tr_sort_new = '$tr_sort_new'");
exec_query("UPDATE phoenix.job SET jb_status = 999 WHERE jb_id = $jb_id_new AND jb_status != 999");
// writeLog("UPDATE phoenix.job SET jb_status = 999 WHERE jb_id = $jb_id_new AND jb_status != 999");
exec_query("INSERT INTO phoenix.tour (jb_id, ad_id, tr_sort, tr_comp, tr_person, tr_comp2, tr_phone, tr_hsno, tr_remark, csc_id, tr_ware_from_to, tr_status, tr_cs_freetext, tr_mediationarea_id)" .
" VALUES (" . $jb_id_new . ", " . $row["ad_id"] . ", " . $tr_sort_new . ", '*" . my_str_check_edi($row["tr_comp"]) . "', '" . my_str_check_edi($row["tr_person"]) . "', '" . $row["tr_comp2"] . "', '" .
$row["tr_phone"] . "', '" . my_str_check_edi($row["tr_hsno"]) . "', '" . my_str_check_edi($row["tr_remark"]) . "', " . $row["csc_id"] . ", " . $row["tr_ware_from_to"] . ", 0, '" . $row["tr_cs_freetext"] . "', 0)");
exec_query("INSERT INTO phoenix.tourarticle (jb_id, tr_sort, trat_serialno) VALUES ($jb_id_new, $tr_sort_new, '" . $row["trat_serialno"] . "')");
endif;
mysql_free_result($res2);
mysql_free_result($res);
}
?>