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

View File

@@ -0,0 +1,713 @@
<?php
/*=======================================================================
*
* import_JOBS_BY_PRICEMATRIX.php
*
* Autor: Marc Vollmann
*
=======================================================================*/
// $doNotIncludeGeocode = true;
include_once ("../import/import.php");
include_once ("../include/inc_vehicle.inc.php");
include_once ("../include/inc_job.inc.php");
// Execution-Time for script
set_time_limit(0);
// Check HTTP-Parameters
getSecHttpVars("1",array("f_act", "statusMessage", "importFile", "executeImportProcess", "deactivateMenu", "objType", "objId"));
getLanguage(__FILE__);
$deactivateMenuStatic = "1";
$pageTitel = getLngt("IMPORT AUFTRÄGE");
include_once ("../admin/menu.php");
include_once ("../include/html.inc.php");
getCurrentScript(__FILE__);
// Get special user types from parameter
$specialUserTypeIsLoggedIn = false;
$specialUserType = "";
$specialUserHqId = "";
$specialUserFTPServerList = "";
$specialUserDirSpecialForObjType = "";
$userTypesSpecialArray = getDatatransferSpecialUserData($userType);
if (count($userTypesSpecialArray) > 0) :
$specialUserTypeIsLoggedIn = true;
list($specialUserType, $specialUserHqId, $specialUserFTPServerList, $specialUserObjType, $specialUserObjId, $specialUserDirSpecialForObjType) = $userTypesSpecialArray;
if ($objType == $specialUserObjType && $objId == $specialUserObjType) :
$hqId = $specialUserHqId;
endif;
endif;
// Check for authentication access
$empHasAdminRights = false;
if (!$specialUserTypeIsLoggedIn) :
$usrAccessArray["hq"] = "1";
authCheckForAccess($hq_id, $usr_id, $emp_id, "1", $customerId, $cscIdRoot, $cscIdActual);
if (!(authCheckEmployeeRights($emp_id, "22"))) : gotoReferer("1"); endif;
$empIdRootAdmin = getEmpIdOfRootAdmin($userTypeName);
if ($empIdRootAdmin != "" && $emp_id == $empIdRootAdmin) :
$empHasAdminRights = true;
endif;
endif;
$debug = false;
if ($empIdRootAdmin == $emp_id) :
$debug = false;
endif;
if ($f_act != "executeImport" || $executeImportProcess != "1") : $executeImportProcess = ""; endif; // Execute import after check run
$showExecutionProcessButton = true;
$outText = "";
$closeWindow = "0";
$delimiter = ";";
$fire = true; // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
$currentDate = getDateTime(3);
$objType = strtolower($objType);
// Import for special customer ONLY !!!!
$csId = "";
$csEid = "";
$cscIdPayer = "";
if ($objType == "cs" && $objId != "" && is_numeric($objId)) :
$csId = $objId;
endif;
if ($objType == "csc" && $objId != "" && is_numeric($objId)) :
$cscIdPayer = $objId;
$csId = getFieldValueFromClause("costcenter", "cs_id", "csc_id = '" . $cscIdPayer . "'");
endif;
$csAddress = array();
$adIdFrom = 0;
if ($csId != "") :
$hqId = getFieldValueFromClause("customer", "hq_id", "cs_id = '" . $csId . "'");
$csEid = getFieldValueFromClause("customer", "cs_eid", "cs_id = '" . $csId . "'");
// $csAddress = getAddress($csId, "customer");
$csAddress = getAddress($csId, "costcenteraddress");
$adIdFrom = $csAddress["id"];
$trHsnoFrom = $csAddress["hsno"];
if ($trHsnoFrom == "") : $trHsnoFrom = "."; endif;
$trCompFrom = $csAddress["comp"];
if ($trCompFrom == "") : $trCompFrom = "JOBS_BY_PRICEMATRIX"; endif;
$trFloorFrom = "";
// USE FOLLOWING FIX ADDRESS
// $adIdFrom = "220594"; // Invoice address
// $adIdFrom = "125964"; // Pick-up address
// $trHsnoFrom = "4";
endif;
if ($hqId == "") :
$hqId = $hq_id;
endif;
$cscIdPayerExtern = getParameterValue("0", "CSC_ID_PAYER_EXTERN", $hqId);
$pickUpStationFinishedByDefault = true;
// Tourdata array
$jbTourdata = "";
$jbTourdataZipcodeArray = array();
$jbTourdataCityArray = array();
$jbTourdataCountryArray = array();
// Current file to be imported
$importFile = urldecode($importFile);
$posLastSlash = strripos($importFile, "/");
$posLastSlash++;
$pathname = substr($importFile, 0, $posLastSlash);
$filename = substr($importFile, $posLastSlash);
$outText = "<span class=\"f10bp1_blue\">" . getLngt("IMPORTDATEI:") . "</span>&nbsp;" . $filename . "<br><br>";
// Mapping "tour id" to "vehicle SID"
$tourVehicleArray = array();
/*
if ($hqId == "nnn") :
// NL X
$tourVehicleArray["294501"] = "E501";
$tourVehicleArray["294502"] = "E502";
$tourVehicleArray["294503"] = "E503";
$tourVehicleArray["294504"] = "E504";
....
elseif ($hqId == "mmm") :
// NL Y
endif;
*/
/*
BSP.:
TOUR_NO SID EID NAME FIRSTNAME
294501 E501  e8020201  Schmidt   Alexander  0176 62283533
294502 E502  e8020202  Brazinskas  Zilvinas  0152 55904274
294503 E503  e8020203  Orakov   Anton  0152 01985959
294504 E504  e8020204  Isaak   Alexander  0152 53172115
....
$tourCourierArray = array();
$tourCourierArray["294501"] = "e8020201";
$tourCourierArray["294502"] = "e8020202";
$tourCourierArray["294503"] = "e8020203";
$tourCourierArray["294504"] = "e8020204";
....
*/
$tourCourierArray = array();
/*
if ($hqId == "nnn") :
// NL X
$tourCourierArray["294590"] = "e8020401"; // stepenka 01
$tourCourierArray["294501"] = "e8020402"; // stepenka 02
$tourCourierArray["294502"] = "e8020403"; // stepenka 03
$tourCourierArray["294503"] = "e8020404"; // stepneka 04
....
elseif ($hqId == "mmm") :
// NL Y
endif;
// SID array (fix!)
$tourSIDArray = array();
if ($hqId == "107") :
// NL X
$tourSIDArray["294590"] = "E355";
$tourSIDArray["294501"] = "E356";
$tourSIDArray["294502"] = "E357";
$tourSIDArray["294503"] = "E358";
....
elseif ($hqId == "110") :
// NL Y
endif;
*/
function mcStrWrap($aStr)
{
$aStr = str_replace("'", "", $aStr);
$aStr = removeFieldSigns($aStr);
// $aStr = str_replace("'", "\'", $aStr);
$aStr = str_replace("\"", '', $aStr);
return $aStr;
}
if ($importFile != "" && $hqId != "" && is_numeric($hqId) && $csId != "" && is_numeric($csId)) :
if (file_exists($importFile)) :
$currentTime = getDateTime("0");
// ***********************
// * IMPORT FILE article *
// ***********************
if (!(strpos($filename, $csEid . "_import_JOBS_BY_PRICEMATRIX_") === false)) :
$executionCount = 0;
$insertCount = 0;
$updateCount = 0;
$failedCount = 0;
$remTourNo = "";
$jbIdNew = 0;
$trSort = 2; // Init for 2nd station equals first delivery !!!!
$tratSort = 1; // Init all serial numbers !!!!
$jobNewArray = array();
$useJbNewArray = false;
$rowToImport = array();
$parImportFieldsGroup == "";
if ($groupId != "") :
$parImportFieldsGroup = getParameterValue("0", "IMPORT_JOBS_BY_PRICEMATRIX_JOB_FIELDS", "0");
endif;
if ($parImportFieldsGroup != "") :
$rowToImport = spliti(",", $parImportFieldsGroup);
else :
$rowToImport[0] = "f_tour_no"; // A : Tournr. / Tourbezeichnung
$rowToImport[1] = "f_shipment_mode"; // B : Lieferung/Abholung
$rowToImport[2] = "f_tr_orderdate"; // C : Ausführungsdatum / Ausführungszeitstempel
$rowToImport[3] = "f_tr_warningdate"; // D : Zustellungsdatum
$rowToImport[4] = "f_tr_starttime"; // E : Zustellung von
$rowToImport[5] = "f_tr_endtime"; // F : Zustellung bis
$rowToImport[6] = "f_tr_commission_no"; // G : Lieferscheinnummer
$rowToImport[7] = "f_order_id"; // H : Kundenauftragsnummer
$rowToImport[8] = "f_cs_id_external"; // I : Kundennummer extern / Lieferantennummer
$rowToImport[9] = "f_cs_eid"; // J : Kundenummer (EID,intern)
$rowToImport[10] = "f_tr_comp"; // K : Firma
$rowToImport[11] = "f_tr_comp2"; // L : Firma Zusatz
$rowToImport[12] = "f_special_01"; // M : Besteller
$rowToImport[13] = "f_ad_street"; // N : Straße
$rowToImport[14] = "f_tr_hsno"; // O : Hausnummer
$rowToImport[15] = "f_tr_floor"; // P : Etage
$rowToImport[16] = "f_ad_zipcode"; // Q : PLZ
$rowToImport[17] = "f_ad_city"; // R : Ort
$rowToImport[18] = "f_ad_country"; // S : Land
$rowToImport[19] = "f_ad_supplement_1"; // T : Adresszusatz I
$rowToImport[20] = "f_ad_supplement_2"; // U : Adresszusatz II
$rowToImport[21] = "f_tr_person"; // V : Ansprechpartner
$rowToImport[22] = "f_tr_phone"; // W : Telefon
$rowToImport[23] = "f_special_02"; // X : Mobiltelefonnummer
$rowToImport[24] = "f_special_03"; // Y : Emailadresse
$rowToImport[25] = "f_tr_remark"; // Z : Bemerkung / Zustellinfo
$rowToImport[26] = "f_id"; // AA: Sendungsidentifikationsnummer
$rowToImport[27] = "f_trat_packingpieces"; // AB: Packstücke
$rowToImport[28] = "f_trat_palets"; // AC: Paletten
$rowToImport[29] = "f_trat_weight"; // AD: Gewicht
$rowToImport[30] = "f_special_04"; // AE: Stellplätze
$rowToImport[31] = "f_special_05"; // AF: Warenart
$rowToImport[32] = "f_zone_no"; // AG: Zone
$rowToImport[33] = "f_special_06"; // AH: Inkasso/Rückführung
$rowToImport[34] = "f_price_type"; // AI: Preistyp
$rowToImport[35] = "f_service_type"; // AJ: Leistungstyp
$rowToImport[36] = "f_dummy_01"; // AK: DUMMY_01
endif;
$rowToImportLen = count($rowToImport);
// Read file to import
$data = importCSV($importFile, $delimiter, "1");
$dataLen = count($data);
// Loop all rows (EXCEPT header row [$j = 1])
for ($j = 0; $j < $dataLen; $j++) {
// Loop for all fields of $fields of the row
for ($i = 0; $i < $rowToImportLen; $i++) {
${$rowToImport[$i]} = $data[$j][$i];
}
$f_tour_no = mcStrWrap($f_tour_no); // Tournr. / Tourbezeichnung
$f_shipment_mode = mcStrWrap($f_shipment_mode); // Lieferung/Abholung
$f_tr_ware_from_to = 0;
if ($f_shipment_mode == "R") :
$f_tr_ware_from_to = 1;
elseif ($f_shipment_mode == "L") :
$f_tr_ware_from_to = 2;
endif;
$f_tr_orderdate = mcStrWrap($f_tr_orderdate); // Ausführungsdatum / Ausführungszeitstempel
$f_tr_warningdate = mcStrWrap($f_tr_warningdate); // Zustellungsdatum
$f_tr_starttime = mcStrWrap($f_tr_starttime); // Zustellung von
$f_tr_endtime = mcStrWrap($f_tr_endtime); // Zustellung bis
$f_tr_commission_no = mcStrWrap($f_tr_commission_no); // Lieferscheinnummer
$f_order_id = mcStrWrap($f_order_id); // Kundenauftragsnummer
$f_cs_id_external = mcStrWrap($f_cs_id_external); // Kundennummer extern / Lieferantennummer
$f_cs_eid = mcStrWrap($f_cs_eid); // Kundenummer (votian)
$f_tr_comp = mcStrWrap($f_tr_comp); // Firma
$f_tr_comp2 = mcStrWrap($f_tr_comp2); // Firma Zusatz
$f_special_01 = mcStrWrap($f_special_01); // Besteller
$f_ad_street = mcStrWrap($f_ad_street); // Straße
$f_tr_hsno = mcStrWrap($f_tr_hsno); // Hausnummer
if ($f_tr_hsno == "") : $f_tr_hsno = "."; endif;
$f_tr_floor = mcStrWrap($f_tr_floor); // Etage
$f_ad_zipcode = mcStrWrap($f_ad_zipcode); // PLZ
$f_ad_city = mcStrWrap($f_ad_city); // Ort
$f_ad_country = mcStrWrap($f_ad_country); // Land
if ($f_ad_country == "" || $f_ad_country == "D") : $f_ad_country = "DE"; endif;
$f_ad_supplement_1 = mcStrWrap($f_ad_supplement_1); // Adresszusatz I
$f_ad_supplement_2 = mcStrWrap($f_ad_supplement_2); // Adresszusatz II
$f_tr_person = mcStrWrap($f_tr_person); // Ansprechpartner
$f_tr_phone = mcStrWrap($f_tr_phone); // Telefon
$f_special_02 = mcStrWrap($f_special_02); // Mobiltelefonnummer
$f_special_03 = mcStrWrap($f_special_03); // Emailadresse
$f_tr_remark = mcStrWrap($f_tr_remark); // Bemerkung / Zustellinfo
$f_id = mcStrWrap($f_id); // Sendungsidentifikationsnummer
$f_trat_packingpieces = mcStrWrap($f_trat_packingpieces); // Packstücke
$f_trat_palets = mcStrWrap($f_trat_palets); // Paletten
$f_trat_weight = mcStrWrap($f_trat_weight); // Gewicht
$f_trat_weight = str_replace (",", ".", $f_trat_weight);
$f_special_04 = mcStrWrap($f_special_04); // Stellplätze
$f_special_05 = mcStrWrap($f_special_05); // Warenart
$f_zone_no = mcStrWrap($f_zone_no); // Zone
$f_special_06 = mcStrWrap($f_special_06); // Inkasso/Rückführung
$f_price_type = mcStrWrap($f_price_type); // Preistyp
$f_service_type = mcStrWrap($f_service_type); // Leistungstyp
$f_dummy_01 = mcStrWrap($f_dummy_01);
if ($f_special_01 != "") : $f_tr_remark .= "\n<br>" . getLngt("Besteller") . ": " . $f_special_01; endif;
if ($f_special_02 != "") : $f_tr_remark .= "\n<br>" . getLngt("Mobiltelefonnummer") . ": " . $f_special_02; endif;
if ($f_special_03 != "") : $f_tr_remark .= "\n<br>" . getLngt("Emailadresse") . ": " . $f_special_03; endif;
if ($f_id != "") : $f_tr_remark .= "\n<br>" . getLngt("Sendungs-ID") . ": " . $f_id; endif;
if ($f_trat_packingpieces != "") : $f_tr_remark .= "\n<br>" . getLngt("Packstücke") . ": " . $f_trat_packingpieces; endif;
if ($f_trat_palets != "") : $f_tr_remark .= "\n<br>" . getLngt("Paletten") . ": " . $f_trat_palets; endif;
if ($f_trat_weight != "") : $f_tr_remark .= "\n<br>" . getLngt("Gewicht") . ": " . $f_trat_weight; endif;
if ($f_special_04 != "") : $f_tr_remark .= "\n<br>" . getLngt("Stellplätze") . ": " . $f_special_04; endif;
if ($f_special_05 != "") : $f_tr_remark .= "\n<br>" . getLngt("Warenart") . ": " . $f_special_05; endif;
if ($f_zone_no != "") : $f_tr_remark .= "\n<br>" . getLngt("Zone") . ": " . $f_zone_no; endif;
if ($f_special_06 != "") : $f_tr_remark .= "\n<br>" . getLngt("Inkasso/Rückführung") . ": " . $f_special_06; endif;
if ($f_price_type != "") : $f_tr_remark .= "\n<br>" . getLngt("Preistyp") . ": " . $f_price_type; endif;
if ($f_service_type != "") : $f_tr_remark .= "\n<br>" . getLngt("Leistungstyp") . ": " . $f_service_type; endif;
// Set vehicle and courier
$crId = "";
/*
$crSid = $tourVehicleArray[$f_tour_no];
if ($crSid != "") :
$crId = getFieldValueFromId("courier","cr_sid",$crSid,"cr_id");
endif;
*/
$crEid = $tourCourierArray[$f_tour_no];
if ($crEid != "") :
$crId = getFieldValueFromId("courier","cr_eid",$crEid,"cr_id");
$crSid = $tourSIDArray[$f_tour_no];
endif;
$jbStatus = "9";
$jbTaketime = "";
if ($crId != "" && is_numeric($crId)) :
// $jbStatus = "1"; // jb_status will be set after the whole job is generated
$jbTaketime = $currentTime;
$useJbNewArray = true;
endif;
$jbType = "";
$jbFinishtime = "";
$jbRemark = "";
$vhtId = "";
$jbCrFilter = "";
$sum_totalprice = 0;
$f_jb_cr_price = 0;
$jbCrvhWeight = 0;
$jbCrvhLength = 0;
$jbCrvhWidth = 0;
$jbCrvhHeight = 0;
$jbCrvhPosition = 0;
echo $f_id . ";" . $f_tour_no . ";" . $f_shipment_mode . ";" . $f_jb_orderdate . ";" . $f_jb_warningdate . ";" . $f_jb_starttime . ";" . $f_jb_endtime . ";";
echo $f_tr_commission_no . ";" . $f_order_id . ";" . $f_cs_id_external . ";" . $f_cs_eid . ";" . $f_tr_comp . ";" . $f_tr_comp2 . ";" . $f_special_01 . ";";
echo $f_tr_remark . ";" . $f_ad_street . ";" . $f_tr_hsno . ";" . $f_tr_floor . ";" . $f_ad_zipcode . ";" . $f_ad_city . ";" . ";" . $f_ad_country;
echo $f_ad_supplement_1 . ";" . $f_ad_supplement_2 . ";" . $f_tr_person . ";" . $f_tr_phone . ";" . $f_special_02 . ";" . $f_special_03 . ";" . ";" . $f_tr_remark;
echo $f_trat_packingpieces . ";" . $f_trat_palets . ";" . $f_trat_weight . ";" . $f_special_04 . ";" . $f_special_05 . ";";
echo $f_zone_no . ";" . $f_special_06 . ";" . $f_price_type . ";" . $f_service_type . ";";
echo "<br>";
echo "----------------------------------------------------------------------------------------------------------------------------------------------<br>";
// Check for existence of the imported order number (for the same day ONLY)
$gdcEntryExists = false;
// if (existsEntry("genericdatacontainer",array("gdc_obj_type","tr","gdc_gen_fieldname","info_2","gdc_content",$f_tr_commission_no,"gdc_context","JOBS_BY_PRICEMATRIX"))) :
if (existsEntry("genericdatacontainer",array("gdc_obj_type","tr","gdc_gen_fieldname","check_exist","gdc_content",$f_tr_commission_no . "_" . $currentDate,"gdc_context","JOBS_BY_PRICEMATRIX"))) :
$gdcEntryExists = true;
endif;
// Do NOT import if JOBS_BY_PRICEMATRIX number does exist on the current day!!!!
if (!$gdcEntryExists) :
// Insert new article
if ($executeImportProcess == "1") :
TA("B");
if ($cscIdPayer == "") :
// Get root costcenter
$cscIdPayer = getFieldValueFromClause("costcenter", "csc_id", "cs_id = '" . $csId . "' AND (isnull(csc_pre_id) OR csc_pre_id = '')");
endif;
/*
$crId = "";
$crSid = "";
if ($crvhId != "") :
$crId = getFieldValueFromId("couriervehicle","crvh_id",$crvhId,"cr_id");
if ($crId != "") :
$crSid = $vhtPrefix . $f_crvh_sid;
endif;
endif;
*/
$txValue = "4";
$txSign = "V";
$callInsertAddress = true;
if ($f_cs_eid != "") :
$csEndId = getFieldValueFromId("customer","cs_eid",$f_cs_eid,"cs_id");
if ($csEndId != "") :
$csEndAddress = getAddress($csEndId, "costcenteraddress");
$adIdCsEnd = $csEndAddress["id"];
if ($adIdCsEnd != "") :
$callInsertAddress = false;
endif;
$f_ad_street = $csEndAddress["street"];
$f_tr_hsno = $csEndAddress["hsno"];
$f_ad_zipcode = $csEndAddress["zipcode"];
$f_ad_city = $csEndAddress["city"];
$f_ad_country = $csEndAddress["country"];
if ($f_ad_country == "") :
$f_ad_country = "DE";
endif;
endif;
endif;
$noValidationOfAddress = true;
// Insert address
if ($callInsertAddress) :
$tmpArray = insertAddress($f_ad_street, $f_ad_zipcode, $f_ad_city, "", $f_ad_country, $noValidationOfAddress);
$ad_id_new = $tmpArray[0];
endif;
$outText .= "AD_ID : " . $ad_id_new . " | ";
if ($fire) :
// Insert new job because new cartage note does begin
if ($remTourNo == "" || $remTourNo != $f_tour_no) :
$jbIdNew = "";
// Start datetime
if ($f_tr_starttime == "") : $f_tr_starttime = "08:00"; endif;
$f_jb_ordertime = substr($f_tr_orderdate, 0,4) . "-" . substr($f_tr_orderdate, 4,2) . "-" . substr($f_tr_orderdate, 6,2) . " " . $f_tr_starttime . ":00";
// End datetime
$f_jb_warningtime = "";
if ($f_tr_endtime == "") : $f_tr_endtime = "18:00"; endif;
/*
if ($f_jb_warningdate != "") :
$f_jb_warningtime = substr($f_tr_warningdate, 0,4) . "-" . substr($f_tr_warningdate, 4,2) . "-" . substr($f_tr_warningdate, 6,2);
if ($f_tr_warningdate != "") :
$f_jb_warningtime .= " " . $f_tr_endtime . ":00";
endif;
endif;
*/
// Remove existing tourname
updateStmt("job","jb_tourname",$f_tour_no,array("jb_tourname",""), "jb_tourname = '" . $f_tour_no . "'");
// Insert job
insertStmt("job", array("hq_id", $hqId, "csc_id", "", "vht_id", $vhtId, "csc_id_payer", $cscIdPayer, "csc_id_related", "0", "jb_payment", "0",
"jb_ordertime", $f_jb_ordertime, "jb_reserv", "1", "cr_id", $crId, "cr_sid", $crSid, "cr_id_order", $crId,
"jb_cr_filter", $jbCrFilter, "jb_cr_filter_opt", "", "jb_waitstorno", "0",
"jb_taketime", $jbTaketime, "jb_status", $jbStatus, "jb_autoranking", "0", "jb_type", $jbType,
"jb_incomplete", "0", "jb_globaljob", "0", "jb_tourname", $f_tour_no,
"jb_finishtime", $jbFinishtime, "jb_warningtime", $f_jb_warningtime, "emp_id", $usr_id,
"jb_serviceprice", "0", "jb_fixprice", $sum_totalprice, "jb_totalprice", $sum_totalprice, "jb_subtotalprice", $sum_totalprice,
"jb_cr_price", $f_jb_cr_price, "jb_cr_subprice", $f_jb_cr_price,
"jb_postage", "0", "jb_freetext_1", $jbRemark,
"jb_weight", $jbCrvhWeight, "jb_crvh_length", $jbCrvhLength, "jb_crvh_width", $jbCrvhWidth,
"jb_crvh_height", $jbCrvhHeight, "jb_crvh_position", $jbCrvhPosition,
"jb_tourdata", $jbTourdata, "jb_lockuser", "0", "jb_id_parent", "0", "jb_dispoinfo", "",
"jb_sales_tax_rate", $txValue, "jb_sales_tax_rate_sign", $txSign, "jb_timeunits", "0",
"jb_service", "", "jb_booktime", ""));
$jbIdNew = getLastInsertId();
$jobNewArray[] = $jbIdNew;
// Tour-Nr. "$f_tour_no"
insertStmt("genericdatacontainer", array("gdc_obj_type", "jb", "gdc_obj_id", $jbIdNew, "gdc_gen_fieldname", "tourname", "gdc_content", $f_tour_no, "gdc_context", "JOBS_BY_PRICEMATRIX"));
$trSort = 2; // Init for 2nd station equals first delivery !!!!
$tratSort = 1; // Init all serial numbers !!!!
$remTourNo = $f_tour_no;
endif;
// Check for inserted job
if ($jbIdNew != "") :
// Insert stations
if ($trSort == 2) :
$trStatus = "0";
$trFinishtime = "";
if ($pickUpStationFinishedByDefault) :
$trStatus = "1";
$trFinishtime = $currentTime;
endif;
// Insert pick up station during first iteration
insertStmt("tour", array("jb_id", $jbIdNew, "ad_id", $adIdFrom, "tr_sort", "1", "tr_comp", $trCompFrom, "tr_comp2", "",
"tr_hsno", $trHsnoFrom, "tr_floor", $trFloorFrom, "csc_id", $cscIdPayer, "tr_status", $trStatus, "tr_finishtime", $trFinishtime,
"tr_commission_no", "", "tr_ware_from_to", $f_tr_ware_from_to,
"tr_person", "", "tr_phone", "", "tr_remark", ""));
$trIdPickUpNew = getLastInsertID();
// Init array für jb_tourdata
$jbTourdataZipcodeArray[$jbIdNew][] = $csAddress["zipcode"];
$jbTourdataCityArray[$jbIdNew][] = $csAddress["city"];
$jbTourdataCountryArray[$jbIdNew][] = $csAddress["country"];
endif;
insertStmt("tour", array("jb_id", $jbIdNew, "ad_id", $ad_id_new, "tr_sort", $trSort, "tr_comp", $f_tr_comp, "tr_comp2", "",
"tr_hsno", $f_tr_hsno, "tr_floor", $f_tr_floor, "csc_id", $cscIdPayerExtern, "tr_status", "0",
"tr_commission_no", $f_tr_commission_no, "tr_ware_from_to", "",
"tr_person", $f_tr_person, "tr_phone", $f_tr_phone, "tr_remark", $f_tr_remark, "tr_cs_freetext", $f_tr_cs_freetext));
$trIdNew = getLastInsertID();
$jbTourdataZipcodeArray[$jbIdNew][] = $f_ad_zipcode;
$jbTourdataCityArray[$jbIdNew][] = $f_ad_city;
$jbTourdataCountryArray[$jbIdNew][] = $f_ad_country;
// Insert tourservice data
// !!!! MIT tr_id !!!! insertStmt("tourservice", array("tr_id", $trIdNew, "jb_id", $jbIdNew, "csc_id", $cscIdPayer, "tr_sort", $trSort,
insertStmt("tourservice", array("tr_id", $trIdNew, "jb_id", $jbIdNew, "csc_id", $cscIdPayer, "tr_sort", $trSort,
"srv_id", "0", "trs_srv_name", "Fixpreis", "srvt_id", "0", "trs_srvt_name", "",
"trs_price", $sum_totalprice));
// Generate invoice text
// mk_jb_invtext($jbIdNew, false);
// ****
// Special patch because of "bug" in function "mk_jb_invtext()"
if ($jbIdNew != "" && is_numeric($jbIdNew)) :
// updateStmt("job","jb_id",$jbIdNew,array("jb_tourdata",$jbTourdata));
endif;
// ****
// Fremdauftragsnummer "$f_order_id"
insertStmt("genericdatacontainer", array("gdc_obj_type", "tr", "gdc_obj_id", $trIdNew, "gdc_gen_fieldname", "info_0", "gdc_content", $f_order_id, "gdc_context", "JOBS_BY_PRICEMATRIX"));
// Kundennummer "$f_cs_id_external"
insertStmt("genericdatacontainer", array("gdc_obj_type", "tr", "gdc_obj_id", $trIdNew, "gdc_gen_fieldname", "info_1", "gdc_content", $f_cs_id_external, "gdc_context", "JOBS_BY_PRICEMATRIX"));
insertStmt("genericdatacontainer", array("gdc_obj_type", "tr", "gdc_obj_id", $trIdNew, "gdc_gen_fieldname", "info_cust_no", "gdc_content", $f_cs_id_external, "gdc_context", "JOBS_BY_PRICEMATRIX"));
// Lieferscheinnummer "$f_tr_commission_no"
insertStmt("genericdatacontainer", array("gdc_obj_type", "tr", "gdc_obj_id", $trIdNew, "gdc_gen_fieldname", "info_2", "gdc_content", $f_tr_commission_no, "gdc_context", "JOBS_BY_PRICEMATRIX"));
insertStmt("genericdatacontainer", array("gdc_obj_type", "tr", "gdc_obj_id", $trIdNew, "gdc_gen_fieldname", "check_exist", "gdc_content", $f_tr_commission_no . "_" . $currentDate, "gdc_context", "JOBS_BY_PRICEMATRIX"));
// Insert tourarticle data (delivery stations)
insertStmt("tourarticle", array("tr_id", $trIdNew, "jb_id", $jbIdNew, "tr_sort", $trSort, "trat_sort", "1", "at_id", "", "trat_quantity", "0",
"trat_weight", $f_trat_weight, "trat_price", "0", "trat_packingpieces", $f_trat_packingpieces, "trat_serialno", $f_tr_commission_no,
"trat_remark", $f_trat_remark, "trat_createtime", $currentTime));
// Insert tourarticle data (pick up station only)
// ATTENTION: Execution only if pick-up station is NOT finished by default
if (!$pickUpStationFinishedByDefault) :
insertStmt("tourarticle", array("tr_id", $trIdPickUpNew, "jb_id", $jbIdNew, "tr_sort", "1", "trat_sort", $tratSort, "at_id", "", "trat_quantity", "0",
"trat_weight", $f_trat_weight, "trat_price", "0", "trat_packingpieces", $f_trat_packingpieces, "trat_serialno", $f_tr_commission_no,
"trat_remark", $f_trat_remark, "trat_createtime", $currentTime));
$tratSort++;
endif;
$trSort++;
$executionCount++;
endif;
TA("C");
TA("E");
endif;
endif;
else :
$outText .= getLngt("Der Datensatz existiert schon! Es erfolgte kein Import!") . " [" . $f_order_id . "]<br>";
endif;
}
// Set generated jobs to status "taken"
$jobNewArrayLen = count($jobNewArray);
if ($jobNewArrayLen > 0) :
for ($i = 0; $i < $jobNewArrayLen; $i++) :
// jb_status
// updateStmt("job", "jb_id", $jobNewArray[$i], array("jb_status", "1"));
// jb_tourdata
$jbTourdata = implode(";", $jbTourdataZipcodeArray[$jobNewArray[$i]]) . "|" . implode(";", $jbTourdataCityArray[$jobNewArray[$i]]) . "|" . implode(";", $jbTourdataCountryArray[$jobNewArray[$i]]);
updateStmt("job", "jb_id", $jobNewArray[$i], array("jb_tourdata", $jbTourdata));
endfor;
endif;
$outText .= getLngt("Einträge in der Importdatei: " . $dataLen . "<br>");
$outText .= getLngt("Verarbeitete Einträge: " . $executionCount . "<br>");
else :
$statusMessage .= getLngt("Die angegebene Datei scheint nicht kompatibel zur angeforderten Importfunktionalität!");
endif;
else :
$statusMessage .= getLngt("Die angegebene Datei existiert nicht!");
endif;
else :
$statusMessage .= getLngt("Es wurde keine Datei spezifiziert!");
endif;
?>
<html>
<head>
<title><?php echo $pageTitel ?></title>
<link rel="stylesheet" type="text/css" href="../css/phoenix.css">
<style type="text/css">
<?php include_once ("../css/navigation.css.php"); ?>
</style>
<?php include_once ("../include/js_framework.inc.php"); ?>
<script type="text/javascript">
<!--
// NAVIGATION
<?php echo $jsMenuOut; ?>
function finishPageExecuteImportProcess(f_act) {
document.forms[0].f_act.value=f_act;
document.forms[0].executeImportProcess.value = '1';
document.forms[0].submit();
};
function onBodyLoad() {
displayStatusMessage();
var closeWindow = '<?php echo $closeWindow ?>';
if (closeWindow == '1') {
opener.document.forms[0].submit();
window.close();
};
};
-->
</script>
</head>
<body onLoad="<?php echo $phpCurrentNavigationOnLoad ?>onBodyLoad();">
<?php echo $phpMenuOut ?>
<?php echo $phpReducedMenuOut ?>
<?php echo $phpPageTitelOut ?>
<div class="maincontent" name="maincontent" id="maincontent">
<div>
<form name="import_form" action="../import/import_JOBS_BY_PRICEMATRIX.php" method="post">
<input type="hidden" name="f_act" value="">
<?php echo $phpCurrentNavigationInputHidden ?>
<input type="hidden" name="deactivateMenu" value="<?php echo ec($deactivateMenu) ?>">
<input type="hidden" name="importFile" value="<?php echo $importFile; ?>">
<input type="hidden" name="executeImportProcess" value="<?php echo $executeImportProcess; ?>">
<input type="hidden" name="objType" value="<?php echo $objType; ?>">
<input type="hidden" name="objId" value="<?php echo $objId; ?>">
<?php echo htmlDivLineSpacer("10px"); ?>
<?php
if ($showExecutionProcessButton && $executeImportProcess != "1") :
echo defineButtonType10(getLngt("Import starten"), "action_import", "finishPageExecuteImportProcess('executeImport');", "200");
echo htmlDivLineSpacer("5px");
echo defineButtonType10(getLngt("Schließen"), "action_close", "window.close();", "200");
echo htmlDivLineSpacer("5px");
endif;
?>
<?php echo htmlDivLineSpacer("20px"); ?>
<div>
<table border="1" margin="10" padding="10">
<tr>
<td style="vertical-align:top;">
<?php echo $outText; ?>
</td>
</tr>
</table>
</div>
</form>
</div>
</div>
</body>
</html>